подскажите пожалуйста как решить следующую задачу:
следующий OP_SELLLIMIT выставляется, если стартовая цена < стартовой цены предыдущего OP_SELLLIMIT
следующий OP_BUYLIMIT выставляется, если стартовая цена > стартовой ценыпредыдущего OP_BUYLIMIT
в настоящее время добавил условие о превышении хай/лоу вчерашнего дня, но хочу еще добавить как описал выше, но не соображу как это сделать
вот такой код имею:
/+------------------------------------------------------------------+
//| Открытие лимитных ордеров |//+------------------------------------------------------------------+double buylimit_open=0,selllimit_open=0;
int sig_slimit=0,sig_blimit=0;
//если нет откр орд. и отступ > мин. стопа то, откр бай/селл на интервале "step" if(n==0&&blimit==0&&step>stops) {buylimit_open=NormalizeDouble(Bid-step,Digits);sig_blimit=1; }
if(n==0&&slimit==0&&step>stops) {selllimit_open=NormalizeDouble(Ask+step,Digits);sig_slimit=1;}//если нет откр орд. и отступ <= мин. стопа то, откр бай/селл на интервале равном мин. стопу (но это не для работы по марж зонам!) типа скальпинг if(n==0&&blimit==0&&step<=stops) {buylimit_open=NormalizeDouble(Bid-stops,Digits);sig_blimit=1; }
if(n==0&&slimit==0&&step<=stops) {selllimit_open=NormalizeDouble(Ask+stops,Digits);sig_slimit=1;}
if(Ask < iLow(NULL,1440,1)&&Sell==true&&sig_slimit==1) {int open=OrderSend(Symbol(),OP_SELLLIMIT,Lots,selllimit_open,Slip,0,0,NULL,Magic,0,Red);if(open>0) {return;} if(open<0) {Print("OrderSend failed #",GetLastError());return;}}
if(Bid > iHigh(NULL,1440,1)&&Buy==true&&sig_blimit==1) {int open=OrderSend(Symbol(),OP_BUYLIMIT,Lots,buylimit_open,Slip,0,0,NULL,Magic,0,Blue);if(open>0) {return;} if(open<0) {Print("OrderSend failed #",GetLastError());return;}}
//+------------------------------------------------------------------+//| Удаление второго лимитного ордера, при появлении рыночного|//+------------------------------------------------------------------+for(int lim_del=total-1; lim_del>=0; lim_del--)
if(OrderSelect(lim_del,SELECT_BY_POS))
if(OrderSymbol()==Symbol())
if(OrderMagicNumber()==Magic)
if(OrderType()>1) //если тип ордера НЕ 0(OP_BUY) и НЕ 1(OP_SELL), а больше (т.е. 2,3,4,5)
{
if(n>0) {int cl=OrderDelete(OrderTicket());} // удаляем отложку при появлении рыночного ордера
}
}
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Если-бы выбросили, тогда и этого не было-бы
--
К тому-же, если вырежут сделки с истории, то баланс покажет завышение, а здесь - нехватка.
Кухня так вошла в азарт, что Демо-деньги украла?
здравствуйте всем!
оптимизирую сов с тралом лимиток потихоньку
подскажите пожалуйста как решить следующую задачу:
следующий OP_SELLLIMIT выставляется, если стартовая цена < стартовой цены предыдущего OP_SELLLIMIT
следующий OP_BUYLIMIT выставляется, если стартовая цена > стартовой цены предыдущего OP_BUYLIMIT
в настоящее время добавил условие о превышении хай/лоу вчерашнего дня, но хочу еще добавить как описал выше, но не соображу как это сделать
вот такой код имею:
Виталий, да цифры странно не сходятся. Но это же не вы програмно делали, а передает ДЦ в терминал. В ДЦ спрашивали почему не соответствие ?
Какой ДЦ?
Виталий, да цифры странно не сходятся. Но это же не вы програмно делали, а передает ДЦ в терминал. В ДЦ спрашивали почему не соответствие ?
Нет, не спрашивал. Они у меня ровно 2 года назад снесли 400$ настоящих денег шпилькой, так ничего и не узнал
А за демку вообще нет желания писать
Нет, не спрашивал. Они у меня ровно 2 года назад снесли 400$ настоящих денег шпилькой, так ничего и не узнал
А за демку вообще нет желания писать
а шпилька только у вас в терминале была?
что за ДЦ?
а шпилька только у вас в терминале была?
что за ДЦ?
Да, сбили ровно пункт_в_пункт. Кухню не называю
Вот огрызок с переписки
Они вон позицию ордером называют, о чём тут дальше говорить.
здравствуйте всем!
оптимизирую сов с тралом лимиток потихоньку
подскажите пожалуйста как решить следующую задачу:
следующий OP_SELLLIMIT выставляется, если стартовая цена < стартовой цены предыдущего OP_SELLLIMIT
следующий OP_BUYLIMIT выставляется, если стартовая цена > стартовой цены предыдущего OP_BUYLIMIT
в настоящее время добавил условие о превышении хай/лоу вчерашнего дня, но хочу еще добавить как описал выше, но не соображу как это сделать
вот такой код имею:
При отправки лимитки сохраняешь цену в переменную и затем сравниваешь,
но есть нюанс, нужно условие для обнуления сохранённой цены.
При отправки лимитки сохраняешь цену в переменную и затем сравниваешь,
но есть нюанс, нужно условие для обнуления сохранённой цены.
спасибо.
посмотрите пожалуйста как сделал, правильно ли? (вроде работает, но пока не могу проверить результаты прямо на графике)
создал функцию хранения - желтым
добавил условие для открытия ордера -синим:
не правильно
Запоминать при открытии