Rahmatilla:
Здравствуйте. Можете помочь.
Если лоу сигнального свеча обновился, как удалить не сработавшие отложенные ордераИз документации, TRADE_ACTION_REMOVE для удаления отложенных ордеров:
Документация по MQL5: Константы, перечисления и структуры / Структуры данных / Структура торгового запроса
- www.mql5.com
Взаимодействие клиентского терминала и торгового сервера для проведения операций постановки ордеров производится посредством торговых запросов. Запрос представлен специальной предопределенной структурой MqlTradeRequest, которая содержит все поля, необходимые для заключения торговых сделок. Результат обработки запроса представлен структурой...
Если говорить честно я новичок в этой теме Вот полный код: extern int interval = 100; //Interval extern double lot = 100; //Lot Size extern int TP = 1000; //Take Profit extern int magic = 962231; //Magic number extern int slippage = 2; //Slippage extern int ExpDate = 24; //Expiration Hour Order extern int bar1size = 1; //Bar 1 Size double buyPrice,//для определения цены установки BuyStop buyTP, //Take Profit BuyStop buySL, //Stop Loss BuyStop sellPrice,//для определения цены установки BuyStop sellTP, //Take Profit BuyStop sellSL; //Stop Loss BuyStop double open1,//цена открытия первой свечи open2, //цена открытия второй свечи open3, close1, //цена закрытия первой свечи close2, //цена закрытия второй свечи close3, low1, //цена минимальная первой свечи low2, //цена минимальная второй свечи low3, high1, //цена максимальная первой свечи high2, //цена максимальная второй свечи high3; datetime _ExpDate=0; //локальная переменная для определения времени истечения отложенного ордера double _bar1size; //локальная переменная необходимая для исключения рынка во флэте datetime timeBUOVB_BEOVB; //время бара, на котором открылись ордера по паттерну, для исключения повторного открытия //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { double _bid = NormalizeDouble(MarketInfo(Symbol(), MODE_BID), Digits); //определение нижней цены double _ask = NormalizeDouble(MarketInfo(Symbol(), MODE_ASK), Digits); //определение верхней цены double _point = MarketInfo(Symbol(), MODE_POINT); //--- определение цен необходимых баров open1 = NormalizeDouble(iOpen(Symbol(), Period(), 1), Digits); open2 = NormalizeDouble(iOpen(Symbol(), Period(), 2), Digits); open3 = NormalizeDouble(iOpen(Symbol(), Period(), 3), Digits); close1 = NormalizeDouble(iClose(Symbol(), Period(), 1), Digits); close2 = NormalizeDouble(iClose(Symbol(), Period(), 2), Digits); close3 = NormalizeDouble(iClose(Symbol(), Period(), 3), Digits); low1 = NormalizeDouble(iLow(Symbol(), Period(), 1), Digits); low2 = NormalizeDouble(iLow(Symbol(), Period(), 2), Digits); low3 = NormalizeDouble(iLow(Symbol(), Period(), 3), Digits); high1 = NormalizeDouble(iHigh(Symbol(), Period(), 1), Digits); high2 = NormalizeDouble(iHigh(Symbol(), Period(), 2), Digits); high3 = NormalizeDouble(iHigh(Symbol(), Period(), 3), Digits); //--- Определение цен установки ордеров и цен установки стоп-приказов buyPrice=NormalizeDouble(high1+interval*_point,Digits); //определяем цену установки ордера с учетом интервала buySL=NormalizeDouble(low2-interval*_point,Digits); //определяем стоп-лосс с учетом интервала buyTP=NormalizeDouble(buyPrice+TP*_point,Digits); //определяем тейк-профит _ExpDate=TimeCurrent()+ExpDate*60*60; //расчет времени истечения отложенного ордера //--- Также производим расчет для ордеров на продажу sellPrice=NormalizeDouble(low1-interval*_point,Digits); //определяем цену установки ордера с учетом интервала sellSL=NormalizeDouble(high2+interval*_point,Digits); //определяем стоп-лосс с учетом интервала sellTP=NormalizeDouble(sellPrice-TP*_point,Digits); //определяем тейк-профит //--- _bar1size=NormalizeDouble(((high1-low1)/_point),0); //--- Находим медвежий паттерн BEOVB if(timeBUOVB_BEOVB!=iTime(Symbol(),Period(),1) && //на данном паттерне еще не открывались ордера _bar1size>bar1size && //первый бар достаточно большой, чтобы не считать рынок во флэте Open1 > close2 && open2 < close1 && low3 < low1 ) //Второй бар бычий { //--- мы прописали все условия, указывающие, что первый бар полностью поглощает второй и является бычьим OrderOpenF(Symbol(),OP_BUYSTOP,lot,buyPrice,slippage,buySL,buyTP,NULL,magic,_ExpDate,Blue); timeBUOVB_BEOVB=iTime(Symbol(),Period(),1); //указываем, что на данном паттерне уже установлены ордера } //--- Находим бычий паттерн BEOVB if(timeBUOVB_BEOVB!=iTime(Symbol(),Period(),1) && //на данном паттерне еще не открывались ордера _bar1size>bar1size && //первый бар достаточно большой, чтобы не считать рынок во флэте Open3 < close2 && open2 > close3 && high3 > high1 ) //Второй бар бычий { //--- мы прописали все условия, указывающие, что первый бар полностью поглощает второй и является бычьим OrderOpenF(Symbol(),OP_SELLSTOP,lot,sellPrice,slippage,sellSL,sellTP,NULL,magic,_ExpDate,Blue); timeBUOVB_BEOVB=iTime(Symbol(),Period(),1); //указываем, что на данном паттерне уже установлены ордера } }
Rahmatilla:
Судя по этим строкам
double _bid = NormalizeDouble(MarketInfo(Symbol(), MODE_BID), Digits); //определение нижней цены double _ask = NormalizeDouble(MarketInfo(Symbol(), MODE_ASK), Digits); //определение верхней цены double _point = MarketInfo(Symbol(), MODE_POINT);
это mql4.
Значит просто OrderDelete
OrderDelete - Торговые функции - Справочник MQL4
- docs.mql4.com
OrderDelete - Торговые функции - Справочник MQL4
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Здравствуйте. Можете помочь.
Если лоу сигнального свеча обновился, как удалить не сработавшие отложенные ордера