Snaike
Местный житель
Полуавтоматическая - Автоматическая торговая система EA_Cleopatra
По многочисленным запросам, продублирую своего советника на данном форуме для обсуждения, дальнейшего развития и т.д.
Если коротко что умеет советник.
1. Работа Мартингейлом
---Работа Мартингейла с использованием виртуальных стоп ордеров
---Работа Мартингейлом с изменением параметров после N-го колена
---Работа Мартингейлом с переводом в БУ и его тралом, если меджики стоят 0
---Работа Мартингейла с подключением Пирамиды по его просадке, а также открытием ее первого ордера % от общей лотности мартина.
---Работа Мартингейла с подключением Пирамиды по его просадке, с использованием БУ и его трала для обоих направлений, - меджик 0
---Работа Мартингейла с подключением Пирамиды по его просадке, с использованием БУ и его трала для пирамидного направления, - меджики разные.
---Работа Мартингейла с подключением Пирамиды по его просадке, с использованием виртуальных стоп ордеров
---Промежуточные алгоритмы, при которых одно из направлений отключается после определенного открытого им ордера
---Промежуточные алгоритмы, при которых одно из направлений закрывается после определенного открытого им ордера
2. Работа Пирамидой
---Работа пирамидой с использованием виртуальных стоп ордеров
---Работа Пирамидой с переводом ее ордеров в БУ и их таралом
---Работа Пирамидой с изменением параметров после N-го колена.
3. Работа одновременно Мартином и пирамидой с использованием всех фишек описанных выше
И т.д. и т.п.
Параметры
Код:
extern string T0 = "Общий ТП СЛ";
extern double DefaultProfit = 10; // Тейк профит Расчитывается в пунктах от линии без убытка.
// Сколько нужно пройти пунктов от линии без убытка для закрытия ордеров
extern double StopLoss = 0; // При достижении какого убытка в валюте депозита закрыть все ордера.
// Если 0 то отключено.
//---------------------------------------
extern string T1 = "Установки Трейлинга";
extern bool Trall_on = true; // Вкл.Выкл. Виртуального трейлинг стопа
extern double Tral_Start = 5; // Расстояние начала трала от линии Profit в пунктах (классический ТП в пунктах).
extern double Tral_Size = 5; // Величина трала после Tral_Start в пунктах.
// Получается, прошел трал в пунктах, на 5 пунктов линия ТП
// пододвинулась также на пять пунктов к текужей цене,
// откатилась цена к линии ТП, закрыли все ордера.
//---------------------------------------
extern string T2 = "Установки MM";
extern double Risk = 0.1; // Первая сделка размером в % от свободных средств,
// если Risk=0 то первая сделка открывается размером DefaultLot
extern double DefaultLot = 0.1; // Фиксированный лот, если настройка Risk = 0
extern double MaxLot = 10; // Максимально возможный лот для торговли
extern bool FixLot = false;// Если TRUE, то фиксированный лот, если FALSE – динамический динамический лот работает только
// если парметр CCI_On = True, PiramidOn = false, и только для направления мартингейл
//---------------------------------------
extern string T2_1 = "Выбор метода торговли";
extern int Metod = 1; // 1 - Вход в рынок замком лотом согласно установок ММ.
// А дальше работаем в зависимости от настроек MartinOn PiramidOn. Какая из них включена.
// 2 – Вход в рынок замком лотом согласно установок ММ.
// Далее работаем отложенными ордерами. Тоже самое что и первый вариант
// только по проходу пипстип ордера не открывает как в первом варианте,
// а выставляет отложенные ордера на растоянии указанном в настройке
// Dist от текущей цены.
bool NewCycle_ON = true; // При запрете - цикл дорабатывается до конца, новый цикл не начинается
//---------------------------------------
extern string T3 = "Параметры отложенных ордеров";
extern double Dist = 3; // расстояние, на котором выставляются отложенные ордера
// согласно пройденного Pipstep. и в пределах которого
// они держатся от цены. Получается если мы работаем по методу
// торговли №2 по проходу растояния пипстип указанного в настройках
// MartinStep и PiramidStep (в зависимости что включено Мартин Пирамида или они обе)
// выставляется отложенный ордер на расстоянии 3 пункта от текущей цены.
extern double Step = 3; // шаг прохода цены - для протяжки ордера за ценой. Это что-то типа трала отложки за ценой
//---------------------------------------
extern string T4 = "Настройки Мартина";
extern bool MartinOn = true; // Вкл. выкл. работы по методу Мартингейла
extern double MartinStep = 20; // Шаг в пунктах для открытия следующего ордера по мартингейлу
extern double MartinLotExponent = 1.2;// Множитель лота для Мартина. Умножение последующих ордеров идущих против рынка
extern int Close_M_orders = 20; // Количесто ордеров серии при которой вся серия данного направления закрывается
//---------------------------------------
extern string T4_1 = "Изменение установок после N-го колена Мартина";
extern bool MartinOnNew = true;// Использовать ли включение работы направления Мартина после N-го колена.
extern int LotNoM = 20; // После достижения этого колена направление Мартина прекращает свою
// работу если MartinOnNew =true
extern double PiramidStart = 2; // При достижении какой просадки в % процентах, включить направление пирамиды.
// Если торгуем одним направлением. Если 0 то отключено
extern int LotN_M = 3; // с какого колена нужно изменить настройки Мартина
extern double MartinLotExponenNew=1.5;// Коэффициент увеличения лота
extern double MartinStepNew = 20; // Шаг открытия колен в пунктах
extern double MartinK_Step = 1.2; // коэффициент расширения шага между открытием последующих ордеров. 0 отключено
//---------------------------------------
extern string T5 = "Настройки Пирамиды";
extern bool PiramidOn = false; // Вкл.выкл. по методу Пирамиды.
extern double PiramidStep = 20; // Шаг в пунктах для открытия следующего ордера пирамиды.
extern double PiramidLotExponent = 1.2;// Множитель лота для пирамиды. То же самое что у мартина только
// умножение ордеров происходит по ходу рынка
extern int Close_P_orders= 20; // Количесто ордеров серии при которой вся серия данного направления закрывается.
extern int PiramidStopLoss = 0; // Размер фиксированного стопа для каждого пирамидного ордера.
// если 0 то то стоп лос не выставляется.
extern int Piramid_TP = 20; // Тейк профит пирамидных ордеров, если ноль то тейк профит не используется.
//---------------------------------------
extern string T5_1 = "Безубыток для Пирамиды";
extern bool WL = true; // Включение, отключение безубытка ордеров.
extern int BU_Start = 2; // С какова ордера ничинать выставлять без убыток
extern int WLstart = 30; // Откуда переводим (пункты профита)
extern int WLlevel = 1; // Куда переводим (пункты профита)
//---------------------------------------
extern string T5_2 = "Trailing Безубытка";
extern bool Trailing = true; // Вкл. трал без убытка.
extern int Trailing_Start= 2; // С какова ордера ничинать тралить стоп лос без убытка.
extern int TrailingStop = 30; // Размер трала в пунктах
extern int TrailingStep = 30; // Шаг трала в пунктах
//---------------------------------------
extern string T5_3 = "Изменение установок после N-го колена Пирамиды";
extern bool PiramidOnNew = true;// Использовать ли включение работы направления пирамиды после N-го колена
extern int LotNoP = 20; // После достижения этого колена направление пирамиды
// прекращает свою работу если PiramidOnNew =true
extern int LotN_P = 3; // с какого колена нужно изменить настройки
extern double PiramidLotExponenNew = 1.5;// Коэффициент увеличения лота
extern double PiramidStepNew= 20; // Шаг открытия колен в пунктах
extern double Persen_open = 30; // Каким процентом от основной серии мартина открыть следующий ордер пирамиды при включении
// данного направления согласно переменной PiramidStart = 5
//---------------------------------------
string T6 = "Закрытие Встречным";
bool CloseBy = false;// Если TRUE, то Закрытие Встречным ордером, если FALSE – закрытие обычно;
//---------------------------------------
extern string T7 = "Настройки индикации";
extern bool Info = true; // Вкл индикации, звукового сопровождения открытия колен и подробного протоколирования
extern int PositionX = 10; // Положение индикативного блока по оси Х от правой стороны графика
extern int PositionY = 15; // Положение индикативного блока по оси Y от верхней стороны графика
extern int FontSize = 9; // Размер шрифта в индикативном блоке
extern color BULineColor = Yellow; // Цвет линии безубытка
extern color TPLineColor = Gray; // Цвет линии ТП
extern color TralLineColor = DarkOrange;// Цвет линии Трала
extern color BuyStopColor = DeepSkyBlue;// Цвет отложки на покупку
extern color SellStopColor = Red; // Цвет отложки на продажу
//---------------------------------------
extern string T8 = "Общие настройки";
extern int MagicMartin = 777; // Уникальный номер мартина
extern int MagicPiramid = 888; // Уникальный номер Пирамиды
extern int PauseTrade = 6; // Время ожидания между торговыми командами в сек
extern int PauseTrade2 = 1; // Время ожидания после выхода с рынка, до нового входа в рынок в минутах.
extern int PauseTradezamok= 0; // Время ожидание в минутах, между открытием ордеров замка.
extern int Slippege = 2; // Допустимое проскальзывание цены в пунктах при открытии ордера
//---------------------------------------
extern string T9 = "Установки CCI";
extern bool CCI_On = true;// Если - true а параметр PiramidOn = false то после входа в рынок следующие колени мартина
// выставляются по сигналу CCI, если false то после прохода MartinStep
extern int CCI_TimeFrame = 2; // ТФ CCI(0-текущий ТФ графика, 1=М1,2=М5,3=М15, 4=М30,5=Н1, 6=Н4,7=D1,8=W1,9=MN1)
extern double Level = 100; // Уровень CCI
extern int Period_CCI = 14; // Период CCI
//---------------------------------------
extern string T10 = "Время работы советника";
extern string StartHour = "00:00"; // Время начало торговли
extern string EndHour = "23:59"; // Время окончания торговли
//---------------------------------------
extern string T11 = "Фильтр Времени";
extern bool UseFilterTime=FALSE; // Использовать запрет торговли в пятницу после и в понедельник до указанных времен
extern bool UseFilterDate=FALSE; // Использовать запрет торговли в конце и начале месяца
extern int StartHourMonday=7; // Время начала торговли в понедельник
extern int EndHourFriday=19; // Время конца торговли в пятницу
extern int StartMonth=1; // Начать торги после N дней начала месяца
extern int EndMonth=1; // Закончить торговлю за N дней до конца месяца включительно
- В мануале подробно описаны три способа работы советника.
- Просьба прежде чем задать вопрос, проверить работу на визуале и самому попытаться разобраться в работе которая не понятна.
- В личку просьба так же не писать, для вопросов и каких либо предложений есть ветка.
По мере возможности буду участвовать в обсуждениях.
Советник трансформер двух алгоритмов в котором каждый сможет найти свой алгоритм торговли.