строка с вашего пример
ticket=WHCOrderSend(Symbol(),OP_BUY,lots,Ask,3,SL,TP,"Покупаем- хи-хи ",Magic,0,Green);
обычный ордер также по текущему Ask. но вопрос был другой. Возможно ли открыть ордер по уже сформированному бару. (не текущему, а предыдущему)
т.к. текущий "гуляет" вверх вниз (формирование свечи), а предыдущий полностью сформирован.
строка с вашего пример
ticket=WHCOrderSend(Symbol(),OP_BUY,lots,Ask,3,SL,TP,"Покупаем- хи-хи ",Magic,0,Green);
обычный ордер также по текущему Ask. но вопрос был другой. Возможно ли открыть ордер по уже сформированному бару. (не текущему, а предыдущему)
т.к. текущий "гуляет" вверх вниз (формирование свечи), а предыдущий полностью сформирован.
Можно открыться только на OPEN текущего бара. Что впринципе с большой вероятностью будет совпадать с закрытием свормировавшейся прошлой свечи, если еще в условие добавить Close[1] == Open[0].
Бывает так что и выполнимо.
А вообще опять сутра писал, поэтому подключив 3-ю фазу к голове пишу вот так
Close[1] == Bid - для продажи
Close[1] == Ask - для покупки
Хотя возникает мысль что нужно еще вводить ряд ограничений, например по времени.
Но оооочень редко и оооочень сомнительно.
//+------------------------------------------------------------------+ //| Prices.mq4 | //| Copyright © 2009, TheXpert | //| theforexpert@gmail.com | //+------------------------------------------------------------------+ #property copyright "Copyright © 2009, TheXpert" #property link "theforexpert@gmail.com" #property indicator_buffers 1 #property indicator_separate_window #property indicator_color1 Red #property indicator_maximum 1 #property indicator_minimum 0 double Hmmm[]; int init() { SetIndexBuffer(0, Hmmm); SetIndexStyle(0, DRAW_HISTOGRAM); } int start() { int ToCount = Bars - IndicatorCounted(); for (int i = ToCount - 1; i >=0; i--) { Hmmm[i] = EMPTY_VALUE; if (Open[i] == Close[i + 1]) Hmmm[i] = 1; } return(0); }
Уважаемые мастера! Подскажите как открывать ордера по последнему сформированному бару.
Т.е. текущее положение Time[0] скачет то вверх то вниз. т.е. бар на этапе формирования.
Задача открывать ордера только когда бар полностью сформируется. Направьте на путь истинный ;)
А чем не нравится вот эти две строки ?
(Так сказать, простенько и без излишеств...)
static int prevtime = 0; int start() { if(Time[0] == prevtime) return(0);//ждём появления нового бара prevtime = Time[0];//если появился новый бар, включаемся....
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Уважаемые мастера! Подскажите как открывать ордера по последнему сформированному бару.
Т.е. текущее положение Time[0] скачет то вверх то вниз. т.е. бар на этапе формирования.
Задача открывать ордера только когда бар полностью сформируется. Направьте на путь истинный ;)