EDI Опубликовано 20 июня, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 20 июня, 2017 Благодарю за помощь. C верхними тенями порядок, а вот нижние неверно находит. Спойлер Ссылка на сообщение Поделиться на другие сайты More sharing options...
usver73 Опубликовано 20 июня, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 20 июня, 2017 Благодарю за помощь. C верхними тенями порядок, а вот нижние неверно находит. Спойлер Извините, был невнимательнымAverageRange_mod1.mq4 2 Ссылка на сообщение Поделиться на другие сайты More sharing options...
EDI Опубликовано 20 июня, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 20 июня, 2017 Замечательно! Огромнейшее вам спасибо. Ссылка на сообщение Поделиться на другие сайты More sharing options...
legin Опубликовано 20 июня, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 20 июня, 2017 Добрый день подскажите по 3 уроку, написал советник, не могу открыть отложенный стоп ордер, не закрывая другой. То есть открывается ордер на продажу по двум индикаторам, цена идет вверх, хочу не закрывать этот ордер по стоп лоссу а открыть стоп ордер локирующий на покупку, и закрыть оба ордера уже тогда, когда они достигнут средней линии индикатора TMA_Fair. А у меня получается так, открывается ордер к примеру на продажу, цена идет в другую сторону, достигает байстопа, и селл и байстоп закрываются, открывается опять селл. Auto_robot_po_TMA_Fair_Stop.mq4 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Bryanwins Опубликовано 20 июня, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 20 июня, 2017 Всем привет нужен совет.//-------------------------------------------цикл подсчета торговых ордеров //- int kolpos=0; for(int pos=0; pos { if(OrderSelect(pos,SELECT_BY_POS, MODE_TRADES)) { if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic) {kolpos++;} //-- и посчитал его } } //---------------------------------------------------этот цикл считает отложенные ордера и рыночные ордера. Что нужно добавить в код чтобы цикл считал только рыночные ордера, а отложенные не подсчитывал ? Ссылка на сообщение Поделиться на другие сайты More sharing options...
Rinat Опубликовано 21 июня, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 21 июня, 2017 Приветствую всех участников форума. Программирование на MQL4 начал изучать недавно, процесс идет с трудом, но сейчас не об этом. Хотелось бы воспользоваться консультацией специалистов. Есть ли способ научить советник, торгующий бинарными опционами, перед открытием позиции узнавать процент вознаграждения за сделку? Спасибо. Ссылка на сообщение Поделиться на другие сайты More sharing options...
Roman 13 Опубликовано 21 июня, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 21 июня, 2017 Здравствуйте подскажите как сделать чтобы советник выставлял стоп лосы по фракталам. Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 21 июня, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 21 июня, 2017 Что нужно добавить в код чтобы цикл считал только рыночные ордера, а отложенные не подсчитывал ?В условие выбора ордеров добавьте новое условие:if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic&& OrderType() )Roman 13 Нужно искать фрактал против входа и потом корректировать СЛ на этот уровень +-отступ. Фракталы бывают разной длины, верхние нижние. 2 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Roman 13 Опубликовано 21 июня, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 21 июня, 2017 Т.е. при открытии позиции на продажу , стоп лос будет равен sl = iFractals(NULL,0,MODE_UPPER,1); 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 21 июня, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 21 июня, 2017 Т.е. при открытии позиции на продажу , стоп лос будет равен sl = iFractals(NULL,0,MODE_UPPER,1);Нет. Индикатор пишет цену фрактала в соответствующий буфер только когда находит, т.е. надо искать в цикле от 1 последнее значение фрактала и только потом присваивать его СЛ. Ссылка на сообщение Поделиться на другие сайты More sharing options...
Roman 13 Опубликовано 21 июня, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 21 июня, 2017 Т.е. при открытии позиции на продажу , стоп лос будет равен sl = iFractals(NULL,0,MODE_UPPER,1);Нет. Индикатор пишет цену фрактала в соответствующий буфер только когда находит, т.е. надо искать в цикле от 1 последнее значение фрактала и только потом присваивать его СЛ. Хорошо, а как это выглядит в коде ? Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 21 июня, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 21 июня, 2017 Roman 13 есть гугл и с помощью его я нашёл то, что Вам нужно:Пример от Кима (в конце 6 страницы) Ссылка на сообщение Поделиться на другие сайты More sharing options...
Septimus Опубликовано 22 июня, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 22 июня, 2017 Добрый день. Кто может добавить в этот индикатор VWAP_close Линии Канала?Вот формула Линий Канала VWAPCH (по сути это будет VWAP_Болинджер):Вычисляем «Стандартное Отклонение»:StdDev = √((SUM ((CLOSE-VWAP )*2,N)/N))Вычисляем «Линии Канала VWAPCH» :Верхняя Линия TL = VWAP + (D * StdDev)Нижняя Линия BL = VWAP - (D * StdDev),где «D» - Число стандартных отклонений StdDevПример визуального представления на Скрине + сам Индикатор ТС_3.pngvwap_close.mq4 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Gradalis_Seeker Опубликовано 27 июня, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 27 июня, 2017 Здравствуйте! Есть торговая система, по которой очень тяжело торговать руками. Суть системы очень простая, но требуется очень много действий мышкой и расчетов. Суть системы в следующем:В определенное время на X расстояние от цены выставляются разнонаправленные сетки ордеров( скажем 5 на buy и 5 на sell) с короткими TP. Если цена идет и начинает активировать сетку ордеров на Бай, то нижняя сетка следует за верхней на X расстояние.Далее самая сложная часть:Если цена идет в одну сторону, скажем вверх, то сетка просто траллит. Ниже постараюсь написать, на сколько могу, понятнее)) ~x( Скажем цена шла в сторону Бай сетки и несколько ордеров закрыла по ТП, а потом активировала еще один ордер,развернулась и прошла вниз Х пунктов и активировала ордер из нижней сетки. Это значит, что сова так же траллит цена двумя сетками, но тот ордер на бай, который в убытке, закрывается за счет прибыльных ордеров по нижней сетке. Нужно сделать чтобы сова всегда закрывала один убыточный ордер за счет прибыльных ордеров.Вот как то так вкратце. Если кто будет готов взяться помочь, то обсудим подробнее. Прибыльность стратегии скорее всего вызывает вопросы.Основной заработок будет идти на ребейтах и когда цена будет хорошо двигаться в одном направление. Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 27 июня, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 27 июня, 2017 Видел похожую сову на другом форуме, одна из реализаций "Русской системы". комментировать не буду, но на самом деле не всё так просто... Ссылка на сообщение Поделиться на другие сайты More sharing options...
falvaspav Опубликовано 29 июня, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 29 июня, 2017 Доброго времени суток!Объясните новичку, почему так (на скрине вопрос). Спойлер Изменено 29 июня, 2017 пользователем falvaspav Ссылка на сообщение Поделиться на другие сайты More sharing options...
BadWolf Опубликовано 30 июня, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 30 июня, 2017 Ребят помогите решить проблему с масивом. Хотелось чтобы торговля велась когда ATR находится выше Moving Average если ниже торговлю запретить набросал масив но не могу понять что не работает Цитата int MaOnATR(){ int i; int limit; int counted_bars = IndicatorCounted(); double ATRBuffer[], MAofATRBuffer[]; if(counted_bars if(counted_bars>0) counted_bars--; limit=Bars-counted_bars; for(i=0; i { ATRBuffer=iATR(Symbol(), NULL, Atr_period, i); MAofATRBuffer=iMAOnArray(ATRBuffer, 0, Ma_period_3, Ma_shift_3, Ma_method_3, i); if ((ATRBuffer[i+1] - MAofATRBuffer[i+1]) * (ATRBuffer - MAofATRBuffer) { return(-1); } if ((ATRBuffer[i+1] - MAofATRBuffer[i+1]) * (ATRBuffer - MAofATRBuffer) > 0) { return(1); } } return(0);} Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 30 июня, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 30 июня, 2017 BadWolf АТР это средний размер баров, средняя от АТР = АТР от большего количества баров. Возьмите 2 АТР поменьше и побольше и сравнивайте между собой и будет счастье без массивов.По сути: if ((ATRBuffer[i+1] - MAofATRBuffer[i+1]) * (ATRBuffer - MAofATRBuffer) - нет индексов массива в правой половине Ссылка на сообщение Поделиться на другие сайты More sharing options...
BadWolf Опубликовано 1 июля, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 1 июля, 2017 Спасибо за ответ 0ll но результат 2-е ATR дает не тот что ATR и наложеная на него Moving Average. Но все равно спасибо Ссылка на сообщение Поделиться на другие сайты More sharing options...
boovood Опубликовано 3 июля, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 3 июля, 2017 Создал тему по советнику, по интересной стратегии, но есть проблема и требует вмешательства настоящего программиста. Предполагаю что будет три варианта:- ни кто не захочет помочь- перепишут и усовершенствуют написанную мной сову- напишут сову зановоСова и стратегия здесь:http://tlap.com/forum/arkhiv/25/interesnyy-sovetnik-rastvormoe-nazvanie/16567/new;topicseen#newПомогших запишем или в соавторы или в разработавших новую сову по стратегии.Вот советник: Rastvor.mq4 Изменено 3 июля, 2017 пользователем boovood Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 3 июля, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 3 июля, 2017 Очередная неваляшка, она же качели, перевёртыш и т.д. Ссылка 1Ссылка 2Ссылка 3Ссылка 4http://tlap.com/forum/laboratoriya-profitfx/24/sovetnik-pendulummethod-nevalyashka-nam-nuzhno-dvizhenie-tseny-v-kakuyu-storonu-ne-vazhno/12903/Ссылка 5Сливает во флёте, говорите надо усовершенствовать? - напишите как. 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
shout Опубликовано 3 июля, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 3 июля, 2017 Прошу починить индикатор по коррекциям фибо, он ну очень удобный)Проблема в том что терминал зависает сразу как только кинешь на график, не помогает ни перезагрузка терминала, ни компьютера, только удаление самого индикатора из терминала.И было бы круто улучшить индикатор фибо спираль. Надо что бы можно было расставить неограниченное число спиралей (или хотя бы десяток) на один график и они не удалялись автоматически при переходе на другой тф. Сейчас так сделать нельзя((Надеюсь за это кто нибудь возьмется. Fibonacci_All_TF.mq4FX5_FiboSpiral_v1_0.mq4 Изменено 4 июля, 2017 пользователем shout Ссылка на сообщение Поделиться на другие сайты More sharing options...
usver73 Опубликовано 4 июля, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 4 июля, 2017 Добрый вечер.Продолжение темы по ТЗ Старика отсюда:http://tlap.com/forum/laboratoriya-profitfx/24/open-source-sovetnik-forex-setka-trader-mod-i-eaqj-setka/2738/?do=findComment&comment=366858Старик, хотел бы подтвердить- правильно ли я понял ТЗ.Набор собираемых данных:-Количество баров-Средняя волатильность-Среднее тело-Средняя верх. Тень-Средняя нижн. Тень-Макс. Свеча-Макс. Тело свечи-Макс. верхняя тень-Макс. Нижняя теньДанный набор считается отдельно для:- весь период (все свечи, только БАЙ, только СЕЛЛ);- по дням недели(все свечи, только БАЙ, только СЕЛЛ);-по временным промежуткам(все свечи, только БАЙ, только СЕЛЛ).Во вложении макет представления данных.Накидал черновой вариант.Основная цель- проверить корректность расчетов. Пока вывод информации сделал частичным через Comment.Прошу проверить арифметику.Работает как оригинал- индикатор. В конце проекта переделаю на скрипт. Visual.pngAverageStatistic_1.0.mq4 Изменено 4 июля, 2017 пользователем usver73 3 Ссылка на сообщение Поделиться на другие сайты More sharing options...
usver73 Опубликовано 5 июля, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 5 июля, 2017 Почти добил..Описание настроек(как всегда- выдраны из кода :)) ) Спойлер datetime BeginDateCalc = D'2017.01.01'; // Начало исследуемого периодаdatetime EndDateCalc = D'2017.12.31 23:59:59';// Конец исследуемого периодаstring aa1="ИНТРАДЕЙ ПЕРИОДЫ";int IDbegin0 =0;//Интрадей начало 1-го периодаint IDlenth0 =0;//Интрадей продолжительность 1-го периодаint IDbegin1 =0;//Интрадей начало 2-го периодаint IDlenth1 =0;//Интрадей продолжительность 2-го периодаint IDbegin2 =0;//Интрадей начало 3-го периодаint IDlenth2 =0;//Интрадей продолжительность 3-го периодаint IDbegin3 =0;//Интрадей начало 4-го периодаint IDlenth3 =0;//Интрадей продолжительность 4-го периодаextern string aa3="-----------------------";bool SetChart =false;//Очищать чарт и устанавливать цвета//------------------------------------------------------------------+// входные параметры инфопанели//------------------------------------------------------------------+string aa6="НАСТРОЙКИ ИНФОРМАЦИОННОЙ ПАНЕЛИ";// int ShiftCol = 320; //ширина между столбцамиint ShiftRow = 200; //высота между строкint StartShift = 20; // смещение от краяint FontSize = 9; //Размер шрифта color BackColor = clrWhiteSmoke; //Цвет фона color FontColor = clrDarkBlue; //Цвет шрифта Комментарии будут краткими:Интрадей периоды- четыре периода, задаваемые Началом (час) и Продолжительностью(час). Например, Начало в 2, продолжительность 3. Исследуется период с 2:00:00 до 4:59:59.SetChart - если ТРУ, то чарт, на который брошен индюк (или скрипт) будет отформатирован:убрана сетка, периоды, линии цен, ВСЕ объекты!, цвета фона и шрифта. Сделано для облегчения восприятия- информации много...Последняя группа- настройка положения инфопанели на чарте и ее основные параметры.Что не сделано:1. блок Интрадей требует многофакторной проверки корректности введенных параметров. Пока проверяется длина периода- д.б. >0.2. Также требуется расширять логику рисования Интрадей- периодов: сейчас если период не задан, то отображеются 0-е значения и окончание периода может отображаться криво(например, старт в 21, продолжительность 10. Окончание отобразится - в 31 час ;))Хотя ковырять не охота- в конце концов не так уж лишняя информация и мешается...3. Не дописан код вывода в файл. Но это дело техники, завтра доделаю.На обсуждение:1. таблица довольно много занимает места на экране- на буках может не влезть. Может переделать на сетку 4 х 3 ?2. Можно прикрутить цикл по всем инструментам из обзора рынка. Тогда можно статистику по всем парам в один файл загнать...п.с. Во вложении с суфф. ind - индикатор, с суфф. scr- скрипт.п.п.с. И самое главное! Проверьте кто-нибудь корректность данных! Я ,конечно, проверял (на больших ТФ), но глаз все равно "замылен" .AverageStatistic_1.1scr.mq4AverageStatistic_1.1ind.mq4ps.png Изменено 6 июля, 2017 пользователем usver73 7 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Старик Опубликовано 6 июля, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 6 июля, 2017 usver73, очень хорошо! =d>Предложения есть следующие:1) SetChart что-то очень жестокое - после применения скрипта на нескольких парах терминал пересобирать надо будет.И/или профиль сохранять надо и потом восстанавливать. Народ напрочь запутается по любому, будет забывать и будет ругань.намного проще делать фон под шрифтом при выводе инфы.Гляньте как организован вывод в скрипте AccountInfo - выводится непрозрачное окошко с текстом поверх всего, глянули, закрыли и забыли, ничего не затирается/обнуляется.2) интрадейную инфу стоит выводить только по одному внутридневному интервалу (в часах) - но той же структуры, что и сводную инфу за весь период в днях.То есть сводная таблица за период дата/дата и эта же инфа с разбивкой по дням недели понедельник/пятница.И интрадейный блок (выбранные часы) - сводная и эта же инфа с разбивкой по дням недели.На самом деле интродейные выборки будут использоваться не так уж и часто - и, если кому-то будет нужно проанализировать несколько часовых интервалов, то несколько раз вызовет скрипт.В принципе, если интродейный интервал в часах не будет задан - можно и таблицы незаполненные не визуализировать.3) имхо, достаточно выводить 12 таблиц. можно/лучше 4 строки по 3 столбца.сводная, пн, вт - за периодсреда, чт, пт - за периодсводная, пн, вт - интрадейсреда, чт, пт - интрадейНормально? 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти