diodio Опубликовано 15 марта, 2021 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 15 марта, 2021 59 минут назад, MikR0ReR сказал: @diodio ПРиветствую. Ордера закрываются исключительно по Тейк-профиту или Стоп-лоссу. Никакие свопы, комиссии, даже спред не влияют* на закрытие ордера, их не нужно учитывать. Не забываем, что покупки открываются по Аску, а закрываются по Биду И на оборот, продажи открываются по Биду, а закрываются по Аску. Значит цена не дошла до Тейк-профита или Стоп-лосса. Если это робот еще может быть не правильно указана цена. П.С. * свопы, комиссии, даже спред нужно учитывать что бы сделка выходила в плюс т.е в прибыль. Но они ни какого влияния не имеют на закрытие ордера. При наблюдении за ценой почему-то закрытия не происходит, хотя при этом цена пересекла черту на графике тейкпрофита, я же модифицировал ордер и следствием из этого установилась пунктирная линия моего тейка, и еще одно но, цена пересекла эту черту но ордер пока что оставался в минусе. Как это понять? Ссылка на сообщение Поделиться на другие сайты More sharing options...
MikR0ReR Опубликовано 15 марта, 2021 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 15 марта, 2021 1 минуту назад, diodio сказал: хотя при этом цена пересекла черту на графике тейкпрофита Как я уже говорил смотреть нужно на разные цены. При покупке смотрим на Бид. Цена бид должна коснутся стоп приказа. При продаже смотрим на Аск. Цена аск должна коснуться стоп приказа. 7 минут назад, diodio сказал: и еще одно но, цена пересекла эту черту но ордер пока что оставался в минусе. Как я уже говорил тейк-профит нужно правильно рассчитывать в зависимости от свопа, комиссии и спреда. Будем считать что Тейк-Профит это ДОХОД. Своп, Комиссия и Спред это РАСХОД. Мы будем в ПРИБЫЛИ если ДОХОД будет > (больше) РАСХОДА. Т.П > Свопа, Комиссии и Спреда Ссылка на сообщение Поделиться на другие сайты More sharing options...
mishastar Опубликовано 21 марта, 2021 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 21 марта, 2021 Доброго времени суток! Опять встал вопрос программирования. Поделитесь пожалуйста кусочком кода. Необходимо найти цену первого ордера в сетке ордеров. Теоретически представляю , а практически мозгов не хватает допереть. Вот например есть функция как найти цену последнего ордера, но что тут поменять, что бы она находила цену первого ордера в сетке. Заранее Благодарен за содействие! double FindLastOrderPrice(int otype) { int oldticket; double oldopenprice=0; ticket=0; for(int cnt=OrdersTotal()-1; cnt>=0; cnt-- ) { if (OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)) { if ( OrderSymbol()==Symbol() && OrderMagicNumber()== Magic && OrderType()==otype) { oldticket = OrderTicket(); if(oldticket>ticket) { ticket = oldticket; oldopenprice = OrderOpenPrice(); } } } } return(oldopenprice); } Ссылка на сообщение Поделиться на другие сайты More sharing options...
Logic Опубликовано 22 марта, 2021 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 22 марта, 2021 Видимо тут эксплуатируется порядок присвоения тикетов. Более поздние имеют больший номер. На мой взгляд довольно спорная концепция. Внутри дня, да будет работать, а вот как перешагнет через выходные или праздники - непонятно. Если такая относительности Вас устраивает, то поменяйте "больше на меньше", ну и названия переменных конечно. Пардон что так скупо ответил, без примера, с телефона не кайф заморачиваться, могу вечером ещё написать. А вообще я бы ещё добавил проверку по времени. Тот же принцип, только сравнивать нужно время открытия. Ссылка на сообщение Поделиться на другие сайты More sharing options...
mishastar Опубликовано 22 марта, 2021 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 22 марта, 2021 4 часа назад, Logic сказал: Тот же принцип, только сравнивать нужно время открытия. Спасибо! Нашел код. Не так просто найти в сети интернет что требуется. Написал сюда. Да действительно там сравнивается время открытия ордеров и выбирается первый ордер. Просто я сам пока не понимаю сам как это записать в коде. Теперь все работает. Изменено 22 марта, 2021 пользователем mishastar Ссылка на сообщение Поделиться на другие сайты More sharing options...
Владимир Стариков Опубликовано 23 марта, 2021 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 23 марта, 2021 Здравствуйте! Написал функцию: //+------------------------------------------------------------------+ //| 18 функция подсчета количества роста/падения баров гистограммы | //+------------------------------------------------------------------+ int MovementBars(int timeline, int type, int shift) { int res=0; int res_up=0; int res_dn=0; double ind_2=0; double ind_0=0; double ind_1=0; int period=0; if(timeline==0) period=0; if(timeline==1) { if(MovementBars(0,1,0)>0) period=MovementBars(0,1,0); if(MovementBars(0,0,0)>0) period=MovementBars(0,0,0); } for(int i=period+shift; i<=Bars-1+shift; i++) { ind_0=iAO(NULL,0,i); ind_1=iAO(NULL,0,i+1); ind_2=iAO(NULL,0,i+2); if(ind_0>ind_1) res_up++; if(ind_0>ind_1&&ind_1<=ind_2) break; if(ind_0<=ind_1) res_dn++; if(ind_0<=ind_1&&ind_1>ind_2) break; } if(type==1) { res=res_up; } if(type==0) { res=res_dn; } return res; } .............. в OnTick() коммент выглядит так: Comment("\n MovementBars(up 0) = ", IntegerToString(MovementBars(0,1,0)), "\n -----------------", "\n MovementBars(up 1) = ", IntegerToString(MovementBars(1,1,0)), "\n -----------------", "\n MovementBars(dn 0) = ", IntegerToString(MovementBars(0,0,0)), "\n -----------------", "\n MovementBars(dn 1) = ", IntegerToString(MovementBars(1,0,0)) ); Суть функции - выдавать количество баров роста/ падения гистограммы на разных участках в зависимости от переменных timeline и type. Но!! Иногда функция работает некорректно (см. скрин). Прошу посмотреть правильность написания функции и дать замечания по устранению ошибок. Спасибо!! Ссылка на сообщение Поделиться на другие сайты More sharing options...
usver73 Опубликовано 23 марта, 2021 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 23 марта, 2021 Вызов функции MovementBars внутри себя- это так задумано? Ссылка на сообщение Поделиться на другие сайты More sharing options...
Владимир Стариков Опубликовано 23 марта, 2021 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 23 марта, 2021 2 минуты назад, usver73 сказал: Вызов функции MovementBars внутри себя- это так задумано? Да. А иначе как определить начало периода timeline=1? Ссылка на сообщение Поделиться на другие сайты More sharing options...
usver73 Опубликовано 23 марта, 2021 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 23 марта, 2021 31 минуту назад, Владимир Стариков сказал: Да. А иначе как определить начало периода timeline=1? а какую смысловую нагрузку несет timeline? Ссылка на сообщение Поделиться на другие сайты More sharing options...
Владимир Стариков Опубликовано 23 марта, 2021 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 23 марта, 2021 Гистограмма либо падает либо растет. Задача: 1. найти количество баров от нулевого до последнего в серии ( timeline=0). 2. найти количество баров от последнего в серии ( timeline=0) до последнего в серии ( timeline=1) . определить направление баров в каждой из серий. Ссылка на сообщение Поделиться на другие сайты More sharing options...
chww Опубликовано 1 апреля, 2021 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 1 апреля, 2021 Здравствуйте! Подскажите пожалуйста как правильно при открытии ордера( покупки или продажи) записать данные (в массив, структуру). Хочу написать советник отслеживающий сигналы и открывающий ордера с разных таймфреймов. А также производить манипуляции с ордерами ( перевод в безубыток, трейлингстоп или перенос "ордера" из одного массива в другой) исходя из того на каком таймфрейме был открыт ордер и как меняется рынок. Ссылка на сообщение Поделиться на другие сайты More sharing options...
usver73 Опубликовано 1 апреля, 2021 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 1 апреля, 2021 3 часа назад, chww сказал: Подскажите пожалуйста как правильно при открытии ордера( покупки или продажи) записать данные (в массив, структуру). Хочу написать советник отслеживающий сигналы и открывающий ордера с разных таймфреймов. Задача звучит достаточно обще.. Но если хотите использовать структуры, то примерно так: Спойлер // объявляем структуру с нужным набором переменных для хранения данных struct OrdInfo { double open_price; int ticket; int type; datetime open_time; }; // объявляем массив структуры с типом данных OrdInfo OrdInfo array_orders[]; //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { if(OrderSend(_Symbol,OP_BUY,lot,Ask,0,sl,tp,"",Magic))>0) { int arrSize = ArraySize(array_orders); // определяем размер массива ArrayResize(array_orders,arrSize+1); // увеличиваем его размер на 1 // в последний индекс записываем данные по вновьоткрытому ордеру array_orders[arrSize].ticket = OrderTicket(); array_orders[arrSize].type = OrderType(); array_orders[arrSize].open_price = OrderOpenPrice(); array_orders[arrSize].open_time = OrderOpenTime(); } } //+------------------------------------------------------------------+ 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
chww Опубликовано 1 апреля, 2021 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 1 апреля, 2021 Спасибо usver73! И если Вас не затруднит объясните как выделить тикет. Например в рынке находятся 5 открытых ордеров, структурированные данные по каждому находятся в массиве. С поступлением новой цены обращаемся к массиву ,к элементу структуры open_price. в цикле находим разницу между текущей ценой и ценой открытия каждого из ордеров и если условие соответствует разнице производим модификацию именно этого одного ордера. Ссылка на сообщение Поделиться на другие сайты More sharing options...
Rigal Опубликовано 2 апреля, 2021 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 2 апреля, 2021 7 часов назад, chww сказал: Спасибо usver73! И если Вас не затруднит объясните как выделить тикет. Например в рынке находятся 5 открытых ордеров, структурированные данные по каждому находятся в массиве. С поступлением новой цены обращаемся к массиву ,к элементу структуры open_price. в цикле находим разницу между текущей ценой и ценой открытия каждого из ордеров и если условие соответствует разнице производим модификацию именно этого одного ордера. А зачем, если не секрет, вам для этого структуры и массивы? в приведенном выше примере есть несколько тонких мест: если ордер закроется по тейку, стопу, руками, или другим советником - ваша структура все еще будет полагать, что он где-то в рынке есть. а если советника перезапустить - он, наоборот, забудет все открытые ордера. Если вам нужно на каждом тике проверять некое условие для каждого ордера - можно просто пробежаться по списку открытых ордеров в МТ, это недорогая операция, оно уже в памяти все. структуры становятся нужны, когда вам нужно оптимизировать анализ совокупности: скажем, вам в одной части кода нужно посчитать все ваши ордера в покупку и продажу раздельно, а в другой - посчитать их уровни безубытка. чтобы в каждом таком месте не перебирать по-новой, есть смысл завести структуру, все в ней сразу вычислять и обновлять один раз на тике А перебор ордеров лучше всего делать выборкой OrderSelect - так вы по крайней мере обращаетесь к открытым ордерам 2 Ссылка на сообщение Поделиться на другие сайты More sharing options...
usver73 Опубликовано 2 апреля, 2021 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 2 апреля, 2021 29 минут назад, Rigal сказал: А зачем, если не секрет, вам для этого структуры и массивы? в приведенном выше примере есть несколько тонких мест: если ордер закроется по тейку, стопу, руками, или другим советником - ваша структура все еще будет полагать, что он где-то в рынке есть. у вопрошающего был вопрос- как работать со структурами. Я просто привел пример. Конечная цель мне не понятна, поэтому я не предлагал пример как руководство к действию 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Rigal Опубликовано 2 апреля, 2021 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 2 апреля, 2021 51 минуту назад, usver73 сказал: у вопрошающего был вопрос- как работать со структурами. Я просто привел пример. Конечная цель мне не понятна, поэтому я не предлагал пример как руководство к действию Ваш ответ был совершенно уместен в контексте - я комментирую исключительно дальнейшее развитие этого диалога. 2 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Rigal Опубликовано 2 апреля, 2021 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 2 апреля, 2021 20 часов назад, chww сказал: Здравствуйте! Подскажите пожалуйста как правильно при открытии ордера( покупки или продажи) записать данные (в массив, структуру). Хочу написать советник отслеживающий сигналы и открывающий ордера с разных таймфреймов. А также производить манипуляции с ордерами ( перевод в безубыток, трейлингстоп или перенос "ордера" из одного массива в другой) исходя из того на каком таймфрейме был открыт ордер и как меняется рынок. Хорошим примером работы со структурами можно считать доступный в открытом коде на этом форуме Beat The Market 2 2 Ссылка на сообщение Поделиться на другие сайты More sharing options...
chww Опубликовано 2 апреля, 2021 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 2 апреля, 2021 Ответ для Rigal! Оговорюсь сразу все знания о программировании я получил из видеоуроков на этом сайте. Моя цель написать советник ,работающий одновременно на нескольких таймфреймах одной валютной пары. Идея проста и не секретна, открыть ордер пораньше и удержать в рынке подольше,получить максимум прибыли. И еще, мое видение рынка, тренды разворачиваются на минутках, просто делают(приблизительно) 50 попыток,15 мин.-10 попыток. А теперь стратегия.Советник открыл несколько ордеров на М15,дальше движение переростает на Н1, при этом худшие ордера закрываем при признаках отката, а лучшие оставляем, но теперь они будут подчинятся условиям на часовке( далее на Н4).Решение вижу в заполнении массивов тикетами и переброске их(тикетов) из одного массива в другой, исходя из определенных условий. Если это можно запрограммировать как то по другому, подскажите. Ссылка на сообщение Поделиться на другие сайты More sharing options...
Lexa000 Опубликовано 5 апреля, 2021 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 5 апреля, 2021 В 02.04.2021 в 14:53, chww сказал: Ответ для Rigal! Оговорюсь сразу все знания о программировании я получил из видеоуроков на этом сайте. Моя цель написать советник ,работающий одновременно на нескольких таймфреймах одной валютной пары. Идея проста и не секретна, открыть ордер пораньше и удержать в рынке подольше,получить максимум прибыли. И еще, мое видение рынка, тренды разворачиваются на минутках, просто делают(приблизительно) 50 попыток,15 мин.-10 попыток. А теперь стратегия.Советник открыл несколько ордеров на М15,дальше движение переростает на Н1, при этом худшие ордера закрываем при признаках отката, а лучшие оставляем, но теперь они будут подчинятся условиям на часовке( далее на Н4).Решение вижу в заполнении массивов тикетами и переброске их(тикетов) из одного массива в другой, исходя из определенных условий. Если это можно запрограммировать как то по другому, подскажите. Если Rigalу не понравится вопрос, то он не ответит 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
usver73 Опубликовано 6 апреля, 2021 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 6 апреля, 2021 В 03.04.2021 в 02:53, chww сказал: А теперь стратегия.Советник открыл несколько ордеров на М15,дальше движение переростает на Н1, при этом худшие ордера закрываем при признаках отката, а лучшие оставляем, но теперь они будут подчинятся условиям на часовке( далее на Н4).Решение вижу в заполнении массивов тикетами и переброске их(тикетов) из одного массива в другой, исходя из определенных условий. Если это можно запрограммировать как то по другому, подскажите. @Rigal в общих чертах написал, как можно делать.. У Вас есть некие признаки, по которым ордера в рынке признаются "худшими" или "лучшими". Рискну предположить, что это текущий профит и/или время жизни ордера. Эту информацию можно получить безо всяких массивов/структур. С "худшими" ордером все понятно- Вы их закрываете. Если ордер в рынке и время его жизни большое, значит он "попал в струю" и логика его сопровождения подчиняется некоему алгоритму со старшего ТФ. Соответственно Вы его или закрываете или оставляете в рынке.. Если все таки хочется держать информацию об ордерах в массиве, то добавьте в структуру int TF где будет храниться информация- по какому алгоритму(таймфрейму) сопровождать ордер. Ну и чистить сам массив нужно будет постоянно. 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Rigal Опубликовано 6 апреля, 2021 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 6 апреля, 2021 21 час назад, Lexa000 сказал: Если Rigalу не понравится вопрос, то он не ответит ух, какая у меня жесткая репутация не отвечаю я потому, что не вижу - мое имя упомянули, а собачку не поставили, нотификация не всплыла Ответ @usver73 в очередной раз звучит осмысленно - ну и я уже описал подход, в целом. В советниках нужно стараться избегать хранить состояние, за исключением тех случаев, когда это состояние здорово оптимизирует производительность. Дело в том, что советник должен уметь перезапуститься. Он также должен уметь загрузиться заново на абсолютно чистом терминале и уметь продолжить работу, как ни в чем не бывало. Есть множество ситуаций в реальных торгах, где это требуется. Соответственно, если логика работы советника опирается на некое запомненное состояние - оно будет утеряно и его надо уметь восстановить. А если есть способ восстановить это состояние, возникает вопрос, стоит ли его держать вообще, или проще вычислять его каждый раз, когда оно вам нужно. И это не значит, что структуры не нужны совсем: результатом вашего расчета состояния вполне может быть структура с данными, в том виде, в каком вам удобно с ними работать. Но при этом я бы постарался избегать "запоминания" чего-то между тиками, это неудачный подход. Отвечая на ваш вопрос о том, как выделить тикет в массиве - это можно сделать, обратившись к элементу по индексу. Используя пример @usver73 выше: // объявляем структуру с нужным набором переменных для хранения данных struct OrdInfo { double open_price; int ticket; int type; datetime open_time; }; // объявляем массив структуры с типом данных OrdInfo OrdInfo array_orders[]; //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { if(OrderSend(_Symbol,OP_BUY,lot,Ask,0,sl,tp,"",Magic))>0) { int arrSize = ArraySize(array_orders); // определяем размер массива ArrayResize(array_orders,arrSize+1); // увеличиваем его размер на 1 // в последний индекс записываем данные по вновьоткрытому ордеру array_orders[arrSize].ticket = OrderTicket(); array_orders[arrSize].type = OrderType(); array_orders[arrSize].open_price = OrderOpenPrice(); array_orders[arrSize].open_time = OrderOpenTime(); } PrintOrders(); } void PrintOrders() { for(int i = ArraySize(array_orders) - 1; i >= 0; i--) { Print("Order #", i, ": ", EnumToString(array_orders[i].type), ", ticket: ", array_orders[i].ticket, ", open_price: ", DoubleToStr(array_orders[i].open_price, Digits), ", open_time: ", TimeToStr(array_orders[i].open_time, TIME_DATE|TIME_MINUTES)); } } //+------------------------------------------------------------------+ 3 Ссылка на сообщение Поделиться на другие сайты More sharing options...
diodio Опубликовано 7 апреля, 2021 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 7 апреля, 2021 Всем доброго времени суток! Такой вопрос возник, хочу переделать тралл, т.к. при достижении профита на то кол-во пунктов что задано в трале сразу выставляется тралл, но дело в том что цена может не пойти дальше чтоб тралилось а спуститься допустим ниже, если к примеру ордер в бай стоит и задеть тралл, при этом ордер закроется, чего не хотелось бы. Так вот, можно ли в самой функции трала задать определенное кол-во пунктов чтоб он выставлялся ниже цены, если ордер в бай к примеру. Функция тралла: Спойлер extern int TrailingStop = 50; // стоп extern int TrailingStep = 50; // шаг void Trailing() { for(int d=OrdersTotal()-1; d>=0; d--) { if(OrderSelect(d,SELECT_BY_POS,MODE_TRADES)) { if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic) { if(OrderType()==OP_BUY) { if(Bid-OrderOpenPrice()>TrailingStop*Point || OrderStopLoss()==0) { if(OrderStopLoss()<Bid -(TrailingStop+TrailingStep)*Point || OrderStopLoss()==0) { if(!OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-TrailingStop*Point,Digits),0,0)) Print("Ошибка модификации ордера на покупку!"); } } } if(OrderType()==OP_SELL) { if(OrderOpenPrice()-Ask>TrailingStop*Point || OrderStopLoss()==0) { if(OrderStopLoss()>Ask+(TrailingStop+TrailingStep)*Point || OrderStopLoss()==0) { if(!OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Ask+TrailingStop*Point,Digits),0,0)) Print("Ошибка модификации ордера на продажу!"); } } } } } } } Думаю может в этом моменте написать так к примеру (если тип ордера на бай): Спойлер вместо: if(!OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-TrailingStop*Point,Digits),0,0)) написать это: if(!OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-TrailingStop-20*Point,Digits),0,0)) Ссылка на сообщение Поделиться на другие сайты More sharing options...
usver73 Опубликовано 7 апреля, 2021 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 7 апреля, 2021 47 минут назад, diodio сказал: но дело в том что цена может не пойти дальше чтоб тралилось а спуститься допустим ниже, если к примеру ордер в бай стоит и задеть тралл, при этом ордер закроется, чего не хотелось бы. Так вот, можно ли в самой функции трала задать определенное кол-во пунктов чтоб он выставлялся ниже цены, если ордер в бай к примеру. иными словами, после активации трала СЛ должен всегда быть ниже цены (для БАЙ) ? Т.е. цена пошла вниз, СЛ тоже переставляем вниз? А тогда в чем смысл трала? Ссылка на сообщение Поделиться на другие сайты More sharing options...
diodio Опубликовано 7 апреля, 2021 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 7 апреля, 2021 11 минут назад, usver73 сказал: иными словами, после активации трала СЛ должен всегда быть ниже цены (для БАЙ) ? Т.е. цена пошла вниз, СЛ тоже переставляем вниз? А тогда в чем смысл трала? Нет, трал будет идти как шел, ниже спускаться не будет, он будет в отдалении от цены на 20 пунктов допустим, как страховка чтоб сразу не закрылся ордер. У меня длинные позиции и цена прыгает. Изменено 7 апреля, 2021 пользователем diodio Ссылка на сообщение Поделиться на другие сайты More sharing options...
usver73 Опубликовано 7 апреля, 2021 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 7 апреля, 2021 57 минут назад, diodio сказал: У меня длинные позиции и цена прыгает. вот давно нашел набор разных тралов. Смотри, модифицируй под себя. А в коде ошибка. Аналог из библиотеки TrailingStairs() TrailingFuncLib.mq4 3 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти