denis77515 Опубликовано 24 ноября, 2014 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 24 ноября, 2014 denis77515, а какие условия открытия и в чём конкретно проблема, как работает и как должно быть? проблема такова открываются ордера по значениям идикатора, между +10(+30) стоп лоссом является значение этого же индикатора только -10, тейк профитом значения больше равно +70 ,то есть у меня не получается написать обратные закрытие то есть тейк профит -70,стоп лосс +10.Получается такая петрушка когда ордера плавают допустим меньше значения +10(-10) то нормально как только выходят из этого диапазона он их закрывает выше описал как оно должно работать. Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 24 ноября, 2014 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 24 ноября, 2014 denis77515 то, что я вижу в Вашем коде можно записать вот так:if (MathAbs(indi_usd) >= 10) Close_Orders_USD();это эквивалентно Вашему коду, но Вы пишите, что работает не правильно - поэтому Вы опишите словами, как должно работать, а мы запись на МКЛ сообразим. Ссылка на сообщение Поделиться на другие сайты More sharing options...
denis77515 Опубликовано 24 ноября, 2014 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 24 ноября, 2014 denis77515 то, что я вижу в Вашем коде можно записать вот так:if (MathAbs(indi_usd) >= 10) Close_Orders_USD();это эквивалентно Вашему коду, но Вы пишите, что работает не правильно - поэтому Вы опишите словами, как должно работать, а мы запись на МКЛ сообразим. Здраствуйте OLL Открываем позиции ТОЛЬКО если индикатор находится между -10 и -30 или между 10 и 30.Выходим из позиции если индикатор дошел до 70 или -70 (тейк-профит). Стоп-лоссом для нас будет значение индикатора -10 или 10 то есть открыты ордера при показаниях 10(30) стоп лосс -10,тейк профит 70, открыты ордера -10(-30) то тейк профит -70,стоп лосс 10 в общем получается что открыта корзина ордеро по условию 10(30) тут же закрывает условием больше 10. в общем вот код вместе с индикаторами.посмотрите если не затруднит! Изменено 25 ноября, 2014 пользователем denis77515 Ссылка на сообщение Поделиться на другие сайты More sharing options...
sadradik Опубликовано 24 ноября, 2014 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 24 ноября, 2014 все там есть Добавлено: 24-11-2014 17:46:07из советника traltest вызываю заголовочный файл. который вызывает библиотекуtraltest.mq4library.txtlibrary.mq4 Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 24 ноября, 2014 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 24 ноября, 2014 Да,уж - задал задачку...Запустил я Ваш комплект:1. Убрал #property strict в сове2. Добавил в описание вызываемой функции (в библиотеке) void tral (...) export Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 24 ноября, 2014 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 24 ноября, 2014 denis77515условие на вход: if (MathAbs(indi_usd) >= 10 && MathAbs(indi_usd) только с направлением входа надо разобраться.условие на выход: if (MathAbs(indi_usd) >= 70) Close_Orders_USD();ну со СЛ и ТР я думаю сами сообразите. Ссылка на сообщение Поделиться на другие сайты More sharing options...
sadradik Опубликовано 24 ноября, 2014 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 24 ноября, 2014 дописал. но все так же... Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 24 ноября, 2014 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 24 ноября, 2014 у меня пашет... Test1.png_traltest.mq4library.mq4 Ссылка на сообщение Поделиться на другие сайты More sharing options...
sadradik Опубликовано 24 ноября, 2014 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 24 ноября, 2014 Большое спасибо. ну на конец то заработало Ссылка на сообщение Поделиться на другие сайты More sharing options...
denis77515 Опубликовано 25 ноября, 2014 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 25 ноября, 2014 denis77515условие на вход: if (MathAbs(indi_usd) >= 10 && MathAbs(indi_usd) только с направлением входа надо разобраться.условие на выход: if (MathAbs(indi_usd) >= 70) Close_Orders_USD();ну со СЛ и ТР я думаю сами сообразите. oll я тут придумал все таки вот какую штуку, как думаете будет это все работать ? Спойлер [//----------------------------------------------------------------------++void OnTick(){ if(Uslovie_Close_USD() == true)Close_Orders_USD();}//--------------------------------------------------------------------------++void Uchet_Orderov(int mag, int &mas[7]){ArrayInitialize(mas,0);//mas[0]; OP_BUY;//mas[1]; OP_SELL;//mas[2]; Сделкиint tip;for(int i=0; i{if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))tip=OrderType();switch(tip){case 0: {mas[0]++;mas[2]++;break;}//Buycase 1: {mas[1]++;mas[2]++;break;}//Sell}}}//-------------------------------------------------------------------++bool Uslovie_Close_USD(){bool res = false;Uchet_Orderov(Magic_usd,Array_Close_Orders_usd);Uslovie_usd=Array_Close_Orders_usd[0];//BuyUsloviex_usd=Array_Close_Orders_usd[1];//Sellif(MathAbs(indi_usd) >= 70 && Usloviex_usd == 4 && Uslovie_usd == 3) res = true;if(MathAbs(indi_usd) if(MathAbs(indi_usd) if(MathAbs(indi_usd) >= 10 && Usloviex_usd == 3 && Uslovie_usd == 4) res = true;return(res);}] Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 25 ноября, 2014 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 25 ноября, 2014 oll я тут придумал все таки вот какую штуку, как думаете будет это все работать ?Нет, работать не будет.Я думаю Вы не чётко представляете чего хотите, а я уж вообще не понял... Пишите буквами, что хотели сделать.1. Что такое mas[2]? - ответ: общее количество ордеров2. Чему равно MathAbs(indi_usd) Ссылка на сообщение Поделиться на другие сайты More sharing options...
denis77515 Опубликовано 25 ноября, 2014 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 25 ноября, 2014 oll я тут придумал все таки вот какую штуку, как думаете будет это все работать ?Нет, работать не будет.Я думаю Вы не чётко представляете чего хотите, а я уж вообще не понял... Пишите буквами, что хотели сделать.1. Что такое mas[2]? - ответ: общее количество ордеров2. Чему равно MathAbs(indi_usd) oll посмотрите на скрин,я думаю вам станет все понятно !Image_3.pdf Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 25 ноября, 2014 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 25 ноября, 2014 denis77515 мне не стало всё ясно. Вот что я понял:1. На одной паре открывается 7 ордеров (может 3+4, или 1+6)2. При +70 - профит для селл при +10 фиксируем убыток по бай, в диапазоне +10+30 - открытие селл3. При -70 - профит для бай, -10 закрываем в убыток селл, в диапазоне -10-30 - открытие бай4. Мультивалютный не трогаю - запутаемся.5. Готовой совы по кукловоду нет?Если я прав - маякни. или исправь. Ссылка на сообщение Поделиться на другие сайты More sharing options...
denis77515 Опубликовано 25 ноября, 2014 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 25 ноября, 2014 denis77515 мне не стало всё ясно. Вот что я понял:1. На одной паре открывается 7 ордеров (может 3+4, или 1+6)2. При +70 - профит для селл при +10 фиксируем убыток по бай, в диапазоне +10+30 - открытие селл3. При -70 - профит для бай, -10 закрываем в убыток селл, в диапазоне -10-30 - открытие бай4. Мультивалютный не трогаю - запутаемся.5. Готовой совы по кукловоду нет?Если я прав - маякни. или исправь. Я написал такую сову по кукловоду,входы все правильные,вроде работает нормально.Только вот с выходом у меня мозгов не как не хватает.3 месяц бьюсь и не как не получается.Я почему прошу помощи.Я выкладывал вчера полный код по нему,но посмотрел сутки не кто не скачивает,ну думаю значит не интересно народу,я и удалил.oll если вам интерена эта тема давайте добьем его.Пишите в личку там пообщаемся. А то что вы правильно написали вы или вы не поняли,но то что вы написали я совсем не понял. Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 25 ноября, 2014 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 25 ноября, 2014 denis77515 Меня-бы заинтересовало, если есть стейты или ручное исследование данной стратегии, а пока я лишь хочу Вам помочь, но вот условия до конца не понимаю.Давайте зайдём с другой стороны: после пересчёта ордеров по стороне селл убыток - при +10 закрываем, если профит, то ждём -70? Ссылка на сообщение Поделиться на другие сайты More sharing options...
denis77515 Опубликовано 25 ноября, 2014 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 25 ноября, 2014 denis77515 Меня-бы заинтересовало, если есть стейты или ручное исследование данной стратегии, а пока я лишь хочу Вам помочь, но вот условия до конца не понимаю.Давайте зайдём с другой стороны: после пересчёта ордеров по стороне селл убыток - при +10 закрываем, если профит, то ждём -70? oll вот мониторинг моего счета,но последнее время я решил влезть на перекуплености при показаниях индикатора боле 90,но как оказалось зря.вот в данный момент уже месяц пересиживаю убыток,на реале конечно так бы не рискнул. http://www.myfxbook.com/members/denis77515/eapuppeteer-v21-auto/986199на счет того что вы пишите если брать более по проще корзину ордеров то JPY да вход происходит когда индикатор например находится между значениями допустим -10 и -30 открываются ордера на открытии нового дня Buy; AUDJPY, CADJPY, CHFJPY, EURJPY, GBPJPY, NZDJPY, USDJPY при условии если индикатор достигает значение +10 то мы закрываем убыток,то есть всю корзину ордеров не важно есть какие там в прибыли или нет. если же идет в нашу сторону то есть ждем значение -70 то так же закрываем всю корзину ордеров.надеюсь боле менее понятно объяснил. Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 25 ноября, 2014 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 25 ноября, 2014 Кидай сову, я подрихтую. Если есть где-то подробно расписанные условия - кинь ссылку. 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
denis77515 Опубликовано 25 ноября, 2014 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 25 ноября, 2014 Кидай сову, я подрихтую. Если есть где-то подробно расписанные условия - кинь ссылку. oll других правил к ней нет кроме как на этом же сайте http://tradelikeapro.ru/strategiya-kuklovod/ Изменено 25 ноября, 2014 пользователем denis77515 Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 25 ноября, 2014 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 25 ноября, 2014 denis77515Глянул наскоро сову - я поражён, что она работает... Вы сами писали? - если да, то поздравляю - большая работа.но открытие ордеров по разным инструментам нужно делать и по ценам этих инструментов.в общем ошибок много, даже не знаю, что делать - вроде обещал исправить, а там переписывать нужно...Объясните мне, что должна делать сова при следующем раскладе:индюк прошёл от 0 до +10 (вошли) потом до +70 (закрыли), потом до +30 - опять входим? в ту-же сторону? 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
denis77515 Опубликовано 25 ноября, 2014 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 25 ноября, 2014 denis77515Глянул наскоро сову - я поражён, что она работает... Вы сами писали? - если да, то поздравляю - большая работа.но открытие ордеров по разным инструментам нужно делать и по ценам этих инструментов.в общем ошибок много, даже не знаю, что делать - вроде обещал исправить, а там переписывать нужно...Объясните мне, что должна делать сова при следующем раскладе:индюк прошёл от 0 до +10 (вошли) потом до +70 (закрыли), потом до +30 - опять входим? в ту-же сторону? Да писал сам :d ,ну я же не профи,не знаю, но каким то образом она работает :d. Да если идюк показыват такие же значения для входа то входим по новой, но каждый вход только на открытии новой свечи. Вообще там я как понял и выход такой же,то есть на закрытии свечи и если есть сигнал от индюка,но решил сделать выход динамичным Ссылка на сообщение Поделиться на другие сайты More sharing options...
Айк Опубликовано 26 ноября, 2014 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 26 ноября, 2014 Всем здравствуйте.Зарегился я на форуме уже давно,но до этого был только читателем(масса интересной информации).Хотелось бы выразить признательность уважаемому Павлу за создание очень полезного и познавательного блога и пожелать ему всяческих успехов.Я,как и многие участники форума,заинтересовался программированием на MQL4.Хочу поблагодарить уважаемого XMBS за уроки.Надеюсь,ему не надоест просвещать новичков ;;).У меня такой вопрос-подскажите,пожалуйста,как закодировать выставление стоплосса по МА?Вот код: void OnTick() {double SLBuy, SLSell, HssVal, LssVal; //-------------------------------------------вычисление значения индикаторов double HighMA,LowMA,RSIVal; HighMA = iMA(NULL,0,HPeriod,0,HMetod,2,0); LowMA = iMA(NULL,0,LPeriod,0,LMetod,3,0); RSIVal = iRSI(NULL,0,RSIperiod,RSIprice,0); //--------------------------------------------определение параметров ордера на покупку if (Open[1]HighMA && RSIVal>50 && CountBuy() == 0) //--------------------------------------------открытие ордера на покупку { LssVal = iCustom(NULL,0,"Moving Average",LPeriod,0,LMetod,3,0); SLBuy = NormalizeDouble(LssVal-SLindent*Point,Digits); int ticket = OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,0,0,NULL,Magic,0,Blue); if(ticket > 0) { if(OrderSelect(ticket,SELECT_BY_POS,MODE_TRADES)== true) bool OrdBuyMod = OrderModify(ticket,OrderOpenPrice(),SLBuy,0,0); } } //--------------------------------------------определение параметров ордера на продажу if (Open[1]>LowMA && Close[1] //--------------------------------------------открытие ордера на продажу { HssVal = iCustom(NULL,0,"Moving Average",HPeriod,0,HMetod,2,0); SLSell = NormalizeDouble(HssVal+SLindent*Point,Digits); ticket = OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,0,0,NULL,Magic,0,Red); if(ticket > 0) { if(OrderSelect(ticket,SELECT_BY_POS,MODE_TRADES)== true) bool OrdSellMod = OrderModify(ticket,OrderOpenPrice(),SLSell,0,0); } } }Компилятор выдает 0 ошибок,0 предупреждений.Сов позы открывает но стопы не ставит.Функции CountBuy() и CountSell() взяты из уроков. Изменено 26 ноября, 2014 пользователем Айк Ссылка на сообщение Поделиться на другие сайты More sharing options...
chistaia-rodina Опубликовано 26 ноября, 2014 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 26 ноября, 2014 Айк, Вы бы лучше приложили полный код в виде файла, в эдиторе гораздо удобней смотреть чем так. Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 26 ноября, 2014 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 26 ноября, 2014 У меня такой вопрос-подскажите,пожалуйста,как закодировать выставление стоплосса по МА? Вот эта строка - лишняя: LssVal = iCustom(NULL,0,"Moving Average",LPeriod,0,LMetod,3,0);используйте значение ранее вычисленное: LowMA. Для Селл - тоже самое.или у Вас ещё более хитрая МА есть? Ссылка на сообщение Поделиться на другие сайты More sharing options...
Айк Опубликовано 26 ноября, 2014 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 26 ноября, 2014 Дело в том,что я раньше уже пробовал использовать HighMA и LowMA;стопы все равно не ставились.Необходимое пояснение-сов предназначен только для открытия позиции. MAHigh-RSI-MALow.mq4 Ссылка на сообщение Поделиться на другие сайты More sharing options...
denis77515 Опубликовано 26 ноября, 2014 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 26 ноября, 2014 Дело в том,что я раньше уже пробовал использовать HighMA и LowMA;стопы все равно не ставились.Необходимое пояснение-сов предназначен только для открытия позиции. Я иправил тебе ошибки,сравни два кода и поймешь в чем было дело. Изменено 26 ноября, 2014 пользователем denis77515 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти