Zen13 Опубликовано 22 ноября, 2018 Поделиться Обучение языку MQL5 под MetaTrader 5 Опубликовано 22 ноября, 2018 Добрый день. Делаю первые шаги в mql5. Сгенерировал советник на основе индикаторов RSI М5 и RSI M15. Подскажите, как настроить так, чтобы сделка совершалась по срабатыванию обоих сигналов одновременно? Вес для обоих стоит 1. Если вес ставлю по 0.5, то сделки не совершаются совсем. Параметр Signal threshold value to open = 90. Ссылка на сообщение Поделиться на другие сайты More sharing options...
Leery Опубликовано 25 ноября, 2018 Поделиться Обучение языку MQL5 под MetaTrader 5 Опубликовано 25 ноября, 2018 Доброго времени суток Господа Программисты.Подскажите пожалуйста, что исправить в данной функции, что бы метка ставилась только на крайнем экстремуме, а не во всех местах остановки цены Спойлер void _GetExtremumZZPrice() { int ke = 0; // будем в них подсчитывать количество меток int ZZHandle; double ZZ[]; datetime Time[]; ZZHandle = iCustom(_Symbol, PeriodPatterns, "Examples\\Zigzag", DepthZZ, DeviationZZ, BackstepZZ); if (ZZHandle ArraySetAsSeries(ZZ,true); if (CopyBuffer(ZZHandle,0,1,2,ZZ) return; int copied=CopyTime(NULL,0,1,2,Time); if(copied { Print("Не удалось скопировать времена открытия"); return; } bool created;// будем получать результат попытки создания объекта for(int i=0;i { if(ZZ!=0 && ZZ!=EMPTY_VALUE)// нашли точку { if(ke { //--- попробуем создать объект created=ObjectCreate(0,string(ZZ),OBJ_ARROW_LEFT_PRICE,0,Time,ZZ); if(created)// если создался - сделаем ему тюнинг { //--- установим цвет метки ObjectSetInteger(0,string(ZZ),OBJPROP_COLOR,clrYellow); //--- установим стиль окаймляющей линии ObjectSetInteger(0,string(ZZ),OBJPROP_STYLE,0); //--- установим размер метки ObjectSetInteger(0,string(ZZ),OBJPROP_WIDTH,1); ke++; } } } } } Ссылка на сообщение Поделиться на другие сайты More sharing options...
MikR0ReR Опубликовано 25 ноября, 2018 Поделиться Обучение языку MQL5 под MetaTrader 5 Опубликовано 25 ноября, 2018 а не во всех местах остановки цены Данная функция ВООБЩЕ НЕ РАБОТОСПОСОБНА! В ней куча ошибок! Приведите скрин, что у вас получилось и что вы хотите. Ссылка на сообщение Поделиться на другие сайты More sharing options...
Leery Опубликовано 25 ноября, 2018 Поделиться Обучение языку MQL5 под MetaTrader 5 Опубликовано 25 ноября, 2018 Цитата Данная функция ВООБЩЕ НЕ РАБОТОСПОСОБНА! В ней куча ошибок! Приведите скрин, что у вас получилось и что вы хотите. Извините, я думал Вы догадаетесь поставить параметры индикатора input ENUM_TIMEFRAMES PeriodPatterns = PERIOD_H4; input int DepthZZ = 12;input int DeviationZZ = 5; input int BackstepZZ = 3;Хочу чтобы остались только метки на перегибе (экстремуме) ZigZaga , а остальные не отображалисьДобавлено: 25-11-2018 16:49:52У меня работает , но вот так. Выделенные метки нужно оставить остальные убрать2018-11-25_19-32-58.png Изменено 25 ноября, 2018 пользователем Leery Ссылка на сообщение Поделиться на другие сайты More sharing options...
MikR0ReR Опубликовано 25 ноября, 2018 Поделиться Обучение языку MQL5 под MetaTrader 5 Опубликовано 25 ноября, 2018 У меня работает , но вот так. Проблем с подстановкой параметров у меня нет!Везде где нужно обратиться к элементу массивов ZZ и Time вы совершили ошибку. Такой код даже не скомпилируется, я не говорю даже о запуске в MT5.Может код предоставлен другой в отличии что на скрине?В этом коде в цикле rof, ZZ и Time меняем на ZZ и Time 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Leery Опубликовано 26 ноября, 2018 Поделиться Обучение языку MQL5 под MetaTrader 5 Опубликовано 26 ноября, 2018 Вот полный код советника ;) который и компилируется и криво работает ( по крайней мере у меня) 123.mq5123.ex5 Ссылка на сообщение Поделиться на другие сайты More sharing options...
MikR0ReR Опубликовано 26 ноября, 2018 Поделиться Обучение языку MQL5 под MetaTrader 5 Опубликовано 26 ноября, 2018 Вот полный код советника ;) который и компилируется и криво работает ( по крайней мере у меня) fcplm как я говорил с входными параметрами нет проблем. Другое дело когда предоставляешь код, пользуйся кнопкой вставить "код". Как раз в твоем случае "форум съел" фигурные [] скобки, на отсутствие которых я обратил внимание.Твой код действует согласно логике правильно. Так как ты пишешь не индикатор а советник, тебе также предстоит написать код который будет убирать лишние значения. 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Leery Опубликовано 26 ноября, 2018 Поделиться Обучение языку MQL5 под MetaTrader 5 Опубликовано 26 ноября, 2018 Цитата Так как ты пишешь не индикатор а советник, тебе также предстоит написать код который будет убирать лишние значения Это уже будет вторая задача. а я пока с первой не разобрался :( Ссылка на сообщение Поделиться на другие сайты More sharing options...
MikR0ReR Опубликовано 26 ноября, 2018 Поделиться Обучение языку MQL5 под MetaTrader 5 Опубликовано 26 ноября, 2018 вторая задача Тогда я не понимаю!Какая первая задача? Ссылка на сообщение Поделиться на другие сайты More sharing options...
Leery Опубликовано 26 ноября, 2018 Поделиться Обучение языку MQL5 под MetaTrader 5 Опубликовано 26 ноября, 2018 Цитата Какая первая задача? Сначала оставить метки только на экстремумах Ссылка на сообщение Поделиться на другие сайты More sharing options...
MikR0ReR Опубликовано 26 ноября, 2018 Поделиться Обучение языку MQL5 под MetaTrader 5 Опубликовано 26 ноября, 2018 только на экстремумах Слушай, так про че я тебе и говорю! лишние надо удалять!Добавлено: 26-11-2018 16:41:21По логике кода происходит так. Прорисовывается зигзаг в низ, это дает сигнал на обозначение уровня. На следующей свече, цена ушла еще ниже, зигзаг рисуется еще ниже, а это дает сигнал прорисовать еще уровень. И так далее. А прошлые уровни ты не удаляешь! Вот и получается захламленность. Изменено 26 ноября, 2018 пользователем MikR0ReR 2 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Leery Опубликовано 26 ноября, 2018 Поделиться Обучение языку MQL5 под MetaTrader 5 Опубликовано 26 ноября, 2018 а вытащить только перегибы как Mql4 здесь не получится? Ссылка на сообщение Поделиться на другие сайты More sharing options...
MikR0ReR Опубликовано 26 ноября, 2018 Поделиться Обучение языку MQL5 под MetaTrader 5 Опубликовано 26 ноября, 2018 получится? Получится!Подумай! Твой индюк состоит из ZigZag, к та муже задачи один в один (буковка в буковку, циферка в циферку). Нафига изобретать велосипед, вози код ZigZag и поменяй объект отрисовки, не линию, а поставь значение цены. Изменено 26 ноября, 2018 пользователем MikR0ReR 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
pavlus777 Опубликовано 4 января, 2019 Автор Поделиться Обучение языку MQL5 под MetaTrader 5 Опубликовано 4 января, 2019 Новый урок:http://tradelikeapro.ru/mql5-ea-na-vneshnem-indikatore/ 5 Ссылка на сообщение Поделиться на другие сайты More sharing options...
ZelTrad Опубликовано 15 января, 2019 Поделиться Обучение языку MQL5 под MetaTrader 5 Опубликовано 15 января, 2019 В справочнике есть функция OrderSend есть пример для реализации #define EXPERT_MAGIC 123456 // MagicNumber эксперта//+------------------------------------------------------------------+//| Открытие позиции Buy |//+------------------------------------------------------------------+void OnStart() {//--- объявление и инициализация запроса и результата MqlTradeRequest request={0}; MqlTradeResult result={0};//--- параметры запроса request.action =TRADE_ACTION_DEAL; // тип торговой операции request.symbol =Symbol(); // символ request.volume =0.1; // объем в 0.1 лот request.type =ORDER_TYPE_BUY; // тип ордера request.price =SymbolInfoDouble(Symbol(),SYMBOL_ASK); // цена для открытия request.deviation=5; // допустимое отклонение от цены request.magic =EXPERT_MAGIC; // MagicNumber ордера//--- отправка запроса if(!OrderSend(request,result)) PrintFormat("OrderSend error %d",GetLastError()); // если отправить запрос не удалось, вывести код ошибки//--- информация об операции PrintFormat("retcode=%u deal=%I64u order=%I64u",result.retcode,result.deal,result.order); } Что обозначает {0} в MqlTradeRequest request и MqlTradeResult result? Изменено 15 января, 2019 пользователем 0ll Ссылка на сообщение Поделиться на другие сайты More sharing options...
Zen13 Опубликовано 22 января, 2019 Поделиться Обучение языку MQL5 под MetaTrader 5 Опубликовано 22 января, 2019 Добрый день. Подскажите, почему при работе советника из урока "MQL5: Пишем советник на Мартингейле" выводится ошибка: "Не удалось установить TakeProfit, код ошибки 10036"10036 - TRADE_RETCODE_POSITION_CLOSED - Позиция с указанным POSITION_IDENTIFIER уже закрытаКод советника из урока не изменял. Ссылка на сообщение Поделиться на другие сайты More sharing options...
MikR0ReR Опубликовано 22 января, 2019 Поделиться Обучение языку MQL5 под MetaTrader 5 Опубликовано 22 января, 2019 Что обозначает {0} MqlTradeRequest и MqlTradeResult являются структурами, следовательно команда {0} заполняет значения элементов, в данном случае предполагаю, что эти значения заполняются "0". В режиме отладки можно это проверить."Не удалось установить TakeProfit, код ошибки 10036" Счет какой Неттинговый или Хеджинговый? 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
s22aa Опубликовано 30 января, 2019 Поделиться Обучение языку MQL5 под MetaTrader 5 Опубликовано 30 января, 2019 Добавлено: 30-01-2019 12:43:48Ничего не пойму. Почему мы заполняем переменные из одного буфера, соответственно там должны получится одинаковые данные, а потом сравниваем эти переменные?Код вставить не даёт форум, вставлю картинку с кодом.что.png Изменено 30 января, 2019 пользователем s22aa Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 30 января, 2019 Поделиться Обучение языку MQL5 под MetaTrader 5 Опубликовано 30 января, 2019 Ничего не пойму. Почему мы заполняем переменные из одного буфера, соответственно там должны получится одинаковые данные, а потом сравниваем эти переменные?Вы заполняете переменные из одного буфера, но разными значениями! на одном проходе цикла i может быть заполнена только одна переменная. 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
s22aa Опубликовано 30 января, 2019 Поделиться Обучение языку MQL5 под MetaTrader 5 Опубликовано 30 января, 2019 на одном проходе цикла i может быть заполнена только одна переменная. Спасибо, теперь понятно.Сам то я ничего не умею, разве что скопипастить, в последнем видео был индикатор trendi, вот я с него скопипастил всё в свой индюк Insid_Outside_Bar, теперь пытаюсь на нём сделать сову, а ничего не выходит, ордера не открываются, беда. Сейчас буду разбираться, может я с циклом , что попутал.Insid_Outside_Bar.mq5 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 30 января, 2019 Поделиться Обучение языку MQL5 под MetaTrader 5 Опубликовано 30 января, 2019 s22aa обычно с копи/паста и начинают программировать, так что Вы на правильном пути ;) 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
pavlus777 Опубликовано 5 февраля, 2019 Автор Поделиться Обучение языку MQL5 под MetaTrader 5 Опубликовано 5 февраля, 2019 http://tradelikeapro.ru/pishem-ea-martin-na-mql5/Перезаписали урок в связи с изменениями в MT5 metaeditore 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
s22aa Опубликовано 11 февраля, 2019 Поделиться Обучение языку MQL5 под MetaTrader 5 Опубликовано 11 февраля, 2019 Подскажите почему индикатор рисует точки там где их быть не должно.С помощью "Вложение:выберите файл" прикрепил картинку и индюк, но предварительный просмотр их мне не показывает :(Вставить код индюка с помощью кнопки "вставить код" вообще ругается на какие то ссылки.Бедааа. Insid_Outside_Bar.mq52019-02-11_20-43-34.png Ссылка на сообщение Поделиться на другие сайты More sharing options...
ZloyZam Опубликовано 9 марта, 2019 Поделиться Обучение языку MQL5 под MetaTrader 5 Опубликовано 9 марта, 2019 Подскажите почему индикатор рисует точки там где их быть не должно.С помощью "Вложение:выберите файл" прикрепил картинку и индюк, но предварительный просмотр их мне не показывает :(Вставить код индюка с помощью кнопки "вставить код" вообще ругается на какие то ссылки.Бедааа. Insid_Outside_Bar.mq5 2 Ссылка на сообщение Поделиться на другие сайты More sharing options...
s22aa Опубликовано 31 марта, 2019 Поделиться Обучение языку MQL5 под MetaTrader 5 Опубликовано 31 марта, 2019 Insid_Outside_Bar.mq5 ZloyZam, ваш ответ видел давно и только сегодня допёр, что ответ в прикреплённом индикаторе )))Сегодня выходные, поэтому посмотреть как работает ваш вариант не могу, но проблему рисования лишних точек, я решил заполнением буферов нулями ArrayFill (BuffDn, prev_calculated, rates_total - prev_calculated, 0);Как я понял проблема была в том, что в буфере последнего нового только формирующегося бара, был а всякая фигня.Но всё равно спасибо за ответ. Ссылка на сообщение Поделиться на другие сайты More sharing options...
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти