Советник: MultiMartingeil

parfentev

Активный участник
ПРИВЕТ НАРОД ВОТ НАШОЛ НА СТАРОННЕМ РЕСУРСЕ ПРОБУЙТЕ,
ДЕЛИТЕСЬ.

1. Установка

В архиве 3 файла. Файл с расширением mqh нужно положить в папку Include. Файл с расширением mq4 в папку Libraries. Этот файл содержит единственную функцию для определения сигналов на покупку и продажу. Именно его я и выкладываю в открытом виде, чтобы можно было совместными усилиями подобрать наиболее точные индюки, метотоды для определения точек входа...Содержимое этой функции можно изменять, но название ее и то что она возвращает два строковых параметра ("BUY", "SELL") менять нельзя...Алгоритм поиска ("BUY", "SELL") - можно. Сйечас там обычная МАшка используется.
3-ий файл - собственно сам компилированный советник. Не выкладываю mq4 из принципа, дабы контролировать развитие проекта самолично...

2. Описание переменных и принципа работы

CloseAllOrdersNow = false; Если поставить ТРУ, то сразу закроет все открытые советником ордера...
AllowTrading = true; Если поставить ФАЛСЕ, то торговать не будет.
UseOneDirection = true; Если стоит ТРУ, то советник единовременно будет работать (открывать усредняющие ордера по мартина) только с одной серией ордеров (БАЙ или СЕЛЛ). То есть, если открыта серия БАЙ, то открывать ордера СЕЛЛ не будет, пока есть хоть один ордер БАЙ...Если поставить ФАЛСЕ, то будет работать одновременно с серией БАЙ и серией СЕЛЛ (обрабатывать и то и другое, но независимо друг от друга). Уточнение: первые ордера серии открываются по сигналу естественно...
ReverseSignal = false; Если поставить ТРУ, то будет открывать все наоборот (то есть если есть сигнал на покупку, то окрывает продажу).
UseSignalForOthers = true; Сигналы индюков всегда используется для открытия первого ордера серии. Последующие усредняющие ордера открываются по условию ПипСтеп (разница в пунктах от последнего открытого ордера серии) и временному отклонению (см. далее), но также можно включить, чтобы и последующие ордера кроме условия ПипСтеп и и временного отклонения использовали Сигналы индюков (флаг в положение ТРУ).
==========БЛОК ПИПСТЕП=================
PipStep = 50; Начальная разница в пунктах от последнего открытого ордера серии, при достижении которой открывается новый усредняющий ордер серии.
StepX = 2; ШАГ - Количество открытых ордеров серии, при достижении которого меняется множитель ПипСтепа (разницы в пп).
PipStepExponentBeforeStepX = 1; Множитель ПипСтепа до шага X.
PipStepExponentAfterStepX = 2; Множитель ПипСтепа после шага Х.
Суть этого такова: Допустим у нас настройки PipStep = 50;StepX = 2; PipStepExponentBeforeStepX = 1.5; PipStepExponentAfterStepX = 2; Получаем следующий алгоритм: первый ордер открывается по сигналам. Когда цена пройдет 50 пп в убыточном направлении, открывается 2, усредняющий ордер (шаг = 2). Теперь уже ПипСтеп = 50 * 1.5 = 75 пп. 3-ий ордер откроестя спустя 75 пп от второго оредера (шаг на 3). 4-ый ордер откроется уже спустя 75*2 = 150 пп от 3-его и тд...
=============БЛОК ЛОТОВ ОРДЕРОВ============
LotSize = 0.01; Лот первого ордера серии
StepY = 3; ШАГ - Количество открытых ордеров серии, при достижении которого меняется множитель Лота
LotExponentBeforeStepY = 1; Множитель Лота до шага У.
LotExponentAfterStepY= 2; Множитель Лота до после шага У.
То есть для такого расклада имеем 1 ордер=0.01, 2-0.01*1=0.01, 3-0.01*1*2=0.02 и тд.
======================================
TP1 = 200; Уровень ТайкПрофита для первого ордера серии.
TP2 = 50; Уровень ТайкПрофита для последующмх ордеров серии (то есть этот уровень = Безубыток для всей серии +- TP2).
Slippage = 10; Проскальзование цены при работе с ордерами.
BasicComment = "MultiMartin"; - Комментарий для ордеров.
MaxTrades = 15; Максимальное допустимое количество ордеров в серии (считается отдельно для БАЙ и СЕЛЛ).
RefreshTP = false; Если поставить ТРУ, то будет пересчитывать уровень безубытка и переставлять ТП для всех ордеров серии на каждом баре. Это нужно например когда один или несколько ордеров закрылись руками. Не рекомендуется чтобы этот флаг был постаянно включен, так как будет большая нагрузка на сервер.
=========БЛОК ВРЕМЕННЫХ ИНТЕРВАЛОВ=========
OpenNewTF = 1; Начальная периодичность в минутах открытия ордеров.
DawnSwitch = -100; Размер убытка в валюте депозита (в деньгах), при достижении которого переодичность открытия ордеров меняется на OpenNextTF.
OpenNextTF = 15; Вторая периодичность открытия ордеров (начинает работать после того как ушли в просадку более DawnSwitch денег).
Суть в следующем, чтобы открылся новый ордер серии (2,3,4...) должно быть выполнено условие по ПипСтепу, ПоПериодичности с учетом просадки и по Сигналам (если включен флаг UseSignalForOthers = true;).
=========================
Povtor = 2; Сколько раз повторять запрос на открытие ордера в случае ошибки
=====Настройки закрытия ордеров=====
AutoTP = false; Если стоит ТРУ, то после шага Z (StepZ ) серия сразу будет закрыта в о-ую прибыль (при первой возможности).
StepZ = 10;
=====БЛОК ЗАКРЫТИЯ ПО ПРОФИТУ========
UseCommonClose = true; Включить закрытие ордеров по профиту.
StepCommonClose = 3; Количество ордеров серии, при котором начитнает работать закрытие по профиту (CommonProfitBuy, CommonProfitSell) отдельно для серии СЕЛЛ и БАЙ.
CommonProfitBuy = 5; Сумма профита по серии БАЙ в валюте депозита, при достижении которой все ордера серии БАЙ закроются (если серия состоит более чем из StepCommonClose ордеров)
CommonProfitSell = 5; Сумма профита по серии СЕЛЛв валюте депозита, при достижении которой все ордера серии СЕЛЛ закроются (если серия состоит более чем из StepCommonClose ордеров)
CommonProfit = 15; Сумма профита по ВСЕМ ОРДЕРАМ ЕКСПЕРТА в валюте депозита, при достижении которой ВСЕ ордера закроются НЕЗАВИСИМО ОТ StepCommonClose. Этот параметр также выведен на график как Label (красная), и его можно динамически менять руками в свойстах Label, не заходя в свойства советника. Полезно для русного отлова профита...
=============================
FixLot=true; фиксированный или нет лот.
LotStep = 5000; шаг увеличения лота. т.е. сколько в депозите LotStep востолько увеличится LotSize. если депо 2000 то лот 0.01, если станет 4000 то лот 0.02
=========БЛОК ЧАСОВ ТОРГОВЛИ=========
BeginServerTime = 21; Час Начала торговли
EndServerTime = 21; Час Конец тоговли (выставления ПЕРВЫХ ордеров серий)
StartTradeOnMondayAt = 7; Час Начало торговли в понедельник
StopTradeOnFridayAt = 19; Час Конец тоговли (выставления ПЕРВЫХ ордеров серий) в пятницу
CloseALLafterEnd = true; При ТРУ, в нерабочее время будет закрывать все серии, как только они уйдут в +. При фалсе, ничего не будет делать в нерабочее время...
=================================
InformationOnChart = true; Вывод информации о ходе торговли на график.
MagicNumber = 123456789;
LotDecimal = 2; Разрядность ЛОТов

И кстати, на графике рисуется красная линия уровня безубытка для серий...

Для улучшения работы советника достаточно будет улучшить функцию получения сигналов, которая лежит в файле SignalLibrary.mq4 в открытом доступе...Нужен хороший и точный индюк или стратегия определения точек входа...

Тестируйте, оптимизируйте, делитесть мнением...И НЕ ЗАБЫВАЕМ ВЫКЛАДЫВАТЬ ОПТИМИЗИРОВАННЫЕ СЕТ ФАЙЛЫ И УЛУЧШЕННЫЕ SignalLibrary.mq4

ТЕСТ ЗА МАЙ
Всем профитов........
 

Вложения

  • MultiMartingail.rar
    41,1 КБ · Просмотры: 521
  • TesterGraph222.gif
    TesterGraph222.gif
    7 КБ · Просмотры: 323

Андрей90

Заблокирован
_http://www.ealab.ru/ea.php?id=106 :)
 
Последнее редактирование модератором:

gpwr

Интересующийся
Просиживатель! Торги по многим валютам позволяют сгладить прогибы на просиживаемой валюте. По одной EURUSD получается такой слив
 

Вложения

  • TesterGraph.gif
    TesterGraph.gif
    12,4 КБ · Просмотры: 102

tvoyprofit

Заблокирован
Просиживатель! Торги по многим валютам позволяют сгладить прогибы на просиживаемой валюте. По одной EURUSD получается такой слив

