при каждом поступающем тике я получаю по этой операции значение средней для данного тика
как мне узнать значение средней за прошлый час?
Вам нужно разобраться с технологией индексирования баров.
Например, для часового ТФ это будет значение на баре с индексом 1. А на М30 - это знаение на одном из баров 1,2,3 - зависит от текущего времени и времени бара, на котором интересующее значение. Прошлый час в М30 представлен двумя барами. Час в М1 представлен 60-ю барами.
Бьюсь уже два дня над тем же самым, все ссылки в этой теме излазил, и учебник и документацию перетряхнул.
Ну не получается элементарная операция.! Нужно, чтобы он открывал на пересечении МАшек сделки и закрывал их на обратном пересечении. Пока написал только часть кода для продажных сделок, для покупки уж спотом соображу, но посмотрите пожалуйста, что неправильно делаю? При тесте открывает на первом пересечении МАшек 4 сделки(как и планируется) и не закрывает их до конца теста.
Тестирую на промежутке с 1 января по сегодня, на пареевро-доллар. Так как за это время курс упал, то и показывает прибыль с этих четырёх сделок.
На команду закрытия не реагирует
externdouble lot=0.01;// размер лотаexterndouble maxord=3;//максимальное количество сделокexterndouble per1=3;// период МАexterndouble per2=15;// период МА//--------------------------------------------------------------------int start(){int total=OrdersTotal();double MA1;// короткая МА-шкаdouble MA2;// длинная МА-шка
MA1=iMA(NULL,0,per1,0,MODE_SMA,PRICE_MEDIAN,0);// МАшки вычисляет.
MA2=iMA(NULL,0,per2,0,MODE_SMA,PRICE_MEDIAN,0);//--------------------------------------------------------------------if(total>maxord)return;//максимальное количество ордеров можно регулировать во входныхint ticket;if(MA1<MA2){ticket=OrderSend(Symbol(),OP_SELL,lot,Bid,3,0,0);}//проверяет - если короткая МАшка ниже длинной - начинаем продавать.else{OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES);OrderClose(ticket,lot,Ask,3,Violet);}// если длинная выше короткой - закрываем ордер.return;}
и такую же ошибку говорит - 4051.
А вот здесь я погорячился. Ошибку он не выдаёт, просто не замечает команду на закрытие сделок.
я тут помалу разбираюсь, двигаю строчку то вверх, то вниз, не пойму - где она должна стоять: если в начале, то он после открытия определённого количества сделок не пропускает программу к закрытию ордеров. Если в конце - то ордера закрывает, но ошибки сыплет, типа, неопознанный номер ордера, ошибка 4051
Товарищи трейдеры помогите пожалуста бедалаги.Проблема в том что я нимогу воспользаватся СОВЕТНИКОМ,тоисть инструкции следовал прекрипил к графику,справа верху ресунок улыбаются но на графике зделки бай сел неотображаются,может я чот неправильно делаю?Заципил фаил чтобы вы посмотрели что нефига невыходит.ПОМОГИТЕ)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
еще вопрос
MA1_0=iMA(NULL,0, 21, 0, MODE_SMA, PRICE_CLOSE, 0);
при каждом поступающем тике я получаю по этой операции значение средней для данного тика
как мне узнать значение средней за прошлый час?
Вам нужно разобраться с технологией индексирования баров.
Например, для часового ТФ это будет значение на баре с индексом 1. А на М30 - это знаение на одном из баров 1,2,3 - зависит от текущего времени и времени бара, на котором интересующее значение. Прошлый час в М30 представлен двумя барами. Час в М1 представлен 60-ю барами.
Для начала посмотрите здесь https://book.mql4.com/ru/samples/indicators и здесь https://book.mql4.com/ru/samples/icustom.
Ну вот хоть ты тресни!
Бьюсь уже два дня над тем же самым, все ссылки в этой теме излазил, и учебник и документацию перетряхнул.
Ну не получается элементарная операция.! Нужно, чтобы он открывал на пересечении МАшек сделки и закрывал их на обратном пересечении. Пока написал только часть кода для продажных сделок, для покупки уж спотом соображу, но посмотрите пожалуйста, что неправильно делаю? При тесте открывает на первом пересечении МАшек 4 сделки(как и планируется) и не закрывает их до конца теста.
Тестирую на промежутке с 1 января по сегодня, на пареевро-доллар. Так как за это время курс упал, то и показывает прибыль с этих четырёх сделок.
На команду закрытия не реагирует
и такую же ошибку говорит - 4051.
А вот здесь я погорячился. Ошибку он не выдаёт, просто не замечает команду на закрытие сделок.
ну что? никто не подскажет?
я тут помалу разбираюсь, двигаю строчку то вверх, то вниз, не пойму - где она должна стоять: если в начале, то он после открытия определённого количества сделок не пропускает программу к закрытию ордеров. Если в конце - то ордера закрывает, но ошибки сыплет, типа, неопознанный номер ордера, ошибка 4051