Хочу запросить к этой остановке бар и сохранить параметры бара. Это основной вопрос.
Во второй части вызываю бар и если изменился то торговля разрешается
int bars=Bars(_Symbol,_Period);
int Pbars;
if (Pbars !=bars) //return(0); stopTrade=false;
Для вставки кода на форуме используйте кнопку "SRC", будет луше читаться:
int bars=Bars(_Symbol,_Period); int Pbars; if (Pbars !=bars) //return(0); stopTrade=false;
Что такое "параметры бара"? В коде вижу количество баров.
Переменная Pbars должна быть глобальной (объявлена вне функции). После появления нового бара нужно присваивать Pbars значение bars, в вашем коде этого не видно. Не понял зачем там return(0);
Можно определять новый бар через время открытия:
datetime Tm[1]; void OnTick() { datetime NTm[1]; CopyTime(_Symbol,_Period,0,1,NTm); if(Tm[0]!=NTm[0]) { Tm[0]=NTm[0]; } }
Для вставки кода на форуме используйте кнопку "SRC", будет луше читаться:
Что такое "параметры бара"? В коде вижу количество баров.
Переменная Pbars должна быть глобальной (объявлена вне функции). После появления нового бара нужно присваивать Pbars значение bars, в вашем коде этого не видно. Не понял зачем там return(0);
Можно определять новый бар через время открытия:
Функция позаимствована из мт4 но там она работает иначе, если текущий бар и одна сделка совершена встает запрет до следующего дневного бара.
static int Pbars=0;
if (Pbars == Bars) return(0);
Pbars = Bars;
Так а в чём проблема?
В функции OnTick(), пишите return;
Так а в чём проблема?
В функции OnTick(), пишите return;
День добрый в функции OnTick() return вызывает ошибку. Если я правильно понял то функция должна выглядеть следующим образом
void OnTick(void) { { datetime Tm[1]; datetime NTm[1]; CopyTime(_Symbol,_Period,0,1,NTm); CopyTime(_Symbol,_Period,0,1,Tm); if(Tm[0]!=NTm[0]) { Tm[0]=NTm[0]; } }
stopTrade создан как класс и в глобальной переменной не работает. Если индикаторы друг другу противоречат то stopTrade(true) и отменить его нужно как класс. взгляните на код
День добрый в функции OnTick() return вызывает ошибку. Если я правильно понял то функция должна выглядеть следующим образом
stopTrade создан как класс и в глобальной переменной не работает. Если индикаторы друг другу противоречат то stopTrade(true) и отменить его нужно как класс. взгляните на код
Посмотрел ваш код, компелируется без ошибок.
Посмотрел ваш код, компелируется без ошибок.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Здравствуйте!
Кому можно задать вопрос из 2 частей
1.как остановить торговлю по индикатору.
2. как отменить остановку по бару.
По первой части проблемы нет. Прописываю следующим образом.
if (m_ema_current>m_ema_previous && m_ema_previous<m_ema_previous2 && m_macd_current<m_macd_previous && m_signal_current>m_signal_previous ||
m_ema_current<m_ema_previous && m_ema_previous>m_ema_previous2 && m_macd_current>m_macd_previous && m_signal_current<m_signal_previous)
{ stopTrade=true; Print("Дальнейшая торговля временно запрещена"); } stopTrade=true;
Хочу запросить к этой остановке бар и сохранить параметры бара. Это основной вопрос.
Во второй части вызываю бар и если изменился то торговля разрешается
int bars=Bars(_Symbol,_Period);
int Pbars;
if (Pbars !=bars) //return(0); stopTrade=false;