Ув. если Вы читали MultiMartingeil-чекто описан!!!!


А Ваши каритнки-это бред из тестера который можно выкинуть в топку!!!:)
 

gpwr

Интересующийся
Ув. если Вы читали MultiMartingeil-чекто описан!!!!


А Ваши каритнки-это бред из тестера который можно выкинуть в топку!!!

Где описан? Я просто взял советник из первого поста и прогнал его с 2010.01.01 по EURUSD М15 с параметрами по умолчанию. А Вы что-то другого ожидали от советника с нулевым стоплоссом? Попросите лепрконовскую лабу остановить их тестирование мултимартигейла и Вы увидите истинную картину. Конечно торговля по многим валютам уменьшит риск, но просиживание убыточной сделки до бесконечности не для меня.
 

tvoyprofit

Заблокирован
Где описан? Я просто взял советник из первого поста и прогнал его с 2010.01.01 по EURUSD М15 с параметрами по умолчанию. А Вы что-то другого ожидали от советника с нулевым стоплоссом? Попросите лепрконовскую лабу остановить их тестирование мултимартигейла и Вы увидите истинную картину. Конечно торговля по многим валютам уменьшит риск, но просиживание убыточной сделки до бесконечности не для меня.

Ну если Вы доаеряете тестеру, все с Вами ясно..........:rolf:

Или Вы думаете поставил сов. у пусть Вам рубит дабло....:)
 

com.bvv

Местный знаток
Ну если Вы доаеряете тестеру, все с Вами ясно..........:rolf:

Или Вы думаете поставил сов. у пусть Вам рубит дабло....:)

Господа!
Всем известно, что мартышки очень быстро поднимают депо - это основная психология человека, который думает, что так будет продолжаться бесконечно и всегда итог один - СЛИВ!
Не тратьте свое время - математика классная штука, но мартышка в чистом виде даже с локами не работает долго....
 

Андрей90

Заблокирован
Ув. если Вы читали MultiMartingeil-чекто описан!!!!


А Ваши каритнки-это бред из тестера который можно выкинуть в топку!!!:)

Ну если Вы доаеряете тестеру, все с Вами ясно..........:rolf:

Или Вы думаете поставил сов. у пусть Вам рубит дабло....:)
Если бы вы хоть иногда заглядывали в ealab, то до вас даперло бы что он пересиживатель, действительно щас нету у него открытых минусовых позиций по которым можно было бы судить об этом, зато до недавнего спада евро у него было открыто сделок на -3500 и держалось это очень долго - вы его тестили сами на реале или демо прежде чем учить народ? - ваша словесная крутизна тут не уместна...
 

Логин

Интересующийся
LotSize = 0.01; Лот первого ордера серии
StepY = 3; ШАГ - Количество открытых ордеров серии, при достижении которого меняется множитель Лота
LotExponentBeforeStepY = 1; Множитель Лота до шага У.
LotExponentAfterStepY= 2; Множитель Лота до после шага У.
То есть для такого расклада имеем 1 ордер=0.01, 2-0.01*1=0.01, 3-0.01*1*2=0.02 и тд.

вроде нормуль, вот только не могу сделать так что б ордер (очередной) увеличивался...
 
Верх