int start() { static double preBid = 0.0; double curBid = Bid; if ( preBid > 0.0 ) { Alert( "Разница = ", DoubleToStr( curBid - preBid, Digits ) ); } preBid = curBid; return(0); }
Поищи в Code Base советник Lucky.
Там это хорошо прописано.
Я так понимаю что ты хочеш повторить его результаты?
komposter:
int start() { static double preBid = 0.0; double curBid = Bid; if ( preBid > 0.0 ) { Alert( "Разница = ", DoubleToStr( curBid - preBid, Digits ) ); } preBid = curBid; return(0); }
Спасибо за помощь.
Еще нашел на форуме.
int price_prev; void start() { int price=MathRound(Bid/Point); if (price_prev==price) return; Print("Цена изменилась на ",price-price_prev," пунктов"); price_prev=price; }
Я пытаюсь написать индикатор в виде гистограммы
который бы показывал разницу накопленных положительных значений
с отрицательными значениями соответственно под каждым баром
Примерно как индикатор Volumes, только Volumes накапливает кол. тиков и постоянно
находится выше нуля.
Может кто-то уже делал это, дайте ссылку.
И как можно посмотреть код индикатора Volumes.
На данный момент неполучаеться накапливать значения
с помощью оператора if роспределяю отрицательные отдельно,
а положительные отдельно, только они почему-то не сумируються
int price_prev; // Глобальная перемен. //-------------------------------------------------------------------- int init() // Спец. ф-ия init() { Alert ("Сработала ф-ия init() при запуске"); // Сообщение return; // Выход из init() } //-------------------------------------------------------------------- int start() { int price=MathRound(Bid/Point),r,p,m; if (price_prev==price) return; r=price-price_prev; if(r>0&&r<100) { p+=r; } if(r<0) { m+=r; } Alert("Пол ",p," отр",m); price_prev=price; }
komposter:
p и m надо тоже определить на глобальном уровне, либо сделать статическими.
Индикатор посмотреть в CodeBase - Volumes
p и m надо тоже определить на глобальном уровне, либо сделать статическими.
Индикатор посмотреть в CodeBase - Volumes
Да, спасибо, получилось
int price_prev,s; // Глобальная перемен. //-------------------------------------------------------------------- int init() { } //-------------------------------------------------------------------- int start() { int price=MathRound(Bid/Point),r,p,m; if (price_prev==price) return; r=price-price_prev; if(r>0&&r<100) { p+=r; } if(r<0) { m+=r; } s+=(p+m); Alert("Пол ",p," отр",m,"Сум",s); price_prev=price; }
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Привет всем.
Посоветуйте пожайлуста
Как, на языке MQL4, узнать разницу цены пришедшего тика
с ценой предыдущего тика.
Зарание спасибо за помощь.