Aleksei Zhukov:
Добрый день, столкнулся с проблемой
При привязки к буферам данного индикатора советник открывает постоянно ордера, а надо что бы на один сигнал индикатора советник открыл одну сделку. Код индикатора к сожалению закрыт, работать могу только с его буферами.
а виноват конечно индикатор, это ведь он сделки открывает ? :-)
в общем показывайте код советника и подозрительные фрагменты
//+------------------------------------------------------------------+ //| TrendBot.mq4 | //| Copyright 2023, MetaQuotes Ltd. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2023, MetaQuotes Ltd." #property link "https://www.mql5.com" #property version "1.00" #property strict //++++++++++++++++++++++++++++++++++++++ //+++++++++ Настройки ++++++++++++++ //++++++++++++++++++++++++++++++++++++++ extern string p2 = "НАСТРОЙКА СОВЕТНИКА"; extern double Lot =0.01;//Лот extern int Magic = 12345;//Магический номер extern string p3 = "Все параметры ниже в ПИПСАХ!"; extern int Slippage = 50;//Проскальзывание extern int TakeProfit = 500;//TakeProfit extern int StopLoss = 500;//StopLoss extern string p1 = "НАСТРОЙКА ИНДИКАТОРА"; extern bool show_Reversal_Points = false;//Показывать уровни extern bool show_Bar_time = true;//Показывать время до конца свечи extern bool show_Alert = true;//Присылать алерты //Настройки в хайде string name = "";//Название робота int expiration = 0;//Срок истечения ордера color buycolor = clrGreen;//Цвет ордера buy color sellcolor = clrRed;//Цвет ордера sell //-------------------------------------------------------------------------------------------------------- //######################################################################################################################################################### //++++++++++++++++++++++++++++++++++++++++++++++++++++++ НАЧАЛО РАБОТЫ СОВЕТИНКА +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //######################################################################################################################################################### double sell,buy; void OnTick() { //####################################################### //############# Привязка индикатора ################ //####################################################### iCustom(Symbol(),0,"TRADE MASTER PRO V2",show_Reversal_Points,show_Bar_time,show_Alert,0,0); iCustom(Symbol(),0,"TRADE MASTER PRO V2",show_Reversal_Points,show_Bar_time,show_Alert,1,0); iCustom(Symbol(),0,"TRADE MASTER PRO V2",show_Reversal_Points,show_Bar_time,show_Alert,2,0); iCustom(Symbol(),0,"TRADE MASTER PRO V2",show_Reversal_Points,show_Bar_time,show_Alert,3,0); buy=iCustom(Symbol(),0,"TRADE MASTER PRO V2",show_Reversal_Points,show_Bar_time,show_Alert,4,0); sell=iCustom(Symbol(),0,"TRADE MASTER PRO V2",show_Reversal_Points,show_Bar_time,show_Alert,5,0); //-------------------------------------------------------------------------------------------------------- //####################################################### //####### Проверка лимита и открытие ордера ######## //####################################################### int limitbuy = 0; int limitsell = 0; //++++++++++++++++++++++++++++++++++++++ //++++++ Открытие сделки BUY ++++++ //++++++++++++++++++++++++++++++++++++++ if(CountOrders() == 0 && limitbuy == 0 && buy > 0) { if () { int ticket=OrderSend(Symbol(),OP_BUY,Lot,Ask,Slippage,0,0,name,Magic,expiration,buycolor); if (ticket > 0) limitbuy++; } } //++++++++++++++++++++++++++++++++++++++ //++++++ Открытие сделки SELL +++++ //++++++++++++++++++++++++++++++++++++++ if(CountOrders() == 0 && limitsell == 0 && sell > 0) { int ticket=OrderSend(Symbol(),OP_SELL,Lot,Bid,Slippage,0,0,name,Magic,expiration,sellcolor); if (ticket > 0) limitsell++; } //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //++++++ Установка тейка и стопа если они указыны +++++++++++++ //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ if (CountOrders() > 0 && TakeProfit != 0 || StopLoss != 0) Modify(); //-------------------------------------------------------------------------------------------------------- } //####################################################### //############# Вспомогательные функции ################ //####################################################### //+------------------------------------------------------------------+ //++++++++++++++++++ Считаем все ордера ++++++++++++++++++ //+------------------------------------------------------------------+ int CountOrders() { int orders = 0; for(int i=OrdersTotal()-1;i>=0;i--) { if (OrderSelect(i, SELECT_BY_POS,MODE_TRADES)) { if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) { if (OrderType() == OP_BUY || OrderType() == OP_SELL) //Подсчет всех ордеров в рынке orders++; } } } return(orders); } //+------------------------------------------------------------------+ //++++++++++++++++++ Модификация ордеров ++++++++++++++++++ //+------------------------------------------------------------------+ int Modify() { double tp,st; for(int i=OrdersTotal()-1;i>=0;i--) { if (OrderSelect(i, SELECT_BY_POS,MODE_TRADES)) { if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) { if (OrderType() == OP_BUY) { if (TakeProfit == 0) tp = 0; else if (TakeProfit != 0) tp = OrderOpenPrice()+TakeProfit*Point; if (StopLoss == 0) st = 0; else if (StopLoss != 0) st = OrderOpenPrice()-StopLoss*Point; if (tp > 0 || st > 0) OrderModify(OrderTicket(),OrderOpenPrice(),st,tp,expiration,buycolor); } else if (OrderType() == OP_SELL) { if (TakeProfit == 0) tp = 0; else if (TakeProfit != 0) tp = OrderOpenPrice()-TakeProfit*Point; if (StopLoss == 0) st = 0; else if (StopLoss != 0) st = OrderOpenPrice()+StopLoss*Point; if (tp > 0 || st > 0) OrderModify(OrderTicket(),OrderOpenPrice(),st,tp,expiration,sellcolor); } } } } return(tp); return(st); }
Maxim Kuznetsov #:
а виноват конечно индикатор, это ведь он сделки открывает ? :-)
в общем показывайте код советника и подозрительные фрагменты
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Добрый день, столкнулся с проблемой
При привязки к буферам данного индикатора советник открывает постоянно ордера, а надо что бы на один сигнал индикатора советник открыл одну сделку. Код индикатора к сожалению закрыт, работать могу только с его буферами.
Стрелка индикатора появляется на предыдущем баре и не перерисовывается