- Отладка советника на истории с визуализацией
- Для любителей меряться... достижениями)))
- Терминатор v2.0
Тема обсуждалась много раз.. У меня вопрос другого рода: в какой данный момент цены/времени определяется что доливать нет смысла? (Хотелось бы видеть статистические модели от юзеров форума в поддержку своих аргументов) Видел несколько стратегий в которых вкручен мартин, но они тупо выглядят ( т.е. открылась сделка бай, потом через всего лишь 2-3 пипса еще бай и т..д) . Укажите на ваши самые любимые советники из паблика основанные на мартине
3 месяца торговал ручным мартином.. все было хорошо. Доливался на уровнях. Предыдущую четверг - пятница почти слит.... по EUR, думаю забросить мартин.. =)
Тема обсуждалась много раз.. У меня вопрос другого рода: в какой данный момент цены/времени определяется что доливать нет смысла? (Хотелось бы видеть статистические модели от юзеров форума в поддержку своих аргументов) Видел несколько стратегий в которых вкручен мартин, но они тупо выглядят ( т.е. открылась сделка бай, потом через всего лишь 2-3 пипса еще бай и т..д) . Укажите на ваши самые любимые советники из паблика основанные на мартине
См. прицеп...
Тема обсуждалась много раз.. У меня вопрос другого рода: в какой данный момент цены/времени определяется что доливать нет смысла? (Хотелось бы видеть статистические модели от юзеров форума в поддержку своих аргументов) Видел несколько стратегий в которых вкручен мартин, но они тупо выглядят ( т.е. открылась сделка бай, потом через всего лишь 2-3 пипса еще бай и т..д) . Укажите на ваши самые любимые советники из паблика основанные на мартине
https://forum.mql4.com/ru/20265/page93
См. прицеп...
Клевый прицеп.. спасибо.. что из этого гонял на демо? что больше всего приглянулось?
3 месяца торговал ручным мартином.. все было хорошо. Доливался на уровнях. Предыдущую четверг - пятница почти слит.... по EUR, думаю забросить мартин.. =)
СКолько первоначальное депо и на сколько нагнал до момента слива?
Клевый прицеп.. спасибо.. что из этого гонял на демо? что больше всего приглянулось?
Всем заинтересованным лицам - выкладываю в прицеп и самого советника по Лавине, и отчет о его работе с одними из возможных вх параметрах, мной написанного на основе Av02.mq4 - варианты неттинговой лавины (см. предыдущий прицеп моего поста - специально оставил текущие настройки... ранее оптимизированных параметрах код также закомментирован + описание его работы. Вышел я на этот вариант после многочисленных изысканий и исследований в данном направлении. Итак, Демо - недавно - там показывать еще нечего. Тестер - в архиве - в нем см. сет файлы для тестирования и оптимизации. Описание переменных и особенности его работы:
#property copyright "Copyright © 18 июля, 2011, Roman Shiredchenko" #include <stdlib.mqh> #include <stderror.mqh> //#include <dynamic_channel.mqh> // динамический канал #include <TrailingByFractals.mqh> // trailing // // Внешние переменные (оптимизируются) // extern double Lots = 0.1; // Стартовый лот extern double MaxRisk = 0; // риск на капитал в % // рассчитываем объем позиции взависимости от размера стопа, при заданном риске // например при депо 10 000 риск 1% при стопе 100 пп это будет примерно лот 0.1, // при стопе 200 пп уже лот должен быть 0.05, для того чтобы риск 1% остался на том же уровне extern int MaxLoss = 90; // Максимально допустимая просадка в процентах от баланса extern double StopLoss = 0; // Стоплосс в пипсах - для пятизнака - для инструментов XXXYPY, металлов. extern int TakeProfitPips = 220; // Тейкпрофит в пипсах для начальных ордеров (без исп-ия трала), для пятизнака extern int Period_ATR = 30; // значение АТР для расчета динамического канала, использовать валютах XXXUSD, USDCAD, USDCHF, КРОМЕ XXXJPY //extern int divider = 3; //extern double KMartin_Mul = 2; // Коэф. наращивания (умножения) начального лота - постоянный - равен 2 extern int Max_Iteration = 10; // Максимальное количество итераций (ордеров) в мартине extern int k = 2; // с какой итерации тралим extern double Delta_Sum_Loss = 8; // минимальный допуск в "настоящих" пунктах для расчета расстояния от безубытка (буфер), // включается функция трала после очередной итерации, при котором начиная с к, если прибыль по текущей позиции больше // суммы суммарного последовательного убытка предыдущих итераций и допуска Delta_Sum_Loss, то тралим... extern int t_trend_period =6; // 1-М1, 2-М5, 3-М15, 4-М30, 5-Н1...-для старшего фильтра, внутри которого работаем extern int s_trend_period = 5; // PERIOD_M1 1 1 минута // PERIOD_M5 5 5 минут // PERIOD_M15 15 15 минут // PERIOD_M30 30 30 минут // PERIOD_H1 60 1 час // PERIOD_H4 240 4 часа // PERIOD_D1 1440 1 день // PERIOD_W1 10080 1 неделя // PERIOD_MN1 43200 1 месяц // 0 (ноль) 0 Период текущего графика //extern int Filter.Hour=0; // Д-Фильтр: торговля по часам, вне этих часовых рамок новые сделки не открываем, но текущие инетации завершаем extern int Start=9; extern int End=20; extern int Period_MA = 20; // Период МА extern int Period_ADX = 40; extern int ADXOpenLevel = 12; //---- входные параметры индикатора iVAR extern int n = 5; extern int nBars = 100000;
Стоп-лосс используется только для обозначенных инструментов, т.к. пока еще не нашел формулу для расчета динамически меняющегося канала, для остальных инструментов ширина канала получается от величины АТР - т.е. каждый день - разная (меняется как правило медленно, в зависимости от периода дневного АТР), т.е. когда оптимизируются инструменты с йеной или металлы галочку убирай с оптимизации Period_ATR, ставь "0" и все - этот параметор не используется, когда торги по другим инструментам, то значение постоянного уровня StopLoss не используется - ставь там 0 и снимай галочку оптимизации.
Вот эта конструкция в коде:
if (Symbol() == "GBPJPY" || Symbol() == "EURJPY" || Symbol() == "USDPY" || Symbol() == "CHFJPY" || Symbol() == "XAUUSD" || Symbol() == "XAGUSD" || Symbol() == "EURGBP") StopLossPips = StopLoss; else { channel = 10* (iATR(Symbol(),PERIOD_D1,Period_ATR,1)*10000/3); //Print(" channel ATR ", iATR(Symbol(),PERIOD_D1,Period_ATR,1) ," равен ",channel); StopLossPips = NormalizeDouble(channel,0); //Print("стоплосс ордера № ",OrderTicket()," равен ", StopLossPips); if (Lot(StopLossPips)==false) //Функции мoжно передавать любой параметр - все расчеты - внутри нее { Comment(" Пополните счет. Не хватает средств на минимальный лот. Советник остановлен.");// Если средств не хватает на мин, то выход Print ("Не хватает средств на минимальный лот. Lots_New = ",Lots_New, " AccountFreeMargin() = ", AccountFreeMargin()); // Если средств не хватает на мин, то выход return (0); } }
Переменные t_trend_period =6; s_trend_period = 5; для оптимизации рабочих таймфреймов.
Описание торговых условий: Вход в рынок по пробою фрактала на сигнальном (как правило меньшем) таймфрейме, чем трендовый. Естественно, при этом АДХ, МА и индикатор iVAR должны на старшем глобальном ТФ показывать в одну сторону - что тренд начался... Лавина же трендовая ТС.
Вот сигнальная часть эксперта.
// ----------------------------Считаем параметры технических индикаторов:------------------------------------ double MA_1 = iMA(Symbol(),trend_period,Period_MA,0,MODE_EMA,PRICE_TYPICAL,1); double ADX1_1 = iADX(Symbol(), trend_period, Period_ADX, PRICE_OPEN, MODE_MAIN,0); // рассчет ADX - торгуем по тренду double ADX1_2 = iADX(Symbol(), trend_period, Period_ADX, PRICE_OPEN, MODE_MAIN,1); double ADX_PLUS1_1 = iADX(Symbol(), trend_period, Period_ADX, PRICE_OPEN, MODE_PLUSDI,0); double ADX_PLUS1_2 = iADX(Symbol(), trend_period, Period_ADX, PRICE_OPEN, MODE_PLUSDI,1); double ADX_MINUS1_1 = iADX(Symbol(), trend_period, Period_ADX, PRICE_OPEN, MODE_MINUSDI,0); double ADX_MINUS1_2 = iADX(Symbol(), trend_period, Period_ADX, PRICE_OPEN, MODE_MINUSDI,1); double iVAR_1 = iCustom (Symbol(),trend_period, "iVAR", n, nBars, 0, 1); // расчет индикатора iVAR // определение входа в рынок по пробою фрaктала F1=iFractals(Symbol(), signal_period, MODE_UPPER, 2); if (F1>0) F11 = F1; //Print (" F11 = ", F11);} // if (F1 == 0) Print (" F11 = ", F11); F2=iFractals(Symbol(), signal_period, MODE_LOWER, 2); if (F2>0) F22 = F2; // Print (" F22 = ", F22);} // if (F2 == 0) Print (" F22 = ", F22);
При этом, в эксперте, допустим, получились их (этих переменных, отвечающих за значения используемых ТФ-ов в торговле)значения 5 и 3, то последующий тест (форвард) или постановку на торговый счет эксперта необходимо ставить именно на меньшем таймфрейме из полученных, т.е. если 5 и 3, то тестируем и торгуем на М15, т.к. значение 3 = таймфрейму М15.
В эксперте организован контроль за образованием нового бара, поэтому тестировать и оптить по модели: "По ценам открытия...", кроме этого в эксперте ведется виртуальный учет уровней тейка и стопа, с последующим переворотом (если стоп-лосс), дабы не показывать брокеру своих уровней закрытия поз - это неттинговая лавина, т.е. при сработке споп-лосса - поза кроется и открывается новая увеличенным объемом, в соответствие, с числами ФИБО, т.е. при переворотах будут следующие множители объемов позиций 1 переворот - 1, 2 переворот - 2, 3-3, 4-5, 5-8... т.д. - вот эта конструкция:
switch(Iteration) // Заголовок switch { // Начало тела switch case 1 : Lots_New = lastLots * 1; lots = lastLots; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New );break; //расчет нового объема case 2 : Lots_New = lots * 2; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New ); break; case 3 : Lots_New = lots * 3; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New ); break; case 4 : Lots_New = lots * 5; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New ); break; case 5 : Lots_New = lots * 8; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New ); break; case 6 : Lots_New = lots * 13; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New ); break; case 7 : Lots_New = lots * 21; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New); break; case 8 : Lots_New = lots * 34; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New); break; case 9 : Lots_New = lots * 55; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New); break; case 10: Lots_New = lots * 89; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New ); break; case 11: Lots_New = lots * 144; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New ); break; case 12: Lots_New = lots * 233; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New); break; case 13: Lots_New = lots * 377; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New ); break; case 14: Lots_New = lots * 610; Print("Iteration = ", Iteration, " Lots_New = ", Lots_New ); break; default: Print ("Более четырнадцати переворотов = ну, куда, на хуй - ", Iteration, "переворотов"); // С case не совпало } // Конец тела switch
Ограничение работы сова по времени внутри суток - переменные Start, End - вне времени определенного этими переменными советник в рынок не входит. Вход в рынок - рыночными ордерами при пробое фрактала на сигнал таймфрейме, отложенники не используются. В данном сове используется трал по фракталом на сигнал таймфрейме на расстоянии indent от текущего фрактала. Особенности при оптимизации переменной k ( extern int k = 2; // с какой итерации тралим ) - ее значение ставить от 1 до 3 шаг 1, т.е. производим перебор оптимизируемых вариантов и перебираем эти значения, т.е. трал включать либо с первого переворота (итерации), либо со второго, либо с третьего... бОльшие ее значения я не пробовал использовать... Окончательный выход из позы, либо из цикла переворотов - либо ТР, либо тралом.
Код закоментирован, на экране торгуемого инструмента слева вверху также комментарии о ходе торгов.
При вылетании терминала, падении Винды и т.д. после перезагрузки компа и запуска терминала, перед запуском сова на инструменте, вбить вручную в его внешние переменные значения переменных отвечающих за:
extern int Iteration = 0; // счетчик для подсчета итераций, колен лавины extern int Sum_Loss = 0; // суммарный убыток по предыдущим итерациям
Пока, вроде все.
П.С. В прицепе - два сова - второй - со входами по методу Пуриа - посмотрите через поиск описание входов данного метода...
Будут интересные результаты по улучшению ТС или лучшие критерии на вход в сделку и т.д. - делитесь.
Вот такие картинки рисуются, да, кстати, если будешьторговать не постоянным лотом, а по переменной MaxRisk = 1; // риск на капитал в % - детальное описание данного варианта ММ - см. здесь - я его завернул в ф-ию эксперта, то значение переменной extern double Lots = 0,1; // Стартовый лот, необходимо сделать равным нулю.
Тестируйте, дорабатывайте, т.д. высказывайте предложения и вопросы в ветке Лавина - также описание этой ТС с этой страничке...
Благодарю.
СКолько первоначальное депо и на сколько нагнал до момента слива?
Депо было 700 у.е. в январе этого года - нарвался на жесточайший флет по евробаксу на другом варианте ТС с ММ по мартину - было 6 переворотов - это для депа было уже слишком. с 700 разогнал до 1200 после чего счет был слит. Т.е. для старта по той ТС - она вошла в просадку - это уже на демо и тестере - причем нормально сделки били один в один - на 2400, т.е. для старта необходим деп 3000 у.е. на стартовом лоте 0,01 и комфортной работе. Готовлюсь.
т.е. для старта необходим деп 3000 у.е. на стартовом лоте 0,01 и комфортной работе. Готовлюсь.
а потом надо будет 6тыс, а потом 12тыс, а потом - деньги закончатся
Тема обсуждалась много раз.. У меня вопрос другого рода: в какой данный момент цены/времени определяется что доливать нет смысла? (Хотелось бы видеть статистические модели от юзеров форума в поддержку своих аргументов) Видел несколько стратегий в которых вкручен мартин, но они тупо выглядят ( т.е. открылась сделка бай, потом через всего лишь 2-3 пипса еще бай и т..д) . Укажите на ваши самые любимые советники из паблика основанные на мартине
На форуме МТ5.сом есть здоровенная ветка по советникам основанным на мартине. Называется Советник Ilan, настройки и оптимизация. Присутствует много народу. Ведется активное обсуждение. Часто появляются новые, свежие варианты советников. Есть большое хранилище советников основанных на мартине. Я и сам там часто кручусь.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования