big13 Опубликовано 28 июля, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 28 июля, 2015 Спс, я уже разобрался, сов не хочет видеть индюк, я его переделал под другой индюк, и о чудо, он заработал, работающий сов выложил на форум http://tlap.com/forum/torgovye-sistemy/2/h1h4-forex-ultra-filter/1127, там кто-то сову просил я туда и бросил! 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Konstebl Опубликовано 29 июля, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 29 июля, 2015 Спасибо, за ответ, проверку ордеров я воротил и так и этак, да все не мог исправить до конца, может внимания не хватает, писал его в основном по ночам, когда с работы приходил, и исправлял также по ночам, вчера весь день над ним просидел, а потом всплыло отчаяние, решил попросить уже помощи, сравню 2 варианта, на своих ошибках попробую научиться!!!Теперь, когда основа заработала буду его дальше крутить и исследовать! Добавлено: 28-07-2015 12:53:41Еще 1 вопрос, в 2 строках OrderModify(ticket, OrderOpenPrice(), SL, TP, 0); и OrderSelect(trade, SELECT_BY_POS, MODE_TRADES); выдает вот такую фразу: return value of 'OrderModify' should be checked ultra-signal.mq4 75 9 при этом все строки были написаны по видео и сверял несколько раз, но пишет 4 варнинга и при тесте не может оставить 1 ордер, постоянно висит buy и sell одновременно OrderModify() и OrderSelect() должны возвращать булевое значение.Поставьте перед ними bool rez = и всё. Ссылка на сообщение Поделиться на другие сайты More sharing options...
miniTrader Опубликовано 29 июля, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 29 июля, 2015 Можно ли получить время котировки с сервера типа MarketInfo(Symbol(),MODE_TIME) точнее одной секунды? Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 29 июля, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 29 июля, 2015 miniTrader сам формат datetime не позволяет... Есть ф-ция GetTickCount(), но она работает с виндовым таймером и пригодна только для вычисления интервалов. На самом деле пинг от сервера до Вашего компа делает инфу о миллисекундах ненужной. имхо. 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
big13 Опубликовано 29 июля, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 29 июля, 2015 Все мне не дает покоя индикатор ультра сигнал(хз чего), просмотрев 1,2,3 видео я так и не понял, как, мне в строкуdouble h1 = iCustom(NULL, 0, "Ultra-Signal", 0, 1); в источник данных подставить сравнение по видео если а2>0 но не равно значению, может мне кто на пальцах объяснить, а то лежит уже 3 совы грузом, если 2 буфера совы у меня работают, а 3 и больше уже не хотят! Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 30 июля, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 30 июля, 2015 big13 из Вашего поста ничего не понял, кроме того, что Вы пытаетесь индюк без параметров вызвать. Видео не смотрел, поэтому, если хотите помощи - конкретно пишите. 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
big13 Опубликовано 30 июля, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 30 июля, 2015 big13 из Вашего поста ничего не понял, кроме того, что Вы пытаетесь индюк без параметров вызвать. Видео не смотрел, поэтому, если хотите помощи - конкретно пишите.Смысл такой, ультра сигнал, индюк с закрытым исходником, есть 6 буферов, по видео следует, что после исследования индикатора и нахождения параметров которые изменяются в строку double h1 = iCustom(NULL, 0, "Ultra-Signal", 0, 1); надо подставить значение буфера, который изменяется, и в строку double l1 = iCustom(NULL, 0, "Ultra-Signal", 1, 1) обратное значение, прикрепляю сов, который пытаюсь заставить работать, сразу уточняю, что если в индикаторе всего 2 буфера, совы работают, если больше, на ультра сигнале их 6,сов на каждом тике открывает и закрывает сделку!П.с. при исследовании выяснил, что параметры меняются в 0 и 1 буферах Adjustable_MA_ultrafiltr.mq4 Изменено 30 июля, 2015 пользователем big13 Ссылка на сообщение Поделиться на другие сайты More sharing options...
F.Zhukov Опубликовано 31 июля, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 31 июля, 2015 Помогите пожалуйста сделать из этого индикатора вот такой индикатор:(Чистый спред) = Бычий спред (зеленая гистограмма) - Медвежий спред (красная гистограмма) VSA_Spred.mq4 Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 31 июля, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 31 июля, 2015 F.Zhukov не дублируйте посты! мне что в каждой теме Вам отписываться? Ссылка на сообщение Поделиться на другие сайты More sharing options...
big13 Опубликовано 31 июля, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 31 июля, 2015 Всем доброго времени суток!Касательно моей последней просьбы о помощи, она не актуальна, я во всем разобрался сову запустил! 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
formula Опубликовано 1 августа, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 1 августа, 2015 Уважаемый OII! В новых версиях МТ4 у меня не работает SimpleForexTester.( Нашел его на этом сайте) Подскажите пожалуйста как можно его заставить работать. Или пора с ним распрощаться? Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 1 августа, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 1 августа, 2015 formula я даже не знаю что это... Вы задайте этот вопрос в соответствующей ветке. Ссылка на сообщение Поделиться на другие сайты More sharing options...
sovoka Опубликовано 1 августа, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 1 августа, 2015 Сергей, добрый день. Подскажите, каким образом из экселевской таблицы нанести на график вертикальные линии. Просто анализирую графики другими методами программирования, в результате получаю экселевскую таблицу, в которой по датам отмечены профитные и убыточные сделки. Пока не знаю MQL, делаю так и вручную наношу эти линии. Здорово было бы скриптом загружать их на график. В курсе молодого бойца не нашла этого. Экселевскую таблицу могу получить в любом виде. Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 1 августа, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 1 августа, 2015 sovoka я делал ранее скрипт который читает .csv файл (который можно получить из экселя) поищите в этой теме. Подробностей уже не помню... Ссылка на сообщение Поделиться на другие сайты More sharing options...
igid Опубликовано 2 августа, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 2 августа, 2015 Фууух, наконец-то разобрался. Писал советник как на уроке по трейлинг стопу. Сначала посмотрел видео, потом написал по памяти советник с Trailingstop и Treilingstep. В тестере получил следующее- Советник тралит бай, но вообще не тралит селл. Открывает одну сделку(селл) и держит ее до конца теста. Сто раз сверился с видео что я делаю не так. Форум дочитал до 70 страницы.Дальше читать терпения не хватило. В общем в коде который на видео ошибка в строке if (OrderStopLoss()>Ask + (TrailingStep+TrailingStop)*Point). Блок функции установка СЛ на селл. Получается что если у нас первый ордер установлен с значением Стоплосс=0, а он у нас так и установлен, то это условие никогда не выполнится, так как 0 не может быть больше цены(н-р 1.3540)+ (трейлингстеп(50)+трелингстоп(30))*0,0001. Поменял знак. Сейчас выглядит так: if (OrderStopLoss() Изменено 2 августа, 2015 пользователем igid 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
sovoka Опубликовано 3 августа, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 3 августа, 2015 Доброе утро. Написала свой первый скрипт, а он ничего не выводит. Не знаю, почему, буду благодарна любой подсказке. Запускаю из окна навигатора. One.mq4 Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 3 августа, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 3 августа, 2015 Доброе утро. Написала свой первый скрипт, а он ничего не выводит. Не знаю, почему, буду благодарна любой подсказке. Запускаю из окна навигатора.В проверку хэндла файла после открытия вставьте элзе принт("Файл не найден.")Если файл корректно открыт вставте принт в цикл чтения и построчно выводите в журнал. Ссылка на сообщение Поделиться на другие сайты More sharing options...
igid Опубликовано 4 августа, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 4 августа, 2015 Так и не разобрался. Написал 4 советника с разными тралами. У всех в тесте ошибка 130. Не знаю почему она возникает и как сделать так, чтобы ее не было. Еще трал по фракталам вроде работает, но когда тестируешь с визуализацией - тест дальше первой сделки не идет( отрывается первый ордер и все, дальше никаких признаков жизни). А трала по pSAR заметил такую вещь. Советник открыл БАЙ, но цена тут же пошла вниз. А значения то индикатора получается сверху свечи, то есть стоплосс не может быть больше текущей цены. И у нас открыта позиция на долгое время без стоплосса. На скрине отметил это красной стрелкой. Подскажите как быть в данной ситуации? FractalTrailing.mq4ExtremumTrailing.mq4MATrailing.mq4ParabolikTrailing.mq4ScreenClip.png Ссылка на сообщение Поделиться на другие сайты More sharing options...
Konstebl Опубликовано 4 августа, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 4 августа, 2015 Так и не разобрался. Написал 4 советника с разными тралами. У всех в тесте ошибка 130. Не знаю почему она возникает и как сделать так, чтобы ее не было. Еще трал по фракталам вроде работает, но когда тестируешь с визуализацией - тест дальше первой сделки не идет( отрывается первый ордер и все, дальше никаких признаков жизни). А трала по pSAR заметил такую вещь. Советник открыл БАЙ, но цена тут же пошла вниз. А значения то индикатора получается сверху свечи, то есть стоплосс не может быть больше текущей цены. И у нас открыта позиция на долгое время без стоплосса. На скрине отметил это красной стрелкой. Подскажите как быть в данной ситуации? Вот поправленный трал с фракталами:void Trailing(){ SL = 0; fractal_down = NormalizeDouble(iFractals(NULL,0,MODE_LOWER,5),Digits); fractal_up = NormalizeDouble(iFractals(NULL,0,MODE_UPPER,5),Digits); for (int i =0;i { if (OrderSelect(i,SELECT_BY_POS)) { if (OrderSymbol()==Symbol()&&OrderMagicNumber()==Magic) if (OrderType()==OP_BUY) { if(fractal_down>0) { SL=NormalizeDouble(fractal_down,Digits); if (OrderStopLoss()!=SL) { if(SL bool rez = OrderModify(OrderTicket(),OrderOpenPrice(),SL,0,0); } } } if (OrderType()==OP_SELL) { if(fractal_up>0) { SL=NormalizeDouble(fractal_up,Digits); if (OrderStopLoss()!=SL) { if(SL > Ask + MarketInfo(Symbol(),MODE_STOPLEVEL)*Point) bool rez = OrderModify(OrderTicket(),OrderOpenPrice(),SL,0,0); } } } } }} Ошибка 130 - это неправильные стопы.Возможно просто стоп-лосс который Вы хотите разместить находится слишком близко от текущей цены.Сделайте проверку if(SL > Ask + MarketInfo(Symbol(),MODE_STOPLEVEL)*Point) Изменено 4 августа, 2015 пользователем Konstebl 2 Ссылка на сообщение Поделиться на другие сайты More sharing options...
igid Опубликовано 4 августа, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 4 августа, 2015 Ошибка 130 - это неправильные стопы.Возможно просто стоп-лосс который Вы хотите разместить находится слишком близко от текущей цены.Сделайте проверку if(SL > Ask + MarketInfo(Symbol(),MODE_STOPLEVEL)*Point) Спасибо. От ошибки избавился, Но все равно советники не тестируются при визуализации. У Вас также? Ссылка на сообщение Поделиться на другие сайты More sharing options...
Strong-Tezis Опубликовано 5 августа, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 5 августа, 2015 Здравствуйте. Давно искал нечто подобное, но нашел только на мт5. Может Вам встречался для мт4 или напишем, перепишем? ссылка: https://www.mql5.com/ru/market/product/850# 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Konstebl Опубликовано 5 августа, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 5 августа, 2015 Ошибка 130 - это неправильные стопы.Возможно просто стоп-лосс который Вы хотите разместить находится слишком близко от текущей цены.Сделайте проверку if(SL > Ask + MarketInfo(Symbol(),MODE_STOPLEVEL)*Point) Спасибо. От ошибки избавился, Но все равно советники не тестируются при визуализации. У Вас также? double Lowestprice(){ double Lprice; double Lowprice=100000; for (int i=0;i { // 1-я скобка Lprice=iLow(Symbol(),0,i); if(Lprice Lowprice=Lprice; } // 2-я скобка return(Lowprice); }//+------------------------------------------------------------------+double Highestprice(){ double Hprice; double Highprice=0; for (int i=0;i { // 1-я скобка Hprice=iHigh(Symbol(),0,i); if(Hprice>Highprice) Highprice=Hprice; } // 2-я скобка return(Highprice); } Вы в этих функциях не поставили скобки(выделены).И советник стал тестироваться.Только какие это экстремумы это просто хай или лоу предыдущей свечи! Изменено 5 августа, 2015 пользователем Konstebl 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
poand Опубликовано 5 августа, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 5 августа, 2015 Уважаемые гуру,только начал изучение темы, написал пару строк по третему уроку, но выскакивают четыри ошибки при компиляции:return value of 'OrderModify' should be checkedreturn value of 'OrderModify' should be checkedreturn value of 'OrderSelect' should be checkedreturn value of 'OrderSelect' should be checkedНикак не могу разобраться в чём причинаМожет кто помочь? Test311.mq4 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Konstebl Опубликовано 5 августа, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 5 августа, 2015 Уважаемые гуру,только начал изучение темы, написал пару строк по третему уроку, но выскакивают четыри ошибки при компиляции:return value of 'OrderModify' should be checkedreturn value of 'OrderModify' should be checkedreturn value of 'OrderSelect' should be checkedreturn value of 'OrderSelect' should be checkedНикак не могу разобраться в чём причинаМожет кто помочь? Поставьте перед этими функциями bool rez = и всё. 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
JR Опубликовано 5 августа, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 5 августа, 2015 Буквально страницу назад об этом писали. Функции OrderSend() и OrderModify() возвращают булево значение true или false при успешной операции или неудачной. Предполагается, что вас интересует столь важное действие как открытие или модификация ордера и вы захотите это проверить.В самом простом варианте пишите:bool result = OrderModify() - и это предупреждение компиляции исчезнет. 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти