Вопрос: как получить значение "shift"? (при вызове индикатора со сдвигом он использует значения как без него, т.е к примеру у меня получается, что iCustom(NULL, 0, "name",pam1,0,1)= iCustom(NULL, 0, "name",pam1,0,100), хотя если вызвать индикатор 100 баров назад у него будет значение отличное от iCustom(NULL, 0, "name",pam1,0,100). Индикатор прост, использует 5 предыдущих значений Close, берет их среднее.
double iCustom( string symbol, int timeframe, string name, ..., int mode, int shift)
shift - номер бара, с которого вы берете данные индикатора, нулевой бар - это текущий, еще не закрытый бар. Параметр назван смещением, поскольку показывает в барах смещение получаемых данных от нулевого бара.
Я использую функцию Terminal() из учебника при закрытии позиций, при условии, что Mas_Ord_New[0][0]!=0. Но здесь стоит другая задача: нужно сделать флаг, запрещающий торговать по текущему сигналу, если один ордер по нему уже открыт. Пытаюсь использовать флаги, но в чем-то я ошибся.
Думаю лучше поставить в ордер соответствующий магик-номер и проверять наличие такой позиции в списке. Если есть = флаг-правда, нет = флаг-ложь. Далее при условии открытия позиции по вашему сигналу вставить флаг, напр.:
bool flag_1=true;
int MagNum_1=555;
int start()
{
// ...if (OrdersTotal()>0)
{ for (int i=OrdersTotal()-1; i>=0; i--)
{ if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{ if (OrderMagicNumber()==MagNum_1)
flag_1=true;
else flag_1=false;
} } }
if (flag_1==false && /*данное условие открытия позиции*/)
{ OrderSend(..., MagNum_1, ...);
}
//...
}
Думаю лучше поставить в ордер соответствующий магик-номер и проверять наличие такой позиции в списке. Если есть флаг-правда, нет флаг-ложь. Далее при условии открытия позиции по вашему сигналу вставить флаг, напр.:
Т.е., если я правильно все понял, вы предлагаете использовать несколько магиков, соответствующих каждому типу сигналов?
Подскажите почему оптимизатор может считать но не выдавать результатов. Ошибок в журнале нет. Генетический алгоритм выключен. Интервал оптимизации 5 дней, режим все тики, период любой м1, м5,м15,м30. И только начиная с периода Н1 результаты появляются.
Desead: Подскажите почему оптимизатор может считать но не выдавать результатов. Ошибок в журнале нет. Генетический алгоритм выключен. Интервал оптимизации 5 дней, режим все тики, период любой м1, м5,м15,м30. И только начиная с периода Н1 результаты появляются.
Desead: Подскажите почему оптимизатор может считать но не выдавать результатов. Ошибок в журнале нет. Генетический алгоритм выключен. Интервал оптимизации 5 дней, режим все тики, период любой м1, м5,м15,м30. И только начиная с периода Н1 результаты появляются.
Если при данной комбинации параметров заработок отрицателен, результат не показывается. Вообще то 5 дней очень уж короткий период, поставте хотя бы месяц.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Вопрос: как получить значение "shift"? (при вызове индикатора со сдвигом он использует значения как без него, т.е к примеру у меня получается, что iCustom(NULL, 0, "name",pam1,0,1)= iCustom(NULL, 0, "name",pam1,0,100), хотя если вызвать индикатор 100 баров назад у него будет значение отличное от iCustom(NULL, 0, "name",pam1,0,100). Индикатор прост, использует 5 предыдущих значений Close, берет их среднее.
double iCustom( string symbol, int timeframe, string name, ..., int mode, int shift)
shift - номер бара, с которого вы берете данные индикатора, нулевой бар - это текущий, еще не закрытый бар. Параметр назван смещением, поскольку показывает в барах смещение получаемых данных от нулевого бара.
Я использую функцию Terminal() из учебника при закрытии позиций, при условии, что Mas_Ord_New[0][0]!=0. Но здесь стоит другая задача: нужно сделать флаг, запрещающий торговать по текущему сигналу, если один ордер по нему уже открыт. Пытаюсь использовать флаги, но в чем-то я ошибся.
Думаю лучше поставить в ордер соответствующий магик-номер и проверять наличие такой позиции в списке. Если есть = флаг-правда, нет = флаг-ложь. Далее при условии открытия позиции по вашему сигналу вставить флаг, напр.:
Думаю лучше поставить в ордер соответствующий магик-номер и проверять наличие такой позиции в списке. Если есть флаг-правда, нет флаг-ложь. Далее при условии открытия позиции по вашему сигналу вставить флаг, напр.:
Подскажите почему оптимизатор может считать но не выдавать результатов. Ошибок в журнале нет. Генетический алгоритм выключен. Интервал оптимизации 5 дней, режим все тики, период любой м1, м5,м15,м30. И только начиная с периода Н1 результаты появляются.
На периодах, меньше Н1, сливает.
На периодах, меньше Н1, сливает.
Подскажите почему оптимизатор может считать но не выдавать результатов. Ошибок в журнале нет. Генетический алгоритм выключен. Интервал оптимизации 5 дней, режим все тики, период любой м1, м5,м15,м30. И только начиная с периода Н1 результаты появляются.
Если при данной комбинации параметров заработок отрицателен, результат не показывается. Вообще то 5 дней очень уж короткий период, поставте хотя бы месяц.
Добрый день. Подскажите, пожалуйста, мне нужно, чтобы индикатор отображался не на всей истории, а только скраю на заданном количестве баров. Код:
И еще, как узнать цену инструмента на заданное количество баров назад?