0ll Опубликовано 6 января, 2019 Поделиться Доработка советников: общая тема Опубликовано 6 января, 2019 Держи. FX_Pro_Bot_-TinoEUM5.mq4 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
shmyga_03 Опубликовано 12 января, 2019 Поделиться Доработка советников: общая тема Опубликовано 12 января, 2019 Добрый день товарищи , кто напишет советник, на основе индикаторов, стратегия рабочая, куплена за деньги, хотелось бы по ней советника. Кто сможет, отзовись в личку, там будут подробности, за ранее спасибо! Ссылка на сообщение Поделиться на другие сайты More sharing options...
SolomonaX Опубликовано 17 января, 2019 Поделиться Доработка советников: общая тема Опубликовано 17 января, 2019 Дело было так написал я советник на mq4 он никак не хотел отложки открывать начал дебагать после вкодеvoid OnTick() {Print("Ошибка №", GetLastError(), ", стоплевел = ", MarketInfo(Symbol(), MODE_STOPLEVEL), ", спрэд = ", MarketInfo(Symbol(), MODE_SPREAD));}Показал ошибки исправил потом не показал ни каких ошибок начал тестировать показал хороший результат в тестере но иногда в тестере показывает ошибку 130 и я её исправил проблема была с стопами в журнале ошибок нет но вот на демо счёте тишина ничего не работает брокер рофорекс ecn узкий спред да ещё кое что сам я начинающий программист если это можно так сказать до этого прочёл несколько статей про то почему совы не могут или не хотят работать первое появление нового бара отлавливаю пробовал ставить вот так и так нулевой результатbool NewBarB(int TF=0) { static datetime NewTime=0; if(NewTime!=iTime(Symbol(),TF,0)) { NewTime=iTime(Symbol(),TF,0); return(true); } return(false); } ////////////////и такvoid OnTick() { static datetime dtBarCurrent=WRONG_VALUE; datetime dtBarPrevious=dtBarCurrent; dtBarCurrent=(datetime) SeriesInfoInteger(_Symbol,_Period,SERIES_LASTBAR_DATE); bool NewBarFlag=(dtBarCurrent!=dtBarPrevious);if (NewBarFlag){}///////и так if (Volume[0] > 1) return;Смайли всегда :cheesy: А на Сервис настройка Советники галка стоит на автоторговлепрошу помочь. Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 17 января, 2019 Поделиться Доработка советников: общая тема Опубликовано 17 января, 2019 Ладно, давай запускать сову.После объявления функции ОнТик() поставь принт - посмотри приходят-ли тики сове. Ссылка на сообщение Поделиться на другие сайты More sharing options...
SolomonaX Опубликовано 18 января, 2019 Поделиться Доработка советников: общая тема Опубликовано 18 января, 2019 Ошибок нет но ордера не открываются что делать не знаю помогите не оставляйте в трудную минуту fcplm Ссылка на сообщение Поделиться на другие сайты More sharing options...
Rever27 Опубликовано 18 января, 2019 Поделиться Доработка советников: общая тема Опубликовано 18 января, 2019 Ошибок нет но ордера не открываются что делать не знаю помогите не оставляйте в трудную минуту fcplm Перечитал 3 раза, так ничего и не понял. Как минимум нужно кинуть сюда код, чтобы свободный программист посмотрел его. 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
loveЦ Опубликовано 18 января, 2019 Поделиться Доработка советников: общая тема Опубликовано 18 января, 2019 Ошибок нет но ордера не открываются что делать не знаю помогите не оставляйте в трудную минуту А вы не могли бы побольше кода выложить, увидел только попытку определения нового бара, а самой функции открытия отложек не видно. Ссылка на сообщение Поделиться на другие сайты More sharing options...
SolomonaX Опубликовано 20 января, 2019 Поделиться Доработка советников: общая тема Опубликовано 20 января, 2019 Вот код открытия ордера что не так не пойму ордера не открываются.На тестере всё хорошо ордера открываются без ошибок но на демо счёте нет никаких ошибок и ордера не открываются тишина. Спойлер input int Magik=1461919;extern double LotSize=0.1; extern double StopLoss=20; extern double TakeProfit=30; extern int Slippage=5; double pips;int OnInit() { double ticksize=MarketInfo(Symbol(),MODE_TICKSIZE); if(ticksize==0.00001 || ticksize==0.001) pips=ticksize*10; else pips=ticksize; return(INIT_SUCCEEDED); }double LotsOptimized() { double lot=LotSize; int orders=OrdersHistoryTotal(); // history orders total int losses=0; // number of losses orders without a break//--- select lot size if(MaximumRisk>0) { lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/1000.0,1); }//--- calcuulate number of losses orders without a break if(DecreaseFactor>0) { for(int i=orders-1;i>=0;i--) { if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) { Print("Error in history!"); break; } if(OrderSymbol()!=Symbol() /*|| OrderType()>OP_SELL*/) continue; //--- if(OrderProfit()>0) break; if(OrderProfit() } if(losses>1) lot=NormalizeDouble(lot-lot*losses/DecreaseFactor,1); }//--- minimal allowed volume for trade operations double minlot=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MIN); if(lot { lot=minlot; }// Print("Volume is less than the minimal allowed ,we use",minlot);}// lot=minlot;//--- maximal allowed volume of trade operations double maxlot=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MAX); if(lot>maxlot) { lot=maxlot; }// Print("Volume is greater than the maximal allowed,we use",maxlot);}// lot=maxlot;//--- get minimal step of volume changing double volume_step=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_STEP); int ratio=(int)MathRound(lot/volume_step); if(MathAbs(ratio*volume_step-lot)>0.0000001) { lot=ratio*volume_step;} return(lot);/* else Print("StopOut level Not enough money for ",OP_SELL," ",lot," ",Symbol()); return(0);*/ }double NDTP(double val) { // RefreshRates(); double SPREAD=MarketInfo(Symbol(),MODE_SPREAD); double StopLevel=MarketInfo(Symbol(),MODE_STOPLEVEL); if(val// double STOPLEVEL = MarketInfo(Symbol(),MODE_STOPLEVEL);//int Stops_level=(int)SymbolInfoInteger(_Symbol,SYMBOL_TRADE_STOPS_LEVEL);//if (Stops_level*pips//val=Ask+Stops_level*pips; return(NormalizeDouble(val, Digits));// return(val); } RefreshRates();double ticketBuyStop= OrderSend(NULL,OP_BUYSTOP,LotsOptimized(),NDTP(Ask+StopLoss*pips),Slippage,0,NDTP(Ask+TakeProfit*pips),NULL,Magik,0,clrBlue); RefreshRates();double ticketSellStop=OrderSend(NULL,OP_SELLSTOP,LotsOptimized(),NDTP(Bid-StopLoss*pips),Slippage,0,NDTP(Bid-TakeProfit*pips),NULL,Magik,0,clrRed); Изменено 20 января, 2019 пользователем 0ll Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 20 января, 2019 Поделиться Доработка советников: общая тема Опубликовано 20 января, 2019 SolomonaX не нашёл функции OnTick() у Вас ордера выставляются при инициализации переменных?и зачем Вам RefreshRates() через строчку? - исполнение идёт миллисекунду, тик просто не успеет обновиться. Ссылка на сообщение Поделиться на другие сайты More sharing options...
batmanuyga Опубликовано 20 января, 2019 Поделиться Доработка советников: общая тема Опубликовано 20 января, 2019 Пишу советника , вставил ALERT на открытие ордера. Он работает. Но он почему то работает и когда советник выключен... Выводит ALERT каждую секунду и не остановится , пока сову не удалишь из окна терминала. Так и должно быть ? Ссылка на сообщение Поделиться на другие сайты More sharing options...
SolomonaX Опубликовано 20 января, 2019 Поделиться Доработка советников: общая тема Опубликовано 20 января, 2019 в любом эксперте, прежде, чем открывать позицию, вычисляется состояние рынка по каким-либо параметрам. Затем, если условия подошли, открывается позиция. Чтобы открыть позицию, эксперт вызывает функцию OrderSend. В параметры этой функции нужно передать самую свежую цену Bid или Ask, а пока эксперт вычислял состояние рынка, эти цены могли измениться. Но внутри всего блока OnTick, в текущем проходе, эти изменения автоматически не происходят. Новые цены будут только в следующем проходе OnTick, а нам они нужны в текущем проходе. Поэтому перед OrderSend надо написать RefrashRates вот поэтому я и написал перед OrderSend, RefrashRates. Вы считаете из за RefrashRates у меня ордера не открываются тогда почему в тестере ордера открываются. Ссылка на сообщение Поделиться на другие сайты More sharing options...
loveЦ Опубликовано 20 января, 2019 Поделиться Доработка советников: общая тема Опубликовано 20 января, 2019 в любом эксперте, прежде, чем открывать позицию, вычисляется состояние рынка по каким-либо параметрам. Затем, если условия подошли, открывается позиция. Чтобы открыть позицию, эксперт вызывает функцию OrderSend. В параметры этой функции нужно передать самую свежую цену Bid или Ask, а пока эксперт вычислял состояние рынка, эти цены могли измениться. Но внутри всего блока OnTick, в текущем проходе, эти изменения автоматически не происходят. Новые цены будут только в следующем проходе OnTick, а нам они нужны в текущем проходе. Поэтому перед OrderSend надо написать RefrashRates вот поэтому я и написал перед OrderSend, RefrashRates. Вы считаете из за RefrashRates у меня ордера не открываются тогда почему в тестере ордера открываются. Если просто, у Вас действия (все действия) совершаются в функции OnInit(), а она запускается при первом запуске советника и все. Для работы и вообще нужна функция OnTick(). А обновление данных функцией RefrashRates происходит тоже при запуске - она здесь абсолютно бесполезна!Вопрос был почему не открываются отложки? Потому что весь процесс записан в функции OnInit(). Совет (добрый), почитайте Функции обработки событий в учебнике, там хорошо всё "разжевано"Добавлено: 20-01-2019 12:42:42Пишу советника , вставил ALERT на открытие ордера. Он работает. Но он почему то работает и когда советник выключен... Выводит ALERT каждую секунду и не остановится , пока сову не удалишь из окна терминала. Так и должно быть ? Потому что выполняются условия для Алерта, а если они выполняются советник/индикатор Вам об этом сообщает. Для этого надо ставить флаг, функцию для определения отправки алерта, функцию алерта только на открытие свечи/бара , и т.д. Если просто, то на каждом тике соблюдаются условия для сообщения с помощью алерта и поэтому они сыпятся бесконечно. Изменено 20 января, 2019 пользователем loveЦ 3 Ссылка на сообщение Поделиться на другие сайты More sharing options...
AAPL Опубликовано 28 января, 2019 Поделиться Доработка советников: общая тема Опубликовано 28 января, 2019 Привет, помогите доработать советника, прикрутите к нему мартин и возможность закрывать сделки по % профита, сова неплоха на дневках, писали мне другой прогер в 13 году еще потом пропал и я забросил сову, теперь опять нашел на старом компе код, и решил продолжить, эксперименты, также если у кого есть идеи варианты милости прошу, сова по уровням мюрея, все довольно просто, но без мартина скучный профит дает.Любая пара, дневной тайм. ©_Murrey_Auto_Trader_EA_v1.0.mq4 Изменено 29 января, 2019 пользователем AAPL Ссылка на сообщение Поделиться на другие сайты More sharing options...
vitek01 Опубликовано 29 января, 2019 Поделиться Доработка советников: общая тема Опубликовано 29 января, 2019 Пишу советника , вставил ALERT на открытие ордера. Он работает. Но он почему то работает и когда советник выключен... Выводит ALERT каждую секунду и не остановится , пока сову не удалишь из окна терминала. Так и должно быть ? мне кажется функция алерт в вашем коде не имеет ограничения, если уж сработала, то не имея стопа херачит с каждымтиком. все это заполняет доступную ей память, она ставится в очередь и пока все не обработает, не остановится.Тут даже тик не нужен, потому даже при выключеном советнике он трезвоним. лично я стаким сталкивался и мое решение, после одного прохода сразу закрыть алерт булевой переменой, а при появлений сигнала опять ее открыть. Ссылка на сообщение Поделиться на другие сайты More sharing options...
Gureyev Опубликовано 2 февраля, 2019 Поделиться Доработка советников: общая тема Опубликовано 2 февраля, 2019 Привет всем! Есть советник (бывший скрипт) открывает байселлстоп ордера. Возможно его как то доработать, что бы после открытия серии ордеров он продолжал открывать по одному. Допустим пошла цена на верх, открывается селлстоп ближе к цене и наоборот. OpenGrid.mq4 Ссылка на сообщение Поделиться на другие сайты More sharing options...
nikpilot Опубликовано 6 февраля, 2019 Поделиться Доработка советников: общая тема Опубликовано 6 февраля, 2019 Всем привет! Уважаемые программисты доработайте советник пожалуйста, файлы и ТЗ в архиве.Заранее спасибо. Новая_доработка.rar Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 7 февраля, 2019 Поделиться Доработка советников: общая тема Опубликовано 7 февраля, 2019 Желающим доработать свои советники: нужно как-то соблазнить программиста этим заняться. Не стесняйтесь, давайте больше информации, картинки, описание стратегии и т.д. Без этого думаю ни чего не получится. 2 Ссылка на сообщение Поделиться на другие сайты More sharing options...
nikpilot Опубликовано 9 февраля, 2019 Поделиться Доработка советников: общая тема Опубликовано 9 февраля, 2019 Всем привет! Уважаемые программисты, доработайте советник Bamsbung_TMA_Mart_Div_Screen_2_EA пожалуйста, доработка заключается в добавлении в советник функции для отключения открытия ордеров по сигналам стрелок индикатора 4BAMSBUNG_FLAME(Hist)_Div_Filter++ и добавления в настройки советника параметра false/true для отключения\включения этой функции в работу.В советнике предусмотрена торговля по паттерну от индикатора 4BAMSBUNG_FLAME(Hist)_Div_Filter++, паттерн представляет собой появление точки на свече, а через какое-то количествосвечей появляется стрелка такого же цвета как точка, по сигналу этой стрелки открывается соответствующая позиция.Если в советнике будет отключаться функция по открытию позиций по сигналу стрелки, значит советник должен уметь различать паттерн (комбинация точки и стрелки) и одиночную стрелку, как два разных сигнала для открытия позиций, на скрине №3 подробное описание.В советнике есть фильтр tma_filter_pate отвечающий за открытие позиции по сигналу точки, надо открытие позиции по сигналу паттерна привязать к параметру tma_diff_points_pate.Так же надо исправить работу функции tma_middle_filtеr, не скриншоте №1 -описание работы этой функции, на скриншоте №2 в чем ошибка работы этой функции. Эта функция должна работать с каждым условием открытия, т.е. с открытием по сигналу одной стрелки, с открытием по сигналу паттерна, с открытием по сигналу точки. Надо убрать красную кнопку с графика, которая появляется после установки советника.Заранее спасибо. 1.jpg2.png3.jpg4BAMSBUNG_FLAMEHist_Div_Filter++.mq4BAMSBUNG.dllBamsbung_TMA_Mart_Div_Screen_2_EA.mq4TMA_CG_MTF_AA_TT_mod.mq4 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Андрей Сталинград Опубликовано 14 февраля, 2019 Поделиться Доработка советников: общая тема Опубликовано 14 февраля, 2019 Спасибо все сделали EA_v1.09.zip Изменено 15 февраля, 2019 пользователем Андрей Сталинград 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
big13 Опубликовано 19 февраля, 2019 Поделиться Доработка советников: общая тема Опубликовано 19 февраля, 2019 Доброго времени суток, уважаемые!Есть совенышь, можно ли его переделать, чтоб работал на RENKO графиках.На просторах интернета, нашел увлекательно-душещипательную статью, о том, что надо изменить и дописать, http://myoption.ru/Renko-sovetnik-analiziruem-rynok-Foreks-po-kirpichikam, но вот незадача, в коде, ввиду своей неграмотности в программировании, я так и не нашел, куда применить знания, полученные в статье. p_s_3MA.ex4 Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 20 февраля, 2019 Поделиться Доработка советников: общая тема Опубликовано 20 февраля, 2019 Есть совенышь, можно ли его переделать, чтоб работал на RENKO графиках.Нужен исходный код с расширением файла .mq4 Ссылка на сообщение Поделиться на другие сайты More sharing options...
big13 Опубликовано 20 февраля, 2019 Поделиться Доработка советников: общая тема Опубликовано 20 февраля, 2019 Ну, это изи!!! p_s_3MA.ex4p_s_3MA.mq4 Ссылка на сообщение Поделиться на другие сайты More sharing options...
nguyenmq Опубликовано 1 марта, 2019 Поделиться Доработка советников: общая тема Опубликовано 1 марта, 2019 Ребята, кто поможет исправить Сову. На новой платформе он застрял BenefitEA_src.zip Ссылка на сообщение Поделиться на другие сайты More sharing options...
loveЦ Опубликовано 1 марта, 2019 Поделиться Доработка советников: общая тема Опубликовано 1 марта, 2019 Ребята, кто поможет исправить Сову. На новой платформе он застрял Проверил. Ошибок критических нет. В тестере открывает и закрывает.Опишите проблему. Что значит застрял?BenefitEA.ex4 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
big13 Опубликовано 1 марта, 2019 Поделиться Доработка советников: общая тема Опубликовано 1 марта, 2019 Доброго времени суток господа, пользуясь наличием времени (на сон тратится пол жизни), прочитал пару строк по программированию, попробовал переделать сов сам, ну нашел еще 1 сов и решил поковырять, в тестере на обычных графиках ведет себя как должен, т.е. никак, поставил на график, буду смотреть, если кому-то надо берите, работает или нет отпишусь позже. Добавлено: 01-03-2019 11:42:01Ура, епта!!!Простите, эмоции, сов работает, сделки открывает, вроде даже как надо!!!Так что, кому надо может пользоваться, щас попробую допилить еще пару кнопок и фунций от сайлент спека.Добавлено: 01-03-2019 15:45:04Рано радовался, надо допилить!!!3MAоригинал.mq4 Изменено 1 марта, 2019 пользователем big13 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти