d1w4m3 Опубликовано 5 мая, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 5 мая, 2017 В общем Вам нужно перечитать все что я писал выше. Вдумчиво перечитать. Я ответил максимально развернуто, как только возможно. Если хотите выйти на нормальный уровень программирования, то не спешите. Не хватайтесь сразу за непосильные вещи, идите от простого к сложному. Если чего то не понимаете, то делайте шаг назад и заново повторяйте. Вы должны научиться четко понимать что, где и почему пишется в коде. Должны самостоятельно научиться делать логические конструкции.Ну вот что Вы написали здесь? Сначала присваиваете LastTradeSignal=0, а потом тут-же переопределяете значение LastTradeSignal=1. В чем смысл? Я же написал как надо. Где условия, при которых LastTradeSignal принимает то или иное значение?я уже исправился, извиняюсь, но по Вашему работает только бай, сел продолжает открывать. if(DN_Trend()==true) LastTradeSignal=OP_SELL; if(UP_Trend()==true) LastTradeSignal=OP_BUY;Добавлено: 05-05-2017 13:44:42slopeEND.mq4 Изменено 5 мая, 2017 пользователем d1w4m3 Ссылка на сообщение Поделиться на другие сайты More sharing options...
DreamWorks Опубликовано 5 мая, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 5 мая, 2017 я уже исправился, извиняюсь, но по Вашему работает только бай, сел продолжает открывать. d1w4m3, вот так железобетонно должно все работать \M/slopeEND.mq4 Изменено 5 мая, 2017 пользователем DreamWorks Ссылка на сообщение Поделиться на другие сайты More sharing options...
d1w4m3 Опубликовано 5 мая, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 5 мая, 2017 DreamWorks с меня бутылка и не одна))благодаря Вашему терпению, научился многому :d Добавлено: 05-05-2017 16:30:11 if(LastTradeSignal==-1) { if(DN_Trend()==true) LastTradeSignal=OP_SELL; if(UP_Trend()==true) LastTradeSignal=OP_BUY; if(LastTradeSignal==-1)return; }Если переменная равна -1то начинается перебор условий,если попал на -1 опять возвращениеЯ правильно понял? Изменено 5 мая, 2017 пользователем d1w4m3 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
DreamWorks Опубликовано 5 мая, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 5 мая, 2017 DreamWorks с меня бутылка и не одна)) Ловлю на слове ;)Если переменная равна -1то начинается перебор условий,если попал на -1 опять возвращениеЯ правильно понял? Да, все правильно. Переменной LastTradeSignal при объявлении присваивается значение -1, которое никогда не может быть возвращено сигнальными функциями. Я просто подумал, что у Вас при старте советника может быть ситуация, что обе функции вернут false. Поэтому сделал железный вариант. Пока переменной LastTradeSignal не будет присвоено OP_SELL или OP_BUY, то он просто не начнет работу и его будет постоянно выбрасывать из функции OnTick() оператор return. Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 5 мая, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 5 мая, 2017 . Строка if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==FALSE ) break; допустима, но с точки зрения логики и синаксиса избыточна и не совсем корректна.Может поменять на ticket так как торгую на 10 валютных парах тф Н4и поиск ордеров проводить по тикету, Можно и по тикетам, но придётся вести учёт тикетов, я думаю что через SELECT_BY_POS будет проще, так что с логикой и синаксисом всё в порядке ;)4. Условие if(OrderStopLoss()!=sl) некорректно. А как тогда корректно если стоп идёт от ЕМА10? при моих условиях стоп то ставится то удаляется на каждом тике.Так может здесь кто подскажет Условие не совсем корректно из-за того, что функция OrderStopLoss() возвращает значение типа double и сравнивать придётся до 30 знаков после запятой и бывает что расчётный СЛ = 1.1000, а реально OrderStopLoss() = 1.09999999...(9)и зачем Вам на каждом тике проверять СЛ, если он меняется по закрытию бара? Чтоб сделать проверку по закрытию бара нужно вставить в код проверку (в Вашем примере сразу после ф-ции Старт):static datetime dt = 0;if ( dt == Time[1] ) return();dt = Time[1];и далее Ваш код. Ссылка на сообщение Поделиться на другие сайты More sharing options...
ivan100096 Опубликовано 6 мая, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 6 мая, 2017 Друзья, изучаю MQL4 и решил написать советник для системы Lazy Trader. Советник написан, но некорректно работает. Я уже получал обратную связь по коду советника и очень за это благодарен. кое-какие ошибки я уже исправил.Ошибка, которую я вижу - это ордера не закрываются по времени. Возможно есть еще какие-то ошибки. Помогите найти ошибки пожалуйста и дайте обратную связь по коду, который вы видите. Вот правила системы, для которой я писал советник: 1/ В начале недели дожидаемся закрытия первой четырех-часовой свечи.2/ Ставим отложенные ордера Buy Stop и Sell Stop на 20 пунктов выше High и на 20 пунктов ниже Low этой свечи.3/ Стоп-лосс ставится на уровне противоположного ордера. Тейк-профит не ставим. 4/ При достижении ордером прибыли, равной стоп-лоссу, переводим стоп в безубыток (переносим стоп-лосс позиции на цену ее открытия).5/ Второй ордер после активации первого, НЕ УДАЛЯЕМ!6/ В конце недели удаляем / закрываем все ордера, независимо от их прибыли / убытка.Спасибо за помощь:) Прикрепляю файл с кодом советника Lazy_Trader_Expert.mq4 Ссылка на сообщение Поделиться на другие сайты More sharing options...
geratdc Опубликовано 6 мая, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 6 мая, 2017 Сделал сеточного советника по видеоурокам. Нужен совет по Трейлингу. На видеоуроках был пример трейлинга для несвязанных ордеров, но в советнике они же связаны и у меня всё запуталось. В общем что-то вот такое получилось.Аналогичная тема на MQL сайте есть.Прошу вас дать совет как сделать трейлинг на связанные открытые позиции - их 3 как правило.В коде именно часть под названием void Trailing() вызывает непонимание, естественно я код уже искаверкал что был после видеоурока, не знаю что здесь придумать. В целом советник вроде неплохой, потихоньку его надстраиваю.Спасибо, если кто заморочится и даст совет по реализации кода для Трейлинга в данной модели советника.Прикрепил советника и фотку с отчётом. BLACKJACKHOOKERS_TrailX.mq4EURUSD_deposit_100_$_TrailX.gifEURUSD_deposit_100_$_TrailX.htm Ссылка на сообщение Поделиться на другие сайты More sharing options...
DreamWorks Опубликовано 6 мая, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 6 мая, 2017 А Вы что тралить то пытаетесь? Ссылка на сообщение Поделиться на другие сайты More sharing options...
dipladog Опубликовано 6 мая, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 6 мая, 2017 static datetime dt = 0;if ( dt == Time[1] ) return();dt = Time[1];и далее Ваш код. так выдает ошибки, а если добавить 0 в ретурн то ошибок нет static datetime dt=0; if(dt==Time[1])return(0); dt=Time[1]; 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
d1w4m3 Опубликовано 6 мая, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 6 мая, 2017 И это опять я))Отвалилась переобувка сигнала, при появлении нового!Не получилось ли так, что в Ваш цикл кидается по отдельности первый сигнал бай, а потом и первый сигнал сел?И от этого тогда он не видит первый открытый ордер?ps я честно пересмотрел и перечитал все! Изменял условия, блоки и тд. @-) .jpg Ссылка на сообщение Поделиться на другие сайты More sharing options...
DreamWorks Опубликовано 6 мая, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 6 мая, 2017 Отвалилась переобувка сигнала, при появлении нового! d1w4m3, выражайтесь, пожалуйста, человеческим языком. Что значит "переобувка сигнала"? Я не писал никаких циклов, Вы о чем? Не понял Вашей проблемы. Ссылка на сообщение Поделиться на другие сайты More sharing options...
d1w4m3 Опубликовано 6 мая, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 6 мая, 2017 Извиняюсь.Например:Открыт бай, когда тренд меняется(цвет индикатора), на DN_trend, должен закрыться бай и открыться селл(как было раньше).Теперь сел отрывается а бай не закрывается! Добавлено: 06-05-2017 15:50:27 if(LastTradeSignal==-1) { if(DN_Trend()==true) LastTradeSignal=OP_SELL; if(UP_Trend()==true) LastTradeSignal=OP_BUY; if(LastTradeSignal==-1)return; }Пока LastTradeSignal не будет присвоено OP_SELL или OP_BUY, новый ордер не откроетсяне могу сформулировать правильно вопрос черт(Первым ордером считается или бай или селл, или они по отдельности будут первыми, для сел позиций сел, для баев бай.извиняюсь но по другому не могу, буду учиться Изменено 6 мая, 2017 пользователем d1w4m3 Ссылка на сообщение Поделиться на другие сайты More sharing options...
geratdc Опубликовано 6 мая, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 6 мая, 2017 Приветствую,ну как что тралить - профиты))) Там на уроке про модификацию ордера сообщалось ну а как же это сделать можно если связанные ордера? и профит я там снимаю по всем трём ордерам. Знаний не хватает. Можно ли в такой схеме вообще трейлинг применять? Я там нашКОДил ерунду какую-то - вроде бы тралит судя по отчётам теста МТ4, раньше строго на уровне тейкпрофита ордера закрывались а сейчас и в 3 и в 5 раз больше может забрать но всё равно некорректно это всё, поэтому и ищу помощи у специалистов если время есть подумайте пожалуйста как натрейлить корректно можно в такой схеме контр-ордеров. Мне пришлось аналогию применить только к последнему открытой позиции из трёх - она может быть и buy и sell позицией, ну и что-то запутался я там с кодом в функции Trailing(); - не нравится мне это. Хочется трейлинг, но корректно не могу его в такой ордерной схеме применить...Я так понимаю трейлить надо по двум ордерам - позициям из трёх а я только к последнему ордеру зацепиться смог да и то не понимаю как трейлинг сработал - там накуралесил - боюсь что из-за некоректной кодировки слив может быть, а его вероятность и без трейлинга высокая.... Изменено 6 мая, 2017 пользователем geratdc Ссылка на сообщение Поделиться на другие сайты More sharing options...
DreamWorks Опубликовано 6 мая, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 6 мая, 2017 Извиняюсь.Например:Открыт бай, когда тренд меняется(цвет индикатора), на DN_trend, должен закрыться бай и открыться селл(как было раньше).Теперь сел отрывается а бай не закрывается! То, что мы с Вами вчера написали абсолютно никак не связано с закрытием ордеров. Оно лишь влияет на открытие новых ордеров. А точнее на то, чтобы открытие по сигналам функций чередовалось. Если у Вас не закрывается ордер, то смотрите на корректность условий, при которых он обязан закрыться. Есть очень простое, но очень эффективное правило: если событие не наступает, значит нет условий для его наступления. Вот и все. Давайте посмотрим при каких условиях у Вас закрываются ордера://закрываем селл-ордера if ( CountSell()>0 && Open[4] > uptr && Close[4] > uptr && UP_Trend()==true)//закрываем бай-ордераif ( CountBuy()>0 && Open[4] Здесь присутствуют два условия, в которых с большой вероятностью и кроется причина не закрытия противоположного ордера, это Open[4] 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
DreamWorks Опубликовано 6 мая, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 6 мая, 2017 Хм... то-то я смотрю вы тейкпрофит тянете впереди цены, как морковку перед осликом :d Ну и судя по картинке, этот прием Вам удался ;) В коде у Вас написано конечно много странных вещей, поэтому я подумал, что мне это показалось... А вообще обычно принято тралить стоп. На то он и называется трейлингСТОП. Урок, о котором Вы говорите, я не помню о чем там речь конкретно шла, пересматривать конечно не стану. Вы опишите просто свою задачу. Что Вы имеете ввиду под "связанные ордера"? Судя по коду, ордера у Вас закрываются при достижении определенной суммы профита в валюте по всем ордерам. В таком варианте тралить можно только сумму общего профита всех ордеров. 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
geratdc Опубликовано 6 мая, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 6 мая, 2017 06/05/2017 В таком варианте тралить можно только сумму общего профита всех ордеров. То что я там сделал неверно конечно. Вот именно об этом я тоже думал. Хорошо попробую завтра вникнуть ещё раз и применить к этой функции. Попробую её потралить но не уверен что получится.А урок вот какой был. код я прилагаю. Я и постарался по аналогии сделать, но там модификация была стопов а я не мог это применять на стоппереворотных ордерах.07/05/2017Готово!Посмотрите пожалуйста насчёт логики. Вроде получилось через CalculateProfit трейлить, но удивительно то, что старый (вчерашний) код ровно такие же итоги выдаёт после того как я все параметры привёл к одинаковым значениям для теста, а TakeProfit, TrailingStep и TrailingStop приведены везде к типу double.Больше всех наторговал советник без трейлинга - но если сравнить количество трейдов у него их больше. Вопрос такой: в чём выгода тогда трейлить? Если в итоге прибыли меньше? Какая выгода от меньшего количества трейдов? Не понимаю.Прилагаю фото тестов.SimpleTrailing_Lesson5.mq4BLACKJACKHOOKERS_TrailX.mq4BJH_100_TrailX_OFF.gifTrailX_100_New_code.gifTrailX_100_Old_code.gifBJH_100_TrailX_OFF.htmTrailX_100_New_code.htmTrailX_100_Old_code.htmBLACKJACKHOOKERS.mq4 Изменено 7 мая, 2017 пользователем geratdc Ссылка на сообщение Поделиться на другие сайты More sharing options...
d1w4m3 Опубликовано 7 мая, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 7 мая, 2017 if(UP_Trend()==true && LastTradeSignal != OP_BUY) /// Если Аптренд правда и последний сигнал не равен бай{ if( CountBuy() == 0 && Open[3] > uptr && Close[3] > uptr) //// И если нет открытых баев, (открытие и закрытие 3 свечи) больше аптренда { if ( CountSell()>0) ///Если сел открыт { if (OrderSelect(SELECT_BY_POS, MODE_TRADES)) /// выбираем ордер { if (OrderMagicNumber() == Magic && OrderType() == OP_SELL ) /// по мейжику и типу if(!OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, Black)) //// закрываем его Print("Ошибка"); } ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, 0, 0, "Sloper", Magic, 0, Blue);//// открываем бай if (ticket>0) //// если ордер открыт { TP = NormalizeDouble(OrderOpenPrice() + TakeProfit*Point, Digits); //// приводим в порядок ТР И SL SL = NormalizeDouble(OrderOpenPrice() - StopLoss*Point, Digits); if (OrderSelect(ticket, SELECT_BY_TICKET)) ///////выбираем ордер if(!OrderModify(ticket, OrderOpenPrice(), SL, TP, 0)) ///// и модифицируем Print("Ошибка на покупку"); LastTradeSignal=OP_BUY; ////////запоминаем последний тип одера } } } }Вот я правильно читаю код или нет? Ссылка на сообщение Поделиться на другие сайты More sharing options...
DreamWorks Опубликовано 7 мая, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 7 мая, 2017 Вот я правильно читаю код или нет? d1w4m3, понимаете то, ЧТО должно быть написано правильно, но пишете не правильно. Привел Ваш код в нормальный вид и прокомментировал. Но исправлять ошибки не стал, лишь указал на них, думаю сами должны додумать. И еще. Когда вы проверяете выполнение каких-то условий, то надо писать так, чтобы действие, которое зависит от выполнения условия, не могло выполниться, если условие не выполнено. Нет смысла писать, например вот это: if (OrderMagicNumber() == Magic && OrderType() == OP_SELL ) /// по мейжику и типуif(!OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, Black)) //// закрываем егоПервая строчка проверяет магик и тип ордера. Вторая строчка, где ордер закрывается, должна выполниться только если у ордера нужный магик и тип. Но функция закрытия ордера будет вызвана в любом случае, независимо от того какой там у нас тип или магик. Смысл проверки в первой строчке утрачивается. Ваш код if(UP_Trend()==true && LastTradeSignal!=OP_BUY) /// Если Аптренд правда и последний сигнал не равен бай { if(CountBuy()==0 && Open[3]>uptr && Close[3]>uptr) //// И если нет открытых баев, (открытие и закрытие 3 свечи) больше аптренда { if(CountSell()>0) ///Если сел открыт { //Какой ордер здесь выбран???! Где индекс выбираемого ордера??? if(OrderSelect(SELECT_BY_POS,MODE_TRADES)) /// выбираем ордер { if(OrderMagicNumber()==Magic && OrderType()==OP_SELL) /// по мейжику и типу { if(OrderClose(OrderTicket(),OrderLots(),Bid,Slippage,Black)) //// закрываем его { ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,0,0,"Sloper",Magic,0,Blue);//// открываем бай if(ticket>0) //// если ордер открыт { TP=NormalizeDouble(OrderOpenPrice()+TakeProfit*Point,Digits); //// приводим в порядок ТР И SL SL= NormalizeDouble(OrderOpenPrice() - StopLoss*Point, Digits); if(OrderSelect(ticket,SELECT_BY_TICKET)) ///////выбираем ордер { if(!OrderModify(ticket,OrderOpenPrice(),SL,TP,0)) ///// и модифицируем Print("Ошибка на покупку"); } LastTradeSignal=OP_BUY; ////////запоминаем последний тип одера } } else Print("Ошибка"); } } //Гарантированно получаем эту запись в журнале else Print("Ордер для закрытия не выбран!"); } } } 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
d1w4m3 Опубликовано 8 мая, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 8 мая, 2017 Спасибо за ответ, но по Вашему получается, если ордер не открыт то и вся эта цепочка не сработает!Как я понимаю, если условие сработала, если ордер сел открыт тогда мы его закрываем и открываем бай!А если ордер не открыт не понимаю что тогда будет происходить?По поводу тикета: опять же если ордер открыт тогда я могу использовать if (OrderSelect(ticket, SELECT_BY_TICKET)) А по другому придется опять вернуться к for(int i = OrdersTotal() -1; i>=0; i--){ if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))Или я окончательно запутолся? Ссылка на сообщение Поделиться на другие сайты More sharing options...
DreamWorks Опубликовано 8 мая, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 8 мая, 2017 d1w4m3, Вы сами должны предусмотреть, продумать и прописать все возможные ситуации. Если ордер открыт, то делаем то-то. Если не открыт, то, соответственно, открываем и т.д. У оператора if-else кроме if есть еще и else. Это первое. Второе. Если не знаете, какой тикет у закрываемого ордера, то Ваш путь - цикл с перебором всех подходящих ордеров. Так, как Вы написали if(OrderSelect(SELECT_BY_POS,MODE_TRADES)), писать нельзя и работать это не будет. Третье. Если мы продолжим в том же ритме обсуждать здесь Ваш код, то ветка напрочь зафлудится только нашей с Вами перепиской. Думайте, думайте и еще раз думайте, и только потом задавайте вопросы. Ссылка на сообщение Поделиться на другие сайты More sharing options...
Silentspec Опубликовано 8 мая, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 8 мая, 2017 Подскажите, плиз, такую вещь.Я использую в боте различные таймфреймы, от М1 до D1. Обычно ставлю его на реале на М1 и никаких проблем не возникает, значит все верхние тф либо подгружаются на автомате, либо пересчитываются из М1. Кстати, как на самом деле? Если открыт график М1, история по другим периодам подкачивается тоже?Так вот. Возникла проблема - 20 графиков М1 жрут 6 гигов оперативы.Отлаживал код, отлаживал... Думал, может проблема в неэффективном коде. Все прилизал, все летает, но нет.По прежнему 6 гигов. Снял ботов, оставил графики - точно, сами графики М1 жрут тучу оперативы.Короче, вопрос.По большому счету, совам моим пофиг, на каком периоде стоять, таймфреймы заданы жестко в коде,но я считаю закрытие М1 свечи, чтобы по всем тикам не гонять сову и не зависеть от тиковой истории.Так вот, если я поставлю сову на графики Н1, например, история по более коротким ТФ будет в процессе работы подкачиваться автоматом?Или придется какой нибудь рефреш прикручивать для принудительной загрузки?Может кто уже вертел, знает, а то неохота проверять. Время все таки. Ссылка на сообщение Поделиться на другие сайты More sharing options...
d1w4m3 Опубликовано 8 мая, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 8 мая, 2017 Ок спасибо. if(UP_Trend()==true) { if ( CountSell()>0 && uptr!=dntr) { for(int i = OrdersTotal() -1; i>=0; i--) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if (OrderMagicNumber() == Magic && OrderType() == OP_SELL ) if(!OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, Black)) Print("Ошибка");Все оказалось очень просто)))Еще раз спасибо за терпение Изменено 8 мая, 2017 пользователем d1w4m3 Ссылка на сообщение Поделиться на другие сайты More sharing options...
sniv Опубликовано 8 мая, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 8 мая, 2017 2Silentspec - мне помогало от прожорливости мт удаление(или перенос) всего лишнего из indicators и experts,, и обязательного удаления mqlcache.dat там и там для пересчета содержимого. Все это при выключенном терминале. Ссылка на сообщение Поделиться на другие сайты More sharing options...
DreamWorks Опубликовано 8 мая, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 8 мая, 2017 ...значит все верхние тф либо подгружаются на автомате, либо пересчитываются из М1. Кстати, как на самом деле? Если открыт график М1, история по другим периодам подкачивается тоже? Да. Если открыт M1, а советник обращается к периоду, отличному от M1, то история будет подкачиваться именно по тому периоду, к которому обращается советник. Ничего не пересчитывается.Так вот, если я поставлю сову на графики Н1, например, история по более коротким ТФ будет в процессе работы подкачиваться автоматом?Или придется какой нибудь рефреш прикручивать для принудительной загрузки? Все должно автоматом подкачиваться. Сейчас специально эксперимент провел. Повесил советник на H1, а в комментарий вывел цену закрытия Close[100] с M1. При этом для чистоты эксперимента оставил только файл истории H1. В комментарий успешно вывелась цена закрытия сотого бара с M1. После эксперимента проверил папку с файлами истории. Появился файл истории M1. Так что, думаю нет проблем, чтобы сов висел на H1, а работал с историей M1. 2 Ссылка на сообщение Поделиться на другие сайты More sharing options...
geratdc Опубликовано 8 мая, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 8 мая, 2017 В общем советник мною чуть подправлен по входу в торговлю и вроде меньше проблем стало связанных с просадками (банкротством). Но всё равно их хватает конечно))) На этом остановлюсь. Будет что новое по организации корректного трейлинга - пишите на почту пожалуйста. Пока оставлю так, тесты более-менее его наличие подтверждают, а сливы там если происходят то по контр-движению рынка и просадке сверх депозита. Ну как обычно)))Прилагаю фото тестов по котировкам за 4 месяца:с Января до Мая 2017 года - архив котировок от тиковой мили (Tick Mill)Спасибо вам за идеи, успехов! На MQL официальном сайте есть тема посвящённая данному алгоритму, кому интересно - вы можете её найти в аналогичном на TradeLikeAPro профиле. Тема называется "Необходимо описать процедуру алгоритма" :). BLACKJACKHOOKERS.mq4BLACKJACKHOOKERS_TrailX.mq4EURUSD_deposit_100_$.gifEURUSD_deposit_1_000_$.gifEURUSD_deposit_10_000_$.gifGPBUSD_deposit_100_$.gifGPBUSD_deposit_1_000_$.gifGPBUSD_deposit_10_000_$.gifREADME.txtНастройки_тестов.txt Изменено 8 мая, 2017 пользователем geratdc Ссылка на сообщение Поделиться на другие сайты More sharing options...
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти