VAS35 Опубликовано 30 сентября, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 30 сентября, 2019 12 часов назад, MikR0ReR сказал: @VAS35 почему решили что проблема на 3 свече. У вас Выдает ошибку?? так дайте скрин! Я например проверил ошибок нет. И я так понимаю вы дали не весь код, урезанный?? мне нужно конкретика. Код был без отправки на мэйл. Вот полный код. И скрин. Спойлер //+------------------------------------------------------------------+ //| Figaro.mq4 | //| Copyright 2019, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2019, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" #property strict #property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 Blue #property indicator_color2 Red double Buy[]; double Sell[]; #define BUY 0 #define SELL 1 input bool EMail = false; double buy[]; double sell[]; bool AlertsON; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { AlertsON=(EMail && (!IsTesting() || IsVisualMode()) ); SetIndexBuffer (0, Buy); SetIndexBuffer (1, Sell); SetIndexEmptyValue (0, 0); SetIndexEmptyValue (1, 0); SetIndexStyle (0, DRAW_ARROW); SetIndexStyle (1, DRAW_ARROW); SetIndexArrow(0, 233); // Стрелка "вверх" для покупок SetIndexArrow(1, 234); // Стрелка "вниз" для продаж IndicatorDigits (Digits); IndicatorShortName ("FIGARO"); SetIndexLabel(0, "Покупаем"); SetIndexLabel(1, "Продаём"); return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { int counted_bars = IndicatorCounted(); int limit, signal; if (counted_bars>0) counted_bars-- ; limit=Bars-counted_bars; for(int i = 2; i < limit; i++) { signal = Signal(i-1); if (signal == BUY) { Buy[i-1] = low[i-1]; } else if (signal == SELL) { Sell[i-1] = high[i-1]; } } AlertsFun(buy,sell,time[0],1); return(rates_total); } //+------------------------------------------------------------------+ void AlertsFun(double & aBuy[],double & aSell[],datetime aTime0,int aIndex) { if(AlertsON) { string mes=""; static datetime blt=0; static datetime slt=0; if(blt==0) { blt=aTime0; slt=aTime0; } if(blt!=aTime0) { if(aBuy[aIndex]!=0 && aBuy[aIndex]!=EMPTY_VALUE) { blt=aTime0; mes=WindowExpertName()+"("+Symbol()+","+(string)(PeriodSeconds()/60)+"): buy"; if(EMail) { SendMail(mes,mes); } if(IsTesting()) { Comment(TimeToStr(aTime0)+" :: "+mes); } } } if(slt!=aTime0) { if(aSell[aIndex]!=0 && aSell[aIndex]!=EMPTY_VALUE) { slt=aTime0; mes=WindowExpertName()+"("+Symbol()+","+(string)(PeriodSeconds()/60)+"): sell"; if(EMail) { SendMail(mes,mes); } if(IsTesting()) { Comment(TimeToStr(aTime0)+" :: "+mes); } } } } } int Signal(int i) { double O_1 = iOpen(Symbol(), 0, 1); double O_2 = iOpen(Symbol(), 0, 2); double O_3 = iOpen(Symbol(), 0, 3); double O_4 = iOpen(Symbol(), 0, 4); double C_1 = iClose(Symbol(), 0, 1); double C_2 = iClose(Symbol(), 0, 2); double C_3 = iClose(Symbol(), 0, 3); double C_4 = iClose(Symbol(), 0, 4); double H_1 = iHigh(Symbol(), 0, 1); double H_2 = iHigh(Symbol(), 0, 2); double L_1 = iLow(Symbol(), 0, 1); double L_2 = iLow(Symbol(), 0, 2); double S_1 = iVolume(Symbol(), 0, 1); double S_2 = iVolume(Symbol(), 0, 2); double S_3 = iVolume(Symbol(), 0, 3); if ((O_1<C_1 && S_1>=8 && S_2==0 && O_3>C_3 && O_4>C_4 && (H_2-O_2)>=6 && (C_2-L_2)>=6) || (O_1<C_1 && S_1>=10 && O_2>C_2 && S_2>=8 && O_3>C_3 && O_4>C_4 && S_3>=8 && O_1<=C_2 && O_1<C_3 && O_2<C_1 && O_3<C_1) || (O_1<C_1 && O_2>C_2 && O_3>C_3 && O_4>C_4 && S_1<=1 && (O_1-L_1)>=5 && (H_1-C_1)<=2) || (O_1<C_1 && S_1>=10 && O_2>C_2 && O_3>C_3 && S_2>=10 && S_1>=S_2*0.6 && O_1<C_2 && (H_1-C_1)<=2 && (O_1-L_1)<=2 && (H_2-O_2)<=2 && (C_2-L_2)<=2) || (O_1<C_1 && S_1>=10 && O_2>C_2 && S_2>=8 && C_1<=C_2 && (H_1-C_1)<=2 && (O_1-L_1)<=2 && (H_2-O_2)<=2 && (C_2-L_2)<=2)) return (BUY); if ((O_1>C_1 && S_1>=8 && S_2==0 && O_3<C_3 && O_4<C_4 && (H_2-O_2)>=6 && (C_2-L_2)>=6) || (O_1>C_1 && S_1>=10 && O_2<C_2 && O_3<C_3 && O_4<C_4 && S_2>=8 && S_3>=8 && O_1>=C_2 && O_1>C_3 && O_2>C_1 && O_3>C_1) || (O_1>C_1 && O_2<C_2 && O_3<C_3 && O_4<C_4 && S_1<=1 && (C_1-L_1)>=5 && (H_1-O_1)<=2) || (O_1>C_1 && S_1>=10 && O_2<C_2 && O_3<C_3 && O_4<C_4 && S_2>=10 && S_1>=S_2*0.6 && O_1>C_2 && (H_1-O_1)<=2 && (C_1-L_1)<=2 && (H_2-C_2)<=2 && (O_2-L_2)<=2) || (O_1>C_1 && S_1>=10 && O_2<C_2 && O_3<C_3 && O_4<C_4 && S_2>=8 && C_1>=C_2 && (H_1-O_1)<=2 && (C_1-L_1)<=2 && (H_2-C_2)<=2 && (O_2-L_2)<=2)) return (SELL); return(-1); } Спойлер На скрине видно, что 3 свеча небольшая. Хотя в коде пытался прописать, чтобы размер был от 8. Отправку на почту ещё до ума не довел. Не проверил. Изменено 1 октября, 2019 пользователем 0ll Ссылка на сообщение Поделиться на другие сайты More sharing options...
MikR0ReR Опубликовано 30 сентября, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 30 сентября, 2019 @VAS35 Прошу не спамь! Пользуйся кнопочкой изменить, если хочешь что то дописать. Я хочу помочь! Но на скрине вижу много свечей и стрелку. И как мне понять что ты считаешь 1-ой свечой и что 3-ей? Потом я обратил внимание что у меня индикатор не работает, не рисует стрелки. 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
VAS35 Опубликовано 30 сентября, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 30 сентября, 2019 5 минут назад, MikR0ReR сказал: @VAS35 Прошу не спамь! Пользуйся кнопочкой изменить, если хочешь что то дописать. Я хочу помочь! Но на скрине вижу много свечей и стрелку. И как мне понять что ты считаешь 1-ой свечой и что 3-ей? Потом я обратил внимание что у меня индикатор не работает, не рисует стрелки. Прошу прощения. Я только что гонял его в тестере и сделал скрин. Первой считаю ту, на которой стрелка. Ссылка на сообщение Поделиться на другие сайты More sharing options...
MikR0ReR Опубликовано 30 сентября, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 30 сентября, 2019 И что должно произойти по твоему с 3-й свечей? Стрелка в низ? я протестил, у меня все стрелки рисуются, вверх и вниз. так, еще могут не отсеиваться бары по причине значности брокера. Я говорю о том что может ты упустил что 8 пунктов 4-х значного брокера есть 80 пунктов 5-и значного брокера. Не, не то? Ссылка на сообщение Поделиться на другие сайты More sharing options...
VAS35 Опубликовано 30 сентября, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 30 сентября, 2019 Разве свечи считаются не справа - налево? Первая свеча со стрелкой, вторая - предыдущая, и так далее. Да и вначале кода прописано Digits... Ссылка на сообщение Поделиться на другие сайты More sharing options...
MikR0ReR Опубликовано 30 сентября, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 30 сентября, 2019 @VAS35 понял про какую свечу ты говоришь. Так теперь что на ней должно быть стрелка в низ? если ты об этом IndicatorDigits(Digits); то это влияет на окно "Окно Данных" в МТ4 с какой точностью там будут отображаться данные. На код и вычисления не влияет. походу придется разбираться с твоим кодом, вникать в идею, что бы понять тебя. Ссылка на сообщение Поделиться на другие сайты More sharing options...
VAS35 Опубликовано 30 сентября, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 30 сентября, 2019 Не. Смотри. Свечи здесь вообще быть не должно. Здесь должна была отработать модель поглощения. Типа бычья свеча поглотила 2 медвежьи, причем объём 2-ой больше 8 и объём третьей тоже больше 8, и обе они медвежьи. А по факту получается, что 2 и 3 свечи медвежьи, но, объём второй больше 8, а третьей - меньше. А насчет знаков после запятой, как прописать тогда? Ссылка на сообщение Поделиться на другие сайты More sharing options...
MikR0ReR Опубликовано 30 сентября, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 30 сентября, 2019 @VAS35 попробуй 1.mq4 2 Ссылка на сообщение Поделиться на другие сайты More sharing options...
VAS35 Опубликовано 1 октября, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 1 октября, 2019 6 часов назад, MikR0ReR сказал: @VAS35 попробуй 1.mq4 13 \u043a\u0411 · 0 загрузок Интересно получилось. Только он стал размещать стрелку с запозданием в 1 бар. А объём третьей свечи, к сожалению, не считает. Я тоже грешил на количество свечей. Вывел лимит в принт, чтобы посмотреть, сколько он считает свечей. И пробовал колдовать с ним. Но он стал рисовать разное количество стрелок. Блин, я года три назад писал советник с таким же принципом, только еще с МА, RSI и MACD. Там таких проблем не было. Получилось очень достойно. На старом компе накрылся южный мост. Надо как-то выцарапать данные с диска. Как достану, выложу сюда. Просто были иногда ложные сигналы. А мне всё надо было полную безубыточность. Ссылка на сообщение Поделиться на другие сайты More sharing options...
MikR0ReR Опубликовано 1 октября, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 1 октября, 2019 @VAS35 Так мне дальше смотреть ошибки в коде, по этой 3 свече? Я тут посмотрел, ты говоришь о объеме, если речь идет о long S_3 = iVolume(NULL, 0, q+3); то тут ты не прав. Все считает, минимальный объем около 100, а у тебя стоит 8. Давай подумай 100 > 8, я думаю да. Ну так такое условие стоит и у тебя, вот оно и исполняется. Изменено 1 октября, 2019 пользователем MikR0ReR 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
VAS35 Опубликовано 1 октября, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 1 октября, 2019 36 минут назад, MikR0ReR сказал: @VAS35 Так мне дальше смотреть ошибки в коде, по этой 3 свече? Если не сложно, давай попробуем разобраться. Ссылка на сообщение Поделиться на другие сайты More sharing options...
bataka Опубликовано 2 октября, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 2 октября, 2019 18 минут назад, lexinson сказал: Уважаемые программисты, подскажите, почему при появлении стрелочки не появляется алерт? Индикатор не мой, хотел доработать под себя. Заранее благодарю 3-MA-Cross-Alert.mq4 9 \u043a\u0411 · 2 загрузки все чиать лень, ты буферу значание придай, а алерт отдельно выведи, как то так не даешь ему значечения, а алерт отднльно Изменено 2 октября, 2019 пользователем bataka Ссылка на сообщение Поделиться на другие сайты More sharing options...
MikR0ReR Опубликовано 2 октября, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 2 октября, 2019 В блоке int OnCalculate есть "const long &volume[]" и "const int &spread[]". Они в mq4 работают и что в них хранится. Ну по поводу spread я догадываюсь что там должно. Я запамятовал. Ссылка на сообщение Поделиться на другие сайты More sharing options...
Partorius Опубликовано 8 октября, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 8 октября, 2019 Подскажите что за ошибка 'iCustom' - wrong parameters count Индикатор.mq4 58 36 Ссылка на сообщение Поделиться на другие сайты More sharing options...
MikR0ReR Опубликовано 8 октября, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 8 октября, 2019 @Partorius iCustom строку полностью напиши Ссылка на сообщение Поделиться на другие сайты More sharing options...
Partorius Опубликовано 8 октября, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 8 октября, 2019 14 минут назад, MikR0ReR сказал: @Partorius iCustom строку полностью напиши Спойлер double buy = iCustom (Symbol(), 0, "Индикатор уровней", 1000, "---Таймфреймы---", False, True, True, True, True, True, False, "---Уровни Мюррея---", True, True, True, False, True, False, False, False, True, False, True, True, True, False, "---Зоны стохастика---", 70, 30, "---фильтр форекс (паттерны)---", True, True, True, True, True, True, "---фильтр бинарных опционов---", False, False, False, "---Стили---", Blue, Orange, 10, 1, 15, While, While, "---Сигналы---", True, False, False, "---Тренд---", True, 20, 20, False, True, True, True, True, True, True, False, False, Chartreuse, Red, 1, 1); Ссылка на сообщение Поделиться на другие сайты More sharing options...
MikR0ReR Опубликовано 8 октября, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 8 октября, 2019 @Partorius Много входных данных! Не влезаю в ограниченную область 6 последних параметров. 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Partorius Опубликовано 8 октября, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 8 октября, 2019 47 минут назад, MikR0ReR сказал: @Partorius Много входных данных! Не влезаю в ограниченную область 6 последних параметров. И что с этим делать? Ссылка на сообщение Поделиться на другие сайты More sharing options...
MikR0ReR Опубликовано 8 октября, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 8 октября, 2019 @Partorius если есть доступ к исходнику индикатора убираем из исходника переменные разделяющие настройки. Пример: "---Таймфреймы---" "---Уровни Мюррея---" "---Зоны стохастика---" и т.д. что бы их не приходилось передавать через iCustom. убираем из строки iCustom последние параметра что не влезли "True, True, False, False, Chartreuse, Red,". Руководствуясь справкой, цитирую "Если параметры не указаны, то будут использованы значения по умолчанию.", т.е. значения будут браться из самого исходника. Эти параметры в тестере стратегий оптимизировать не получится, у нас доступа к ним нет. нужны переменные Chartreuse, Red или другие параметры, что не влезли, что бы их можно было менять, например для оптимизации в тестере, то тогда их нужно перенести в исходнике на позиции выше, чтоб влезали iCustom. Всю строку iCustom приводить не буду, только последний кусок кода. //сейчас так "---Тренд---", True, 20, 20, False, True, True, True, True, True, True, False, False, Chartreuse, Red, 1, 1); //мы знаем что не влезают последние 6 параметров как от нас хочет iCustom и по его мнению должно быть вот так "---Тренд---", True, 20, 20, False, True, True, True, True, 1, 1); //в исходнике в блоке "---Тренд---" меняем местами переменные, Chartreuse, Red поднимаем выше. //Примерно получится так если передовать все параметры на iCustom. Опять же всю строку iCustom приводить не буду, только последний кусок. "---Тренд---", True, 20, 20, False, True, True, Chartreuse, Red, True, True, False, False, True, True, 1, 1); //и опять мы знаем что не влезают последние 6 параметров. обрезаем и должно получится так "---Тренд---", True, 20, 20, False, True, True, Chartreuse, Red, 1, 1); те параметры которые мы не указали, что не влезли, "True, True, False, False, True, True" возьмутся из исходника, но к ним, как мы знаем не будет доступа для изменения. если у нас нет доступа к исходнику индикатора убираем из строки iCustom последние параметра что не влезли "True, True, False, False, Chartreuse, Red,". Руководствуясь справкой, цитирую "Если параметры не указаны, то будут использованы значения по умолчанию.", т.е. значения будут браться из самого исходника. Эти параметры в тестере стратегий оптимизировать не получится, у нас доступа к ним нет. 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Partorius Опубликовано 8 октября, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 8 октября, 2019 22 минуты назад, MikR0ReR сказал: @Partorius если есть доступ к исходнику индикатора убираем из исходника переменные разделяющие настройки. Пример: "---Таймфреймы---" "---Уровни Мюррея---" "---Зоны стохастика---" и т.д. что бы их не приходилось передавать через iCustom. убираем из строки iCustom последние параметра что не влезли "True, True, False, False, Chartreuse, Red,". Руководствуясь справкой, цитирую "Если параметры не указаны, то будут использованы значения по умолчанию.", т.е. значения будут браться из самого исходника. Эти параметры в тестере стратегий оптимизировать не получится, у нас доступа к ним нет. нужны переменные Chartreuse, Red или другие параметры, что не влезли, что бы их можно было менять, например для оптимизации в тестере, то тогда их нужно перенести в исходнике на позиции выше, чтоб влезали iCustom. Всю строку iCustom приводить не буду, только последний кусок кода. //сейчас так "---Тренд---", True, 20, 20, False, True, True, True, True, True, True, False, False, Chartreuse, Red, 1, 1); //мы знаем что не влезают последние 6 параметров как от нас хочет iCustom и по его мнению должно быть вот так "---Тренд---", True, 20, 20, False, True, True, True, True, 1, 1); //в исходнике в блоке "---Тренд---" меняем местами переменные, Chartreuse, Red поднимаем выше. //Примерно получится так если передовать все параметры на iCustom. Опять же всю строку iCustom приводить не буду, только последний кусок. "---Тренд---", True, 20, 20, False, True, True, Chartreuse, Red, True, True, False, False, True, True, 1, 1); //и опять мы знаем что не влезают последние 6 параметров. обрезаем и должно получится так "---Тренд---", True, 20, 20, False, True, True, Chartreuse, Red, 1, 1); те параметры которые мы не указали, что не влезли, "True, True, False, False, True, True" возьмутся из исходника, но к ним, как мы знаем не будет доступа для изменения. если у нас нет доступа к исходнику индикатора убираем из строки iCustom последние параметра что не влезли "True, True, False, False, Chartreuse, Red,". Руководствуясь справкой, цитирую "Если параметры не указаны, то будут использованы значения по умолчанию.", т.е. значения будут браться из самого исходника. Эти параметры в тестере стратегий оптимизировать не получится, у нас доступа к ним нет. Естественно исходника нет, попробую второй вариант Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 8 октября, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 8 октября, 2019 @Partorius добавлю, iCustom может принять до 64 параметров (не проверял), у Вас 65, так что можно попробовать влезть... Ссылка на сообщение Поделиться на другие сайты More sharing options...
MikR0ReR Опубликовано 8 октября, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 8 октября, 2019 @0ll проверено методом тыка, не влезают 6 параметров, итог 49 параметров влезает вiCustom (проверено) Да верно 59, опечатка. Изменено 8 октября, 2019 пользователем MikR0ReR 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 8 октября, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 8 октября, 2019 28 минут назад, MikR0ReR сказал: не влезают 6 параметров, итог 49 параметров влезает вiCustom (проверено) отлично! но я насчитал 65 и -6 = 59? Ссылка на сообщение Поделиться на другие сайты More sharing options...
diodio Опубликовано 8 октября, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 8 октября, 2019 Всем привет! Имеются 2 функции, в которых содержатся массивы ордеров, а точнее их профиты. Первый будет массив который собрал профиты в реальном времени, а второй взял профиты ордеров с истории. Идея такова, т.к. торговля происходит в двух направлениях, то при возникновении ситуации с просадкой какой-то сетки, мы закрываем убыточные ордера неубыточными, взятыми с истории. Ну так вот коды 2-х функций которые создают массивы: Спойлер //+---------------------Профит уже закрытых ордеров на продажу----------------------+ void OrderProfitSellClose(double &cSellProfitClose[]) { int counter=0,size=OrdersHistoryTotal(); ArrayResize(cSellProfitClose,size); for(int i=0; i<OrdersHistoryTotal(); i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) { if(OrderType()==OP_SELL) { cSellProfitClose[i-1]=OrderProfit(); counter++; } } } ArrayResize(cSellProfitClose,counter); return; } //+---------------------Профит еще не закрытых ордеров на покупку----------------------+ void OrderProfitBuy(double &cBuyProfitOpen[]) { int counter=0,size=OrdersTotal(); ArrayResize(cBuyProfitOpen,size); for(int i=0; i<OrdersTotal(); i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) { if(OrderType()==OP_BUY) { cBuyProfitOpen[i-1]=OrderProfit()+OrderCommission()+OrderSwap(); counter++; } } } ArrayResize(cBuyProfitOpen,counter); return; } Теперь что я делаю, я хочу закрыть к примеру покупки, т.е. сетку которая находится в просадке по buy: Спойлер //закрытие покупок OrderProfitSellClose(cSellProfitClose);// Профит уже закрытых ордеров на продажу double SellProfitClose = 0.0; // создаю переменную в которую будет сливаться весь перечисленный профит ордеров for(int b=0; b < ArraySize(cSellProfitClose); b++) //перебираю массив { cSellProfitClose=+SellProfitClose; // суммирую профит закрытых ордеров по продажам, которые взяты с истории по функции } OrderProfitBuy(cBuyProfitOpen); // Профит еще не закрытых ордеров на покупку double BuyProfitOpen = 0.0; // так же создаю переменную куда будет скапливаться вся сумма по профиту на buy, те самые просадочные ордера в минусе for(int t=0; t < ArraySize(cBuyProfitOpen); t++) // перебираю массив на buy { cBuyProfitOpen[t]=+BuyProfitOpen; // суммирую все минусовые просадки по профиту if(MathAbs(BuyProfitOpen) <= SellProfitClose) // здесь сравниваю две переменные с их суммами, уравнивая знак ''-'' на ''+'' { if(OrderType() == OP_BUY) bool close_profit_buy = OrderClose(OrderTicket(), OrderLots(), Bid, Slippage); // здесь закрываю ордера ровно или приблезительно на тот профит который стоит по условию закрытия } } } И, не работает))) Что сделал не так? Прошу помогите. По коду конечно это пример того как хочется чтоб работало, мне придется еще добавлять условия по закрытию, но пока я остановился на этом и непонятно почему не закрывает. Хотелось бы посмотреть для начала как это работает. Изменено 8 октября, 2019 пользователем diodio Ссылка на сообщение Поделиться на другие сайты More sharing options...
MikR0ReR Опубликовано 8 октября, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 8 октября, 2019 @0ll Да верно 59. Опечатка. Ссылка на сообщение Поделиться на другие сайты More sharing options...
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти