0ll Опубликовано 15 сентября, 2018 Поделиться Доработка советников: общая тема Опубликовано 15 сентября, 2018 Щас снесут...А зачем сносить? здесь коммерция запрещена, а не поиск услуги, так что всё нормально.Dob2k я понимаю, что программировать не все могут, но поиском в интернете нужно уметь пользоваться... Вот нашёл для Вас советник.ft_cci.mq4 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Серега7317 Опубликовано 18 сентября, 2018 Поделиться Доработка советников: общая тема Опубликовано 18 сентября, 2018 Господа товарищи, помогите , не пойму в чем дело. В тестере сова ставит безубыток, а на демо нет. :(( LOPATA_1.1.rar Ссылка на сообщение Поделиться на другие сайты More sharing options...
usver73 Опубликовано 18 сентября, 2018 Поделиться Доработка советников: общая тема Опубликовано 18 сентября, 2018 В тестере сова ставит безубыток, а на демо нет. А у Вас он в тестере запустился?!Все индикаторы считаются каждый тик. И графические элементы тоже...Код Спойлер //+------------------------------------------------------------------+bool ModifyOrder (int aticket, double aprice, double astoploss,double atakeprofit, datetime expiration,color arrow_color = clrRed){if (IsStopped()) {Print("Ошибка, остановлен: IsStopped() == true");return(false);}int TryCount = 20;int cnt = 0;while(!IsTradeAllowed() && cnt cnt++;}if (!IsTradeAllowed()){Print("Ошибка: Операция недопустима - IsTradeAllowed()==false");return(false);}if (OrderSelect(aticket, SELECT_BY_TICKET,MODE_TRADES)){string symbol = OrderSymbol();int digits = int(MarketInfo(symbol, MODE_DIGITS));if (digits > 0){aprice = NormalizeDouble(aprice,digits);astoploss = NormalizeDouble(astoploss,digits);atakeprofit = NormalizeDouble(atakeprofit,digits);}}int err = GetLastError();err = 0;bool exit_loop = false;bool result = false;while (!exit_loop){if (IsTradeAllowed()){result = OrderModify(aticket, aprice, astoploss, atakeprofit, expiration, arrow_color);err = GetLastError();}else cnt++;if (result == true) exit_loop = true;switch (err){case ERR_NO_ERROR:exit_loop = true;break;case ERR_NO_RESULT:exit_loop = true;break;case ERR_SERVER_BUSY:case ERR_NO_CONNECTION:case ERR_INVALID_PRICE:case ERR_OFF_QUOTES:case ERR_BROKER_BUSY:case ERR_TRADE_CONTEXT_BUSY:case ERR_TRADE_TIMEOUT:cnt++;break;case ERR_PRICE_CHANGED:case ERR_REQUOTE:RefreshRates();continue;default:exit_loop = true;break;}if (cnt > TryCount)exit_loop = true;if (!exit_loop){Print("Ошибка, попыток: (" + IntegerToString(cnt) + "/" + IntegerToString(TryCount)); Sleep(500);RefreshRates();}if (exit_loop){if ((err != ERR_NO_ERROR) && (err != ERR_NO_RESULT))Print("Ошибка: " + IntegerToString(err));}} if ((result == true) || (err == ERR_NO_ERROR)){Print("Успешная модификация");if(OrderSelect(aticket, SELECT_BY_TICKET, MODE_TRADES)){OrderPrint(); return(true);}else{return(false);}}if (err == ERR_NO_RESULT){return(true);}Print("Ошибка модификации после " + IntegerToString(cnt) + " попыток");Print("Ошибка модификации: " + IntegerToString(aticket) + " " + _Symbol + "@" + DoubleToString(aprice) + " tp@" + DoubleToString(atakeprofit) + " sl@" + DoubleToString(astoploss)); Print("Ошибка : " + IntegerToString(err));return(false);} в таком виде не читается... 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Серега7317 Опубликовано 18 сентября, 2018 Поделиться Доработка советников: общая тема Опубликовано 18 сентября, 2018 Все работает кромме бу.А эту ф-ю я просто ужал в строчку. Добавлено: 18-09-2018 16:57:22Все индикаторы считаются каждый тик. Покажи пожалуйста кусок кода...Функция_качественной_модификации_ордеров.txt Изменено 18 сентября, 2018 пользователем Серега7317 Ссылка на сообщение Поделиться на другие сайты More sharing options...
DirektoLTD Опубликовано 7 октября, 2018 Поделиться Доработка советников: общая тема Опубликовано 7 октября, 2018 Есть советник для ручной торговли, больше похож на тестировние стратегий. Но не хватает функционала. Если можно, добавте умножитель лота следующей сделки и общий профит, при котором закрываются все открытые ордера. Хочу протестировать ряд индикаторов по такой схеме. Поступает сигнал открываю ордер. Каждый следующий ордер с умножением. Закрываются ордера в указанном профите. Можно писы или денежный показатель. Советник прилагаю. И по возможности установите инфопанель для мониторинга торговли. Инфопанель так же прилагаю. HandTester.mq4stat_informer2.mq4 Изменено 7 октября, 2018 пользователем DirektoLTD Ссылка на сообщение Поделиться на другие сайты More sharing options...
Колиш Опубликовано 7 октября, 2018 Поделиться Доработка советников: общая тема Опубликовано 7 октября, 2018 Никто не пробовал переписывать Ilan 1.6 под MQL5 ? Изменено 7 октября, 2018 пользователем Pavel888 Ссылка на сообщение Поделиться на другие сайты More sharing options...
AndrewR Опубликовано 9 октября, 2018 Поделиться Доработка советников: общая тема Опубликовано 9 октября, 2018 Приветствую, уважаемые программисты форума!Есть просьба одна к тем, кто разбирается и пишет коды советников. Просьба такова: нужен блок кода, который бы можно было встроить в советник, и который закрывает ордера, открытые этим советником, по достижении этими ордерами определенного "процента прибыли на мин.лот 0.01". Желательно процент прибыли рассчитывать от баланса, а не от эквити. И значение вводимой переменной ProfitMinLot сделать не до целых, а до десятых долей процента.Пример: открылся сов лотом 0.01 по какой-либо паре, счет с балансом 100USD, настройка ProfitMinLot стоит 5%, прибыль достигла 5USD - кроем ордер. На ордер 0.02 профит нужен 10USD соответственно.Возможно, это уже есть в каких-либо совах с открытым кодом, но я пока таковых не нашёл.Сам в написании кода не силён. Только модифицировал совы "переносом" блоков кода с добавлением недостающих переменных из одной совы в другую. Ссылка на сообщение Поделиться на другие сайты More sharing options...
loveЦ Опубликовано 9 октября, 2018 Поделиться Доработка советников: общая тема Опубликовано 9 октября, 2018 Есть просьба одна к тем, кто разбирается и пишет коды советников. Просьба такова: нужен блок кода, который бы можно было встроить в советник, и который закрывает ордера, открытые этим советником, по достижении этими ордерами определенного "процента прибыли на мин.лот 0.01". Желательно процент прибыли рассчитывать от баланса, а не от эквити. И значение вводимой переменной ProfitMinLot сделать не до целых, а до десятых долей процента. Здравствуйте! 1. считаете прибыль от баланса (AccountBalance()*(1+(Ваш процент*0.01)))- AccountBalance() ....к примеру так2. сравниваете OrderProfit с прибылью от баланса, если больше, то закрываетеЯ понимаю, что это может не помочь, но мне нужен Ваш код, чтоб туда вшить функцию, видеть как у вас сопровождаются сделки....логику открытия ордеров можете скрыть. А если нет секретов, то код в студию или мне в личкузы. Все_бесплатно)))))) 2 Ссылка на сообщение Поделиться на другие сайты More sharing options...
AndrewR Опубликовано 9 октября, 2018 Поделиться Доработка советников: общая тема Опубликовано 9 октября, 2018 Ок. Чуть позже. Код открытый. Ссылка на сообщение Поделиться на другие сайты More sharing options...
loveЦ Опубликовано 11 октября, 2018 Поделиться Доработка советников: общая тема Опубликовано 11 октября, 2018 Здравствуйте.Можете дописать в советнике,что бы была возможность выставить время в которое нужно выставлять отложенные ордера Выставляет отложки по времени (доработка) по логике советника (как было)Добавлено: 11-10-2018 20:00:01Добрый день! Есть советник, задумка для дальнейшего прогона интересна, но почему- то даже не смотря на то, что увеличенные мартингейлом лоты, закрывающиеся по ТП не закрывают минуса предыдущих сделок. Почему-то меняется сам ТП новых сделок. Помогите кто может исправить эту проблему,заранее благодарю . Думаю, Вам надо прислать ваши настройки советника (сеты), потому что по стандартным настройкам сов работает без сбоев, тем более он прост как....В определенное время открывает сделку на пробое ценового канала (по закрытию свечи) и выставляет sl=tp. Сделка закрывается по времени или по sl/tp. На следующий день объем сделки увеличивается на коэффициент))DayHL_Orders.mq4DayHL_Orders.ex4 Изменено 11 октября, 2018 пользователем loveЦ 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
seric245 Опубликовано 15 октября, 2018 Поделиться Доработка советников: общая тема Опубликовано 15 октября, 2018 Мне необходимо добавить магик код в советник Profiter_105_mt4 Его там нет и советник начинает работать с любым ордером вручную открытым, т.е. магиком 0Хорошо бы было работать только с одним единственным ордером по мейджик коду. Со вторым ордеров будет работать второй экземпляр советника. Profiter_105_mt4.ex4 Ссылка на сообщение Поделиться на другие сайты More sharing options...
loveЦ Опубликовано 15 октября, 2018 Поделиться Доработка советников: общая тема Опубликовано 15 октября, 2018 Мне необходимо добавить магик код в советник Profiter_105_mt4 Его там нет и советник начинает работать с любым ордером вручную открытым, т.е. магиком 0Хорошо бы было работать только с одним единственным ордером по мейджик коду. Со вторым ордеров будет работать второй экземпляр советника. Для того чтобы "колдовать" над советником нужен его исходник с расширением файла mq4. В твоем случае нужен файл Profiter_105_mt4.mq4, если он существует, то, пожалуйста, в студию b-) Ссылка на сообщение Поделиться на другие сайты More sharing options...
seric245 Опубликовано 15 октября, 2018 Поделиться Доработка советников: общая тема Опубликовано 15 октября, 2018 К сожалению такого файла нет. Советник имеет закрытый код и терминал не конвертирует его в файл MQL4 Так может написать подобный советник для частичного закрытия ордера и переноса в безубыток, но только чтобы в настройках имелось поле: магик Изменено 15 октября, 2018 пользователем seric245 Ссылка на сообщение Поделиться на другие сайты More sharing options...
loveЦ Опубликовано 15 октября, 2018 Поделиться Доработка советников: общая тема Опубликовано 15 октября, 2018 К сожалению такого файла нет. Советник имеет закрытый код и терминал не конвертирует его в файл MQL4 Так может написать подобный советник для частичного закрытия ордера и переноса в безубыток, но только чтобы в настройках имелось поле: магик Попробуйте 2018-10-15_17-09-55.jpgProfiter_105_mt4.ex4 Изменено 16 октября, 2018 пользователем loveЦ 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
AndrewR Опубликовано 16 октября, 2018 Поделиться Доработка советников: общая тема Опубликовано 16 октября, 2018 Приветствую, уважаемые программисты форума!Есть просьба одна к тем, кто разбирается и пишет коды советников. Просьба такова: нужен блок кода, который бы можно было встроить в советник, и который закрывает ордера, открытые этим советником, по достижении этими ордерами определенного "процента прибыли на мин.лот 0.01". Желательно процент прибыли рассчитывать от баланса, а не от эквити. И значение вводимой переменной ProfitMinLot сделать не до целых, а до десятых долей процента.Пример: открылся сов лотом 0.01 по какой-либо паре, счет с балансом 100USD, настройка ProfitMinLot стоит 5%, прибыль достигла 5USD - кроем ордер. На ордер 0.02 профит нужен 10USD соответственно.Возможно, это уже есть в каких-либо совах с открытым кодом, но я пока таковых не нашёл.Сам в написании кода не силён. Только модифицировал совы "переносом" блоков кода с добавлением недостающих переменных из одной совы в другую. В добавление к первой просьбе, в цитате сверху, есть ещё одна:Добавить в этот же сов, помимо модуля-"закрывашки" ещё планировщик(по типу планировщика из ещё одного сова с закрытым кодом). Совы на форуме довольно известные:- доработать нужно сова MilkyWay(исходник прилагаю);- сов, идею планировщика которого желательно копировать - LaguerreScalper. Только фильтров на вход сделать нужно не по 4, а по 6 на каждый день недели(сов входит на открытии 4-х часовой свечи).Milky_way_EA_v3.24_m07_DayChange.mq4Laguerre_v1.05.ex4 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Skytype Опубликовано 17 октября, 2018 Поделиться Доработка советников: общая тема Опубликовано 17 октября, 2018 Здравствуйте, только начал изучать MQL4.Нужно подключить индикатор Oscillator of Indicator and MA.mq4 в советник.Для того чтобы им пользоваться мне нужно получить и записать в переменные значения линий и шкалы с помощью iCustom, но найти индексы линий и шкалы не могу.Вот в коде индикатора эти переменные заданы: #property indicator_buffers 5#property indicator_color1 clrLimeGreen#property indicator_color2 clrFireBrick#property indicator_color3 clrAqua#property indicator_color4 clrMagentaа вот задаются индексы://--- indicator buffers mapping IndicatorBuffers(indicator_buffers); SetIndexStyle(0,DRAW_HISTOGRAM); SetIndexStyle(1,DRAW_HISTOGRAM); SetIndexStyle(2,DRAW_LINE); SetIndexStyle(3,DRAW_LINE); SetIndexStyle(4,DRAW_NONE); SetIndexBuffer(0,OscBuffer1); SetIndexBuffer(1,OscBuffer2); SetIndexBuffer(2,IndicatorBuffer); SetIndexBuffer(3,SignalBuffer); SetIndexBuffer(4,Oscillator); SetIndexShift(3,MAShift);и какие индексы мне брать не пойму, может кто сказать? Screenshot_1.jpgOscillator_of_Indicator_and_MA.mq4 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 17 октября, 2018 Поделиться Доработка советников: общая тема Опубликовано 17 октября, 2018 какие индексы мне брать не пойму, может кто сказать?В Вашем индикаторе 2 линии во 2 и 3 буфере, гистограмма состоит тоже из 2 буферов №№ 0 и 1 они разного цвета. Если нужны все линии, то нужно 4 раза объявить iCustom с одинаковыми параметрами и разными № буфера.Пример:double AquaLine = iCustom( NULL, 0, "Oscillator of Indicator and MA.ex4", ... параметры ..., 2 (№ буфера) , 1 (№ бара) );double MagentaLine = iCustom( NULL, 0, "Oscillator of Indicator and MA.ex4", ... параметры ..., 3 (№ буфера) , 1 (№ бара) ); 2 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Skytype Опубликовано 17 октября, 2018 Поделиться Доработка советников: общая тема Опубликовано 17 октября, 2018 Спасибо, а как ты определил, какой номер буфера за что отвечает? Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 17 октября, 2018 Поделиться Доработка советников: общая тема Опубликовано 17 октября, 2018 как ты определил, какой номер буфера за что отвечает?Обрати внимание на надписи DRAW_HISTOGRAM - гистограмма, DRAW_LINE - линия, цифрой обозначается №буфера, с цветом чуть сложнее: если номер буфера = 3, то номер линии для цвета = 4 (отсчёт не с 0, а с 1), т.е. для буфера 3 (линия) - indicator_color4 clrMagenta Ссылка на сообщение Поделиться на другие сайты More sharing options...
Skytype Опубликовано 17 октября, 2018 Поделиться Доработка советников: общая тема Опубликовано 17 октября, 2018 Вроде как понял.А что здесь SetIndexStyle(4,DRAW_NONE);? Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 17 октября, 2018 Поделиться Доработка советников: общая тема Опубликовано 17 октября, 2018 А что здесь SetIndexStyle(4,DRAW_NONE);?Это не отображаемый буфер для промежуточных расчётов. Вам нужно справкой пользоваться - в редакторе выделили интересуемое слово и открыли редактор, он сразу покажет справку по этому слову. 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
vitek01 Опубликовано 18 октября, 2018 Поделиться Доработка советников: общая тема Опубликовано 18 октября, 2018 Вам нужно справкой пользоваться - в редакторе выделили интересуемое слово и нажали F1, он сразу покажет справку по этому слову. Изменено 18 октября, 2018 пользователем vitek01 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
AndrewR Опубликовано 19 октября, 2018 Поделиться Доработка советников: общая тема Опубликовано 19 октября, 2018 День добрый! Задача по доработке состоит из 2 моментов:1) добавить возможность закрывать позиции, открытые советником, не только по встроенным фильтрам, ТП и СЛ, а ещё и по приросту депозита. Оставить кнопку выбора: закрывать позиции по стандарту, или по приросту депозита. Расчёт прироста депозита:- сов при открытии позиции записывает текущее значение баланса в память;- пользователь в настройках задаёт значение прироста депозита на мин лот 0.01 (думаю нужно сделать с точностью до 0,1% на лот 0,01);- по достижении ордером заданного процента профита - ордер прикрывается.Пример: открылся сов лотом 0.01 по какой-либо паре, счет с балансом 100USD, настройка ProfitMinLot стоит 5%, прибыль достигла 5USD - кроем ордер. На ордер 0.02 профит нужен 10USD соответственно.Так как совы, предложенные для доработки, открывают по 2 ордера сразу, то возможно сделать настройку процента прироста депозита для каждого из 2 ордеров индивидуально.2) добавить планировщик времени работы(6 временных интервалов на сутки), - сов, идею планировщика которого желательно копировать - LaguerreScalper(он, к сожалению только в ex4).Советников для доработки - аж 3 штуки. Но в каждом из них нужно добавить одни и те же функции, что описаны выше.Исходники сов для доработки прилагаю. Force_Trader_v1.0.mq4Milky_way_EA_v3.24_m07_DayChange.mq4Turtles_v1.0.mq4Laguerre_v1.05.ex4 Ссылка на сообщение Поделиться на другие сайты More sharing options...
loveЦ Опубликовано 21 октября, 2018 Поделиться Доработка советников: общая тема Опубликовано 21 октября, 2018 День добрый! Задача по доработке состоит из 2 моментов:1) добавить возможность закрывать позиции, открытые советником, не только по встроенным фильтрам, ТП и СЛ, а ещё и по приросту депозита. Оставить кнопку выбора: закрывать позиции по стандарту, или по приросту депозита. Расчёт прироста депозита:- сов при открытии позиции записывает текущее значение баланса в память;- пользователь в настройках задаёт значение прироста депозита на мин лот 0.01 (думаю нужно сделать с точностью до 0,1% на лот 0,01);- по достижении ордером заданного процента профита - ордер прикрывается.Пример: открылся сов лотом 0.01 по какой-либо паре, счет с балансом 100USD, настройка ProfitMinLot стоит 5%, прибыль достигла 5USD - кроем ордер. На ордер 0.02 профит нужен 10USD соответственно.Так как совы, предложенные для доработки, открывают по 2 ордера сразу, то возможно сделать настройку процента прироста депозита для каждого из 2 ордеров индивидуально. Добрый день!Добавил закрытие сделок по проценту от баланса.Вопрос: В милки добавить нужно открытие сделок по времени 6 интервалов, т.е. ,к примеру, 1. открытие в 0-00 , 2. открытие 2-45, 3. открытие 8-05.......6. открытие 23-55?Force_Trader_v1.0.mq4Turtles_v1.0.mq42018-10-21_10-22-01.jpg 2 Ссылка на сообщение Поделиться на другие сайты More sharing options...
AndrewR Опубликовано 21 октября, 2018 Поделиться Доработка советников: общая тема Опубликовано 21 октября, 2018 Спасибо за труды! Единственное, что подправить: значение прироста депозита на мин.лот округлять не до десятых, а до сотых долей процента для более гибкой настройки(просто в большинстве сделок этих ботов прибыль в % прироста депозита не превышает 0.1% на мин.лот 0.01).По поводу Милки: да, сделать 6 временных интервалов торговли. По примеру планировщика в LaguerreScalper:MondayTrade__________false\trueMondayTimeFilter_1____false\trueMondayStartHour_1____0...23 \\значение задаётся трейдеромMondayStopHour_1____0...23MondayTimeFilter_2____false\true....... и так 6 фильтров.Единственное - остался открытым вопрос по ФорсТрейдеру и Черепахам: стоит ли там оставлять открытие позиции 2-мя ордерами. Просто в оригиналах сов на их мониторингах иногда открытие совершается одним ордером, а иногда двумя. Задано ли это в коде, или открытие 2-го ордера не происходило из-за косяков брокера - мне осталось неясным. Но в любом случае, если оставлять открытие 2-мя ордерами, - надо чтобы логика их закрытия была разная. Например 1-й ордер закрывается по % прироста депозита, а 2-й - по тралу или индикаторам(как в оригинале).Как обещал ранее - выкладываю Черепах и ФорсТрейдера с прилепленым мной планировщиком. Если на трудно - можете код посмотреть, правильно ли я его перенес с другого сова? Ваш блок с закрытием по приросту депозита не сложно будет в эти доработанные коды добавить? Turtles_v1.0Time_Filter.mq4Force_Trader_v1.0Time_Filter.mq4 Изменено 21 октября, 2018 пользователем AndrewR Ссылка на сообщение Поделиться на другие сайты More sharing options...
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти