Про какое описание речь? Я просто, можно сказать, тестирую советник.В описании было сонаправленно, причем сонаправленно с EURUSD.
Про какое описание речь? Я просто, можно сказать, тестирую советник.В описании было сонаправленно, причем сонаправленно с EURUSD.
Понял.
Но если речь именно о запаздывающей корреляции, то в таком случае нужно открывать только одну позу и только по одному инструменту через слабо волатильные пары евро-фунт и евро-франк, т.е. по EURUSD или GBPUSD или USDCHF.
к ему тогда написано это, если это не так?
sinput string section1 = "Money Management";
// Расчет лота либо фиксированный, либо в процентах от депозита
input lotsmod LotMode = FixLot; // Расчет лота ›››
input double Lots = 0.01; // Фиксированный лот
input double Risk = 2.0; // Максимальный риск(%)
"Учитывать при расчетах разную стоимость пункта, в этом случае
на парах с обратной котировкой размер лота будет отличаться,
чтобы уравновесить прибыль/убыток по разным парам"
input rubool UseUnequalLots = false; // Учитывать разную стоимость пункта по символам
sinput string delimiter1 = NULL; //·
"Настройки Мартингейла"
input progr MultiplicationMode = Arithmetical; // Метод увеличения лотности при "доливках" ›››
input double Multiplicator = 0.01; // Коэффициент (знаменатель/разность) прогрессии
sinput string section2 = "Параметры торговли";
"Расхождение можно считать как разность стохастиков и как
разность в дневном ходе цены. Обратите внимание, что для
стохастика помимо периода вынесены в настройки замедление
и тип сглаживания. Теоретически на более плавных
стохастиках результаты должны быть лучше"
input dclc CalcMode = clcStoch; // Способ расчета расхождения ›››
input int StochPeriod = 100; // Период стохастика
input int StochSlowing = 3; // Замедление стохастика
input ENUM_MA_METHOD StochMethod = MODE_SMA; // Тип сглаживания стохастика
"Наименования торговых инструментов. Если ваш брокер
использует в названиях пар префиксы, например fEURUSD,
и/или суффиксы, например EURUSD.m, то надо ОБЯЗАТЕЛЬНО!
указать их в соответствующих параметрах. Если никаких
префиксов/суффиксов нет, то SymbolPrefix и SymbolSuffix
должны быть пустыми строками. По умолчанию, в настройках
суффикс ".m", обратите внимание."
input string FirstSymbol = "EURUSD"; // Первый символ
input string SecondSymbol = "GBPUSD"; // Второй символ
input string SymbolPrefix = ""; // Префикс символа
input string SymbolSuffix = ".m"; // Суффикс символа
sinput string delimiter2 = NULL; //·
input double DifferenceOpenValue = 50.0; // Процент расхождения для открытия позиций
input double DifferenceCloseValue = 10.0; // Процент расхождения для закрытия позиций
input double TakePrifitInCurrency = 0.0; // Тейк профит в валюте(0-откл.)
input double StopLossInCurrency = 5000.0; // Стоп лосс в валюте(0-откл.)
sinput string delimiter3 = NULL; //·
"Если параметр MaxPositions=0, то по одному символу
открывается только одна сделка, если этот параметр
больше нуля, это значит, что столько позиций может
быть открыто по символу дополнительно. Например
при значении 1 по одной паре может быть открыто
2 сделки, одна из которых дополнительная и т.д."
input int MaxPositions = 0; // Максимальное кол-во "доливок" по одной паре
"Как только текущее расхождение увеличится на значение
MinDelta, откроется новая сделка, если предыдущий
параметр больше нуля. Позиции открываются на расстоянии,
не меньшем MinDistance от ближайшей. Обратите внимание,
что хотя бы один из этих параметров должен быть больше
нуля, потому что расстояние между позициями необходимо
регулировать, иначе они будут открываться одна за другой"
input double MinDelta = 0.0; // Мин.шаг расхождения(%)для новой "доливки"
input int MinDistance = 0; // Минимальная дистанция между ордерами
sinput string delimiter4 = NULL; //·
input rubool UseValueByPrevBar = false; // Использовать значения сформировавшегося бара
input int Magic = 1000; // Magic number
input int Slippage = 10; // Макс.допустимое проскальзывание
sinput string section3 = "Время торговли";
input rubool TimeAllow = false; // Ограничивать работу советника по времени
input uchar OpenHour = 8; // Час начала торговли
input uchar CloseHour = 14; // Час завершения торговли
input rubool CloseByTime = false; // Закрывать все сделки в указанное время
input rubool CloseProfitable = false; // Закрывать только при наличии прибыли
input uchar HourClose = 17; // Час закрытия
input uchar MinutesClose = 00; // Минута закрытия
Спасибо за открывшиеся возможности по оптимизации. Период стохастика 50 поставили при тесте, а не 100, потому что лучше отрабатывает с этим значением?Выкладываю новую доработанную версию советника. Ниже можете почитать о параметрах, если что-то будет непонятно, спрашивайте.
Чтобы подогреть интерес к тестированию и обсуждению советника, выложу также архив с прогоном за 2017 год с реинвестированием. Конечно, настройки экстремальные, но чтобы показать потенциал робота, думаю, подойдет.
Посмотреть вложение 304063
Посмотреть вложение 304064
Посмотреть вложение 304062
Ничего не оптимизировал, просто подобрал параметры на скорую руку, чтобы кривая доходности была круче. Так что оптимизируйте, тестируйте и по возможности делитесь результатами.Спасибо за открывшиеся возможности по оптимизации. Период стохастика 50 поставили при тесте, а не 100, потому что лучше отрабатывает с этим значением?
"Есть такой же, но с перламутровыми пуговицами?"Для МТ4 есть такой же ?
Не могли бы вы при следующем обновлении в блок манименеджмента вставить расчет лота для первых позиций пропорционально размеру депо, например 0,01 лота на каждые N долларов. Непонятно как рассчитывается процент автолота, ведь у нас нет стопов по факту.Ничего не оптимизировал, просто подобрал параметры на скорую руку, чтобы кривая доходности была круче. Так что оптимизируйте, тестируйте и по возможности делитесь результатами.
подскажите, можно как-то добавить возможность открытия доп ордеров только по MinDistance без привязки к MinDelta?"Как только текущее расхождение увеличится на значение
MinDelta, откроется новая сделка, если предыдущий
параметр больше нуля. Позиции открываются на расстоянии,
не меньшем MinDistance от ближайшей. Обратите внимание,
что хотя бы один из этих параметров должен быть больше
нуля, потому что расстояние между позициями необходимо
регулировать, иначе они будут открываться одна за другой"
lsv107 посмотрите на досуге такой индикатор,я постоянно пользуюсь вместо стохастика ибо он более точный.Выкладываю новую доработанную версию советника. .....
"Расхождение можно считать как разность стохастиков и как
разность в дневном ходе цены. Обратите внимание, что для
стохастика помимо периода вынесены в настройки замедление
и тип сглаживания. Теоретически на более плавных
стохастиках результаты должны быть лучше"
lsv107, а у меня вопрос наоборот, как можно добавить возможность открытия дополнительных ордеров только по MinDelta?подскажите, можно как-то добавить возможность открытия доп ордеров только по MinDistance без привязки к MinDelta?
Я вижу необходимость доливок, если раздвижка продолжает расти. Но хотелось бы для каждой новой доливки добавить закрытие по своему схождению, а не по общему. Но функцию закрытия всех позиций по установленному проценту расхождения оставить.Кстати, хотелось бы узнать, как вы видите реализацию доливок? У меня, конечно есть собственные варианты, но чтобы не проходить один и тот же путь дважды, хотелось бы выслушать мнение форумчан.
Я вижу необходимость доливок, если раздвижка продолжает расти.
Я доливку вижу так: открылся я, например, при 50% расхождения, а расхождение продолжило увеличиваться, я далее открываюсь, например, при 60%.Скажите, а что значит "доливка" ?
Да, согласен, так.... а "раздвижка" - это дивергенция между валютными парами с положительной корреляцией ?
Я доливку вижу так: открылся я, например, при 50% расхождения, а расхождение продолжило увеличиваться, я далее открываюсь, например, при 60%.
Да.Т.е. например - GBPUSD ушел вниз, ваш индикатор показал некие 50% и вы открываете бай GBPUSD и селл EURUSD одинаковыми объёмами в одно и тоже время. Через какое-то время ваш индикатор показал 70 % и вы добавляете бай по фунту и селл по евро одновременно и какими объёмами ?
Сейчас проверил, действительно дистанцию не учитывает, досадная ошибка, исправил. Итак, если шаг увеличения раздвижки MinDelta=0, то позиции открываются только через минимальный шаг MinDistance пунктах.подскажите, можно как-то добавить возможность открытия доп ордеров только по MinDistance без привязки к MinDelta?
Afar230 сказал(а):lsv107, а у меня вопрос наоборот, как можно добавить возможность открытия дополнительных ордеров только по MinDelta?
Это и так работало и соответственно работает сейчас. Надо лишь MinDistance обнулить, а MinDelta присвоить нужное вам значение.
Главное, чтобы один из этих параметров был больше нуля.
Я посмотрю, конечно, но ничего не обещаю, так как индикатор все-таки под MT4, надо будет переписывать.lsv107 посмотрите на досуге такой индикатор,я постоянно пользуюсь вместо стохастика ибо он более точный.
Здесь ранее выкладывал,но что-то не комментировали. Настройки по-умолчанию,разве что сигнальные отключаю.
Думаю это будет интересно,особенно для корреляции пар, что и на практике использую.
Согласен, сейчас автолот считается весьма условно по залогу для одной сделки и доступным средствам. Если у вас есть конкретное предложение, то, как говорится, формулу - в студию!Не могли бы вы при следующем обновлении в блок манименеджмента вставить расчет лота для первых позиций пропорционально размеру депо, например 0,01 лота на каждые N долларов. Непонятно как рассчитывается процент автолота, ведь у нас нет стопов по факту.
Хотел еще поделиться "лайфхаком" с теми, кто еще мало знаком с MT5. Советник у нас мультивалютный, поэтому при визуальном тестировании трудно оценить расхождение стохастиков в динамике. Есть написанный мной мультивалютный индикатор, показывающий расхожднение на обеих парах, но просто кинуть его на график в режиме визуального тестирования как в MT4 не получится. Поэтому сначала сохраняем шаблон с индикатором как tester.tpl (параметры индикатора на графике должны совпадать с параметрами в советнике). Затем запускаете тестирование, и индикатор появляется на графике. Если потом будете тестировать другие советники, просто замените шаблон или удалите его. Чтобы было понятнее, записал небольшое видео:
https://youtu.be/xA93zWvaYLs