"Игрушка" для тестера и не только!

Тема в разделе "Индикаторы, скрипты и эксперты для МТ4", создана пользователем IgRU4ek, 7 май 2010.

  1. IgRU4ek

    IgRU4ek Новичок

    <b>Это не грааль!!!</b>

    Идея была:
    <ul><li>во-первых, сделать полнофункциональный шаблон-машину по обслуживанию выставленных ордеров по нескольким не зависимым стратегиям;</li><li>во-вторых, несколько стратегий работая параллельно и управляемые одним "мозговым центром" могут компенсировать неправильные входы друг друга.</li></ul>
    <b><i>Это не поиск мифической атрибутики (я про грааль) - это задача создать надёжную, стабильную, гибкую, подстраивающуюся под любые изменения правил (со стороны ДЦ) зарабатывающую систему НАВСЕГДА (пока существует Forex)!</i></b> ^secret^
    Наверно, выразился не совсем понятно... Тогда по-порядку.
    Десяток (но добавить или заменить любую стратегию не проблема) внутри одного советника выставляют свои ордера каждый на своём периоде (TF) (по "своим правилам") со своими Magic-ами. Можно ордера выставлять согласно приоритету: чем больше стратегия заработала, тем больше приоритет.
    Процесс выставления можно контролировать различными фильтрами, как краткосрочной тенденции, так и долгосрочной. Внутри присоединён блок расчёта тенденции (тренда) по шести (количество настраиваемо) разным индикаторам по шести TF.
    Работа по расписанию. Можно контролировать количество выставляемых в рынок ордеров по каждой стратегии. Можно контролировать минимальное расстояние между рыночными ордерами, как одной стратегии, так и всех соседних. Можно установить контроль нового бара. Можно задать размерность (лот) и принцип формирования величины лота следующего выставляемого очередного ордера. Для любителей Мартина есть возможность установить коэффициент. Всё это, как отдельно для каждой стратегии, так и совместно.
    Стопы можно формировать пятью разными вариантами на выбор.
    Это что касается процесса <i>входа</i> в рынок.
    Что касается <i>выхода</i>:
    <ul><li>на выбор несколько вариантов трейлинга;</li><li>БУ;</li><li>на выбор несколько вариантов частичного закрытия (по частям), как по определённым пропорциям, так и по времени;</li><li>динамические стопы;</li><li>трейлинг профита.</li></ul>
    Работу выхода можно пропускать через "трендовые" фильтры.
    Ну, и напоследок, работа выхода может контролироваться без модификации стопов ордеров - виртуально. Если не включены виртуальные стопы, а ДЦ раздвигает стандартный STOPLEVEL, то советник автоматически переходит (настройка отключаемая) на виртуальные стопы.
    "В бою" не боится реквот и организована совместная работа нескольких советников на одном счету.
    Ведёт детализированный лог (отключаемо).
    Выводит сводную индикаторную таблицу (отключаемо).
    Показывает на чарте статистику работы по каждой стратегии (отключаемо).
    Это из реализованного. Вот такой "конструктор" по добыванию профита! :tatice_06:

    <b>НАСТРОЙКИ:</b>

    <!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->extern string&nbsp;&nbsp; _________TX0________ = "========Общие настройки советника=========";
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MAGIC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 555;
    extern string&nbsp;&nbsp; ExpComment&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = "PSI-Processor";
    extern string&nbsp;&nbsp; Lots&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = "0.1;0.1;0.1;0.1;0.1;0.1;0.1;0.1;0.1";
    extern double&nbsp;&nbsp; MaxLots&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 2.0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// Максимальный размер лота
    extern bool&nbsp;&nbsp;&nbsp;&nbsp; ShowCommentInChart&nbsp;&nbsp; = True;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Показывать комментарии на графике.
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ProfitMin&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 50;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Уровень минимальной прибыли на MINLOT
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Popravka&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 15;
    extern string&nbsp;&nbsp; StopLoss&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = "0,0,0,0,0,0,0,0,0";
    extern string&nbsp;&nbsp; TakeProfit&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = "0,0,0,0,0,0,0,0,0";
    extern string&nbsp;&nbsp; VirtualSL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= "0,0,0,0,0,0,0,0,0";&nbsp;&nbsp;&nbsp;&nbsp;// Если StopLoss = 0, а VirtualSL != 0, VariantSTOPS_SL работает для VirtualSL, а если StopLoss != 0, обыкновенный SL выставляется по этому значению
    extern string&nbsp;&nbsp; VirtualTP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= "0,0,0,0,0,0,0,0,0";
    extern string&nbsp;&nbsp; MaxYbutok_MinLot&nbsp;&nbsp;&nbsp;&nbsp; = "0,0,0,0,0,0,0,0,0";&nbsp;&nbsp;&nbsp;&nbsp;// На MINLOT в пп.
    extern string&nbsp;&nbsp; _________TX1________ = "================STRATEGY================"; // Разные стратегии выставления ордеров
    extern string&nbsp;&nbsp; TM_Strategy&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= "0,0,0,30,0,0,0,0,0";
    extern string&nbsp;&nbsp; Use_Strategy&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = "0,0,0,0,0,0,0,0,0";
    extern string&nbsp;&nbsp; DisableStopTrade&nbsp;&nbsp;&nbsp;&nbsp; = "0,0,0,0,0,0,0,0,0";&nbsp;&nbsp;&nbsp;&nbsp;// Возможность остановить выставление ордеров в отдельно взятой стратегии
    extern string&nbsp;&nbsp; Use_CheckNewBars&nbsp;&nbsp;&nbsp;&nbsp; = "0,0,0,0,0,0,0,0,0";&nbsp;&nbsp;&nbsp;&nbsp;// На одном баре выставляется только один ордер
    extern string&nbsp;&nbsp; Use_CheckArea&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= "0,0,0,0,0,0,0,0,0";&nbsp;&nbsp;&nbsp;&nbsp;// Контроль зоны выставления следующего ордера
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Area&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 20;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Расстояние в пп. до следующего ордера
    extern string&nbsp;&nbsp; MaxOrders&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= "10,1,1,1,1,1,1,1,1";&nbsp;&nbsp; // Макс. кол-во ордеров по в одной стратегии
    extern bool&nbsp;&nbsp;&nbsp;&nbsp; Use_Prioritet&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= true;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// Контроль очерёдности выставления следующего ордера
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PeriodPrioritet&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 30;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// Количество дней за которые рассчитывается приоритет
    extern string&nbsp;&nbsp; _____Fortrader______ = "=========Стратегия(1)=========";
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Otstup&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 10;
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CountUPBars&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 3;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// Настройка паттерна, кол-во баров
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CountDWBars&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 3;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// Настройка паттерна, кол-во баров
    extern string&nbsp;&nbsp; _______Farhad_______ = "=========Farhad(2)==========";
    // Price : 0=close, 1=open, 2=high, 3=low, 4=median((h+l/2)), 5=typical((h+l+c)/3), 6=weighted((h+l+c+c)/4)
    // Mode : 0=sma, 1=ema, 2=smma, 3=lwma, 4=LSMA
    extern bool&nbsp;&nbsp;&nbsp;&nbsp; UseMACD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= true;
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MACD_Price&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 1;
    extern bool&nbsp;&nbsp;&nbsp;&nbsp; UseMA_Cross&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= false;
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MA_SlowPeriod&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 21;
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MA_FastPeriod&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 2;
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MA_Shift&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 1;
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MA_Mode&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 2;
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MA_Price&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 5;
    extern bool&nbsp;&nbsp;&nbsp;&nbsp; UseMomentum&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= true;
    extern bool&nbsp;&nbsp;&nbsp;&nbsp; UsePSAR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= true;
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MomentumPeriod&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 14;
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MomentumPrice&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 1;
    extern double&nbsp;&nbsp; MomentumHigh&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 100;
    extern double&nbsp;&nbsp; MomentumLow&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 100;
    extern bool&nbsp;&nbsp;&nbsp;&nbsp; UseStochLevel&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= true;
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Stoch_Mode&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 0;
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;StochPrice&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 0, 1
    extern double&nbsp;&nbsp; StochHigh&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 60;
    extern double&nbsp;&nbsp; StochLow&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 35;
    extern bool&nbsp;&nbsp;&nbsp;&nbsp; UseStochCross&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= false;
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SignalCandle&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 0;
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SignalTimeFrame&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 0;
    extern bool&nbsp;&nbsp;&nbsp;&nbsp; CloseSwingSygnal_F&nbsp;&nbsp; = true;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// Закрывать ордер по обратному сигналу
    extern string&nbsp;&nbsp; ____ProfitGarant____ = "======Стратегия(3)=====";
    extern&nbsp;&nbsp; bool&nbsp;&nbsp; CloseSwingSygnal&nbsp;&nbsp;&nbsp;&nbsp; = true;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Закрывать ордер по обратному сигналу
    extern string&nbsp;&nbsp; _____PatternMTF_____ = "=========Стратегия(4)========";
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cena_PMTF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 1; // Цена: 1 - открытия; 2 - закрытия; 3 - максимум; 4 - минимум; &nbsp;&nbsp;&nbsp;&nbsp;5 - (H+L)/2; 6 - (H+L+C)/3; 0 - (H+L+C+O)/4;
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CountBars&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 7;
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MinCandle&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 15;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Минимальная величина свечи в пп.
    extern double&nbsp;&nbsp; Koef&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 2.0;
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Otkat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 10;
    extern&nbsp;&nbsp; bool&nbsp;&nbsp; ReversSygnal&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = false;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// Открывать ордер по обратному сигналу
    extern&nbsp;&nbsp; bool&nbsp;&nbsp; SendSwingSygnal&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= false;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// Открывать ордер по обратному сигналу
    extern string&nbsp;&nbsp; ______Pipsator______ = "=========Стратегия(5)=========";
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ShiftBars_PiP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 5;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// Сдвиг баров
    extern string&nbsp;&nbsp; ____CandlesStar_____ = "=======Стратегия(6)========";
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Porog_CS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 30;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Подтверждение тенденции свечной комбинации
    extern bool&nbsp;&nbsp;&nbsp;&nbsp; flat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = false;
    extern bool&nbsp;&nbsp;&nbsp;&nbsp; Bear&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = true;
    extern bool&nbsp;&nbsp;&nbsp;&nbsp; Bull&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = true;
    extern bool&nbsp;&nbsp;&nbsp;&nbsp; TMc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= true;
    extern bool&nbsp;&nbsp;&nbsp;&nbsp; TMhl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = false;
    extern string&nbsp;&nbsp; _______Star3________ = "==========Стратегия(7)===========";
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Porog_S3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 10;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Подтверждение тенденции свечной комбинации
    extern string&nbsp;&nbsp; _______3_sve4i______ = "=========Стратегия(8)==========";
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NCandles&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 3;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// Количество просчитываемых свечей
    extern string&nbsp;&nbsp; _____Perceptron_____ = "=======Стратегия(9)=========";
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 120;
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 172;
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 39;
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 172;
    extern double&nbsp;&nbsp; Per_BUY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 20.0;
    extern double&nbsp;&nbsp; Per_Close_BUY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= -5.0;
    extern double&nbsp;&nbsp; Per_SELL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = -20.0;
    extern double&nbsp;&nbsp; Per_Close_SELL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 5.0;
    extern string&nbsp;&nbsp; PerceptronBars&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = "1,3,5,10,15";
    extern string&nbsp;&nbsp; _______Better_______ = "=========Стратегия(10)==========";
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Warp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 67;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// -100 - 100: D=1
    extern double&nbsp;&nbsp; Deviation&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 1.85;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 0 - 2: D=0.01
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Amplitude&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 155;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 0 - 200: D=1
    extern double&nbsp;&nbsp; Distortion&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 0.79;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// -1 - 1: D=0.01
    extern double&nbsp;&nbsp; Dir_BUY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 20.0;
    extern double&nbsp;&nbsp; Dir_Close_BUY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= -5.0;
    extern double&nbsp;&nbsp; Dir_SELL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = -20.0;
    extern double&nbsp;&nbsp; Dir_Close_SELL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 5.0;
    extern string&nbsp;&nbsp; DirectionBars&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= "1,3,5,10";
    extern string&nbsp;&nbsp; _________TX2________ = "***Настройки контроля тренда***";
    extern string&nbsp;&nbsp; ControlTrend_Short&nbsp;&nbsp; = "0,0,0,0,0,0,0,0,1";&nbsp;&nbsp;&nbsp;&nbsp;// 0-без контроля, 1-с контролем VariantCTRL_Short
    extern string&nbsp;&nbsp; ControlTrend_Long&nbsp;&nbsp;&nbsp;&nbsp;= "0,0,0,0,0,0,0,0,0";
    extern string&nbsp;&nbsp; VariantCTRL_Short&nbsp;&nbsp;&nbsp;&nbsp;= "1,1,1,1,1,1,1,1,8";&nbsp;&nbsp;&nbsp;&nbsp;// 0-без контроля, до 8
    // 0: регулируемый контроль отсутствует
    // 1: по 2 MA
    // 2: по 3 MA
    // 3: по тенденции open\close последних ExCountPeriod свечей
    // 4: по показаниям библиотеки индикаторов b-IndTrend Trend Short
    // 5: по показаниям библиотеки индикаторов b-IndTrend ACC_short
    // 6: по показаниям библиотеки индикаторов b-IndTrend Trend Short && ACC_short
    // 7: по свечным уровням
    // 8: по CCI
    extern string&nbsp;&nbsp; ________TX21________ = "Настройки MA для 1/2-го вариантов:";
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MA1TF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 1440;
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MA1Period&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 20;
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MA2TF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 1440;
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MA2Period&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 80;
    extern string&nbsp;&nbsp; ________TX23________ = "Настройки для 3-го варианта:";
    extern string&nbsp;&nbsp; ExCountPeriod&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= "5,5,5,5,5,5,5,5,5";&nbsp;&nbsp;&nbsp;&nbsp;// Для варианта 3. Количество просчитываемых баров
    extern string&nbsp;&nbsp; ________TX27________ = "Настройки для 7-го варианта:";
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HighBar&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 50;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // сколько баров будет просматриваться, для поиска наибольшего значения Хая фильтр
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LowBar&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 50;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // сколько баров будет просматриваться, для поиска наименьшего значения Лоу фильтр
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Zone&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 20;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // зона расстояние в пунктах от хая и лоу фильтр
    extern string&nbsp;&nbsp; ________TX28________ = "Настройки для 8-го варианта:";
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CCIper&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 10;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Period усреднения для вычисления индикатора CCI
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CCIlev&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 50;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //
    extern string&nbsp;&nbsp; ________EXIT________ = "**********ВЫХОД с рынка**********"; // Ступенчатое закрытие ордеров
    extern string&nbsp;&nbsp; VariantExit&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= "0,0,0,0,0,0,0,0,0";
    // 0: регулируемый выход отсутствует
    // 1: ActivePosManagerCloser() - 1/2 закрытия на LevelOne, и окончательное закрытие на LevelTwo
    // 2: ActivePosManagerCloserDP() - ступенчатое закрытие на каждом 1\4 промежутке до TP
    // 3: ActivePosManagerDP2() - ступенчатое закрытие по MA
    // 4: fTimeOpenedProtection() - закрытие ордеров по времени жизни и маленькому профиту для пипсовки
    // 5: PartClose() - ступенчатое закрытие по заданным параметрам
    extern string&nbsp;&nbsp; ______1вариант______ = "Настройки для 1-го варианта:";
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LevelOne&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 30;
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LevelTwo&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 100;
    extern string&nbsp;&nbsp; ______2вариант______ = "Настройки MA для 3-го варианта:";
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;perema1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 7;
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;perema2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 21;
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;persma3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 98;
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;perema4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 365;
    extern string&nbsp;&nbsp; ______4вариант______ = "Настройки для 4-го варианта:";
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LimitTime_1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 60;
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LimitTime_2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 140;
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LimitTime_3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 170;
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LimitTime_4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 200;
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LimitTime_5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 240;
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pips_1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 50;
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pips_2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 40;
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pips_3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 30;
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pips_4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 20;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// Размер убытка до LimitTime_5
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pips_5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 40;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// Размер убытка после LimitTime_5
    extern string&nbsp;&nbsp; ______5вариант______ = "Настройки для 5-го варианта:";
    extern string&nbsp;&nbsp; LevelClose&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = "10/20/5";&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Уровни закрытия. Например, при параметрах 10/20/5 первое закрытие выполняется при достижении ордером прибыли в 10 пунктов, затем еще через 20 пунктов и еще через 5 пунктов.
    extern string&nbsp;&nbsp; PercentClose&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = "50/25/25";&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// Процент закрытия (через разделитель "/") для соответствующего уровня. Здесь отсчет идет от лота первого ордера. Если исходный ордер открыт с лотом 1.0 лот, закрывается 50% - 0.5, затем 25% от 1.0 - 0.3 и наконец 0.2
    extern string&nbsp;&nbsp; ________JUMP________ = "Настройки для JUMP:";&nbsp;&nbsp; // Резкое движение цены в противоположную сторону
    extern string&nbsp;&nbsp; Use_JumpExit&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = "0,0,0,0,0,0,0,0,0";
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Jump&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 20;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// Резкое изменение цены в пп.\мин.
    extern string&nbsp;&nbsp; _________TX3________ = "******Управление профитом******";
    extern string&nbsp;&nbsp; BULevel&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= "0,0,0,0,0,0,0,0,0";&nbsp;&nbsp;&nbsp;&nbsp; // Уровень срабатывания БУ (с перемещением SL)
    extern string&nbsp;&nbsp; BUSize&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = "0,0,0,0,0,0,0,0,0";&nbsp;&nbsp;&nbsp;&nbsp; // Величина перемещения SL
    extern string&nbsp;&nbsp; VBU_Start&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= "0,0,0,0,0,0,0,0,0";&nbsp;&nbsp;&nbsp;&nbsp; // Виртуальный БезУбыток
    extern string&nbsp;&nbsp; VBU_Value&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= "5,5,5,5,5,5,5,5,5";
    extern string&nbsp;&nbsp; _______TRAILING_____ = "***********TRAILING************"; // Чтобы работал Trailing до OrderProfit() < 0 - SL и TP обязательно != 0
    extern string&nbsp;&nbsp; MethodTraillingStop&nbsp;&nbsp;= "0,0,0,0,0,0,0,0,0";&nbsp;&nbsp;&nbsp;&nbsp; // Метод трейлинга 0-4
    // 0: Трейлинг не используется
    // 1: Простой (Simple) трейлинг
    // 2: SarTrailingStop по Parabolic
    // 3: ATRTrailingStop по ATR
    // 4: DinamicTrailing от ширины экстремумов на TF
    // 5: по Price Channel (индикатор)
    extern bool&nbsp;&nbsp;&nbsp;&nbsp; TSOnlySL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = True;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// Тралить только SL
    extern bool&nbsp;&nbsp;&nbsp;&nbsp; AllowLossSL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= True;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// Тралить SL на LOSS-участке
    extern bool&nbsp;&nbsp;&nbsp;&nbsp; AllowLossTP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= False;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Тралить TP на LOSS-участке
    extern string&nbsp;&nbsp; _______SIMPLE_______ = "Настройки Simple Trailing";
    extern string&nbsp;&nbsp; TrailingStop&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = "0,0,0,0,0,0,0,0,0";
    extern string&nbsp;&nbsp; TrailingShag&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = "5,5,5,5,5,5,5,5,5";
    extern string&nbsp;&nbsp; UseVirtualTrailing&nbsp;&nbsp; = "0,0,0,0,0,0,0,0,0";&nbsp;&nbsp;&nbsp;&nbsp; // Trailing будет работать без модификации стопов у ордеров
    extern string&nbsp;&nbsp; ______KillLoss______ = "Настройки KillLoss";
    extern string&nbsp;&nbsp; Use_KillLoss&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = "0,0,0,0,0,0,0,0,0";&nbsp;&nbsp;&nbsp;&nbsp; // Использование антилоссового трала
    extern string&nbsp;&nbsp; SpeedCoeff&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = "0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5";
    extern string&nbsp;&nbsp; ________SAR_________ = "Настройки SAR";
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SAR_TF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Таймфрейм: 0-текущий на графике; 1-TF стратегии
    extern double&nbsp;&nbsp; SARstep&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 0.005;
    extern double&nbsp;&nbsp; SARmax&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 0.02;
    extern string&nbsp;&nbsp; ________ATR_________ = "Настройки ATR";
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ATR_TF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Таймфрейм: 0-текущий на графике; 1-TF стратегии
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ATR_Period&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 9;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Период усреднения
    extern double&nbsp;&nbsp; Fast_ATR_Trailing&nbsp;&nbsp;&nbsp;&nbsp;= 1.0;
    extern double&nbsp;&nbsp; ATR_Trailing&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 2.0;
    extern string&nbsp;&nbsp; _______Pr_Ch________ = "Настройки Price Channel";
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PrCh_ChannelPeriod&nbsp;&nbsp; = 240;
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PrCh_Shift&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 0;
    extern string&nbsp;&nbsp; ___TrailingProfit___ = "Настройки TrailingProfit";
    extern string&nbsp;&nbsp; Use_TrailingProfit&nbsp;&nbsp; = "0,0,0,0,0,0,0,0,0";
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TP_Start&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 150;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Размер профита при котором начинает работать TrailingProfit
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TP_Value&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 100;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Размер откатного движения при котором закроются все ордера
    extern string&nbsp;&nbsp; _________TX4________ = "******Управление СТОПАМИ*******";
    extern string&nbsp;&nbsp; VariantSTOPS_SL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= "0,0,0,0,0,0,0,0,0";
    extern string&nbsp;&nbsp; VariantSTOPS_TP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= "0,0,0,0,0,0,0,0,0";
    extern bool&nbsp;&nbsp;&nbsp;&nbsp; ControlMINStops&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= False;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Если ДЦ раздвигает (увеличивает) стопы, советник переходит на виртуальные стопы
    // 0: согласно заданному значению в пипсах, или по минимально разрешённому STOPLEVEL
    // 1: по max\min предыдущего или текущего дня плюс поправка, или по минимально разрешённому STOPLEVEL
    // 2: по max\min предыдущего часа плюс поправка, или по минимально разрешённому STOPLEVEL
    // 3: вычисляется динамически по max\min последних StopLossBars\TakeProfitBars баров плюс поправка, или по минимально разрешённому STOPLEVEL
    // 4: вычисляется динамически по среднему размеру последних StopLossBars\TakeProfitBars баров плюс поправка
    // для 3-4 вариантов StopLossBars\TakeProfitBars != 0 !!!
    // 5: вычисляется динамически по индикатору Waddah_Attar_Hidden_Level
    // 6: вычисляется динамически по индикатору AvalsLevels
    extern string&nbsp;&nbsp; StopLossBars&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = "0,0,0,0,0,0,0,0,0";
    extern string&nbsp;&nbsp; TakeProfitBars&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = "0,0,0,0,0,0,0,0,0";
    extern string&nbsp;&nbsp; UseDinamicVirtualSL&nbsp;&nbsp;= "0,0,0,0,0,0,0,0,0";&nbsp;&nbsp;&nbsp;&nbsp; // Чтобы работал DinamicVirtualSL, нужно чтобы VirtualSL > 0
    extern string&nbsp;&nbsp; UseDinamicVirtualTP&nbsp;&nbsp;= "0,0,0,0,0,0,0,0,0";
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DinVirtSTOPS_Period&nbsp;&nbsp;= 0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Period обновления стопов: 0-текущий на графике; 1-TF стратегии
    extern string&nbsp;&nbsp; SpecialConditions&nbsp;&nbsp;&nbsp;&nbsp;= "0,0,0,0,0,0,0,0,0";&nbsp;&nbsp;&nbsp;&nbsp; // Специальные условия для срабатывания виртуальных стопов и MaxUbutok
    // 0: без условий
    // 1: слежение за состоянием Trend_Long
    // 2: слежение за состоянием Trend_Short
    // 3: слежение за состоянием Trend_Long и свечного индикатора
    extern string&nbsp;&nbsp; SpecCondFOR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= "0,0,0,0,0,0,0,0,0";&nbsp;&nbsp;&nbsp;&nbsp; // Специальные условия срабатывания для:
    // 0: для виртуальных стопов, MaxUbutok и PartitionExit (ступенчатое закрытие ордеров)
    // 1: для MaxUbutok и PartitionExit (ступенчатое закрытие ордеров)
    // 2: для виртуальных стопов и MaxUbutok
    // 3: PartitionExit (ступенчатое закрытие ордеров)
    extern string&nbsp;&nbsp; ____SetupVirtLine___ = "*******Setup Virtual Line********";
    extern bool&nbsp;&nbsp;&nbsp;&nbsp; CreatVirtualObject&nbsp;&nbsp; = False;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Показывать на графике линии виртуальных стопов
    extern bool&nbsp;&nbsp;&nbsp;&nbsp; ShowTextForObject&nbsp;&nbsp;&nbsp;&nbsp;= False;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Показывать на графике подписи для линий виртуальных стопов
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;VertSdvigText&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 5;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Вертикальный сдвиг текста
    extern color&nbsp;&nbsp;&nbsp;&nbsp;ColorLineBU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= Gold;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// Цвет линий БУ
    extern color&nbsp;&nbsp;&nbsp;&nbsp;ColorLineSL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= Magenta;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Цвет линий SL
    extern color&nbsp;&nbsp;&nbsp;&nbsp;ColorLineTP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= RoyalBlue;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Цвет линий TP
    extern color&nbsp;&nbsp;&nbsp;&nbsp;ColorLineMaxUbutok&nbsp;&nbsp; = Chartreuse;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// Цвет линий MaxUbutok
    extern string&nbsp;&nbsp; ________TX5_________ = "********Money Management*********";
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;StopMarginPercent&nbsp;&nbsp;&nbsp;&nbsp;= 50;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// Процент свободной маржи от Баланса при котором новые ордера не выставляются
    extern int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RiskDepoPercent&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 50;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// При каком лоссе от Depo закрываются все ордера
    extern string&nbsp;&nbsp; VariantFormationLot&nbsp;&nbsp;= "0,0,0,0,0,0,0,0,0";&nbsp;&nbsp;&nbsp;&nbsp; // Вариант формирования размера лота
    // 0: с приростом прибыли по стратегии на PipsDeltaDepo увеличивается лот на MINLOT
    // 1: Martingale
    // 2: с приращением к каждому последующему открываемому ордеру MINLOT
    // default: MINLOT
    extern string&nbsp;&nbsp; ________0вар________ = "Настройки для 0-го варианта:";
    extern double&nbsp;&nbsp; PipsDeltaDepo&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 1000.0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// Прирост прибыли по стратегии для увеличения лота на MINLOT
    extern string&nbsp;&nbsp; ________1вар________ = "Настройки для 1-го варианта:";
    extern double&nbsp;&nbsp; KoefM&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 1.67;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// Коэффициент Martin'a
    extern string&nbsp;&nbsp; OnlyWay&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= "0,0,0,0,0,0,0,0,0";&nbsp;&nbsp;&nbsp;&nbsp; // 0-выставлять ордера в обоих направлениях; 1-только доливка к первоначальному ордеру<!--c2--></div><!--ec2-->

    Предлагаю эту игрушку для "любителей" поэкспериментировать в тестере (<b>за "удачную" оптимизацию отблагодарю рабочей версией</b>). Хочу оговориться, что стандартным методом через тестер терминала советник не оптимизируется (только тестовый проход), так как внешние переменные (большинство) имеют тип string.
    Выслушаю интересные идеи и конструктивную критику.
    Желающим посплетничать и поспорить ничего не доказываю и разговор не поддерживаю - нет времени на это.
    Свой интерес Вы можете проявить через личку и, подтверив совсем не значительной суммой в 6$, получите на мыло Демо-версию этой игрушки!

    P.S. Работа с пятью знаками предусматривалась, но не тестировалась!!!
     

    Вложения:

    • __________3.jpg
      __________3.jpg
      Размер файла:
      125,3 КБ
      Просмотров:
      50
  2. IgRU4ek

    IgRU4ek Новичок

    Взял гуляющий по Интернету Perceptron, немножко его подправил: ввёл уровни выставления и удаления ордеров, максимальное количество ордеров поставил 2, лот увеличивающийся по Мартину, ограничил убыток 10% от депозита, расстояние м\у ордерами поставил 15 пп. Немножко поковырял фильтра (по наитию). Включил TrailingProfit с маленьким диапозоном (40\25) и запустил с начала года на USDJPY. Результат в прикреплённом файле. ^secret^
    Теперь в советнике 11 стратегий: пара нейросетевых, пара "пипсовок", несколько по свечным комбинациям, одна по системе Элдера, остальные по оригинальным (из Инета) правилам.
    P.S. Чтобы десять раз не повторяться: Запускать гулять в свободное плавание по Интернету результаты полугодового труда у меня нет желания. Продавать тоже не планирую - "такая корова" нужна самому. Пока занимаюсь реализацией "идей напоследок" не откажусь от сторонней помощи по оптимизации. Потом оптимизацией займусь потихонечку сам и в помощи со стороны надобность отпадёт... ^edkk^
     

    Вложения:

    • USDJPY_NEURO.gif
      USDJPY_NEURO.gif
      Размер файла:
      7,2 КБ
      Просмотров:
      41
    • tester.rar
      Размер файла:
      17,5 КБ
      Просмотров:
      57

Поделиться этой страницей