Прошу подсказать как оптимизировать данные в советнике. Остальное как бы есть. Я и красивее могу показать, а толку ? Оптимизация всё равно в ручном режиме.
лучше сразу ИИ для создания/генерирования пробыльных стратегий, т.е. задаются глобальные условия: рынки, TF, типы стратегии - а он (черный ящик) пусть сам все подбирает, тестирует, оптимизирует, создает новые правила входа и тд
Идёт работа в этом направлении, не ИИ, конечно)), а всё остальное будет, а точнее, уже почти есть. В автоматическом режиме строится стратегия, определяются условия входа, выхода, принцип расчёта тейкп рофита и стоп лосса. Теперь идёт работа над оптимизацией стратегий, есть много обещающая идея, которая поможет с минимизацией "подгонки" под историю.
Пример сгенерированного кода стратегии ниже. Стратегия имеет и осмысленное представление, что откуда и куда идёт, приводить пример не буду...
#define
symbol EURUSD;
period 240;
repeat_signal_skip True;
stop_level 50;
trade op_buy;
max_shift 17;
max_tp 1200;
max_sl 300;
max_bars_active 27;
sleep_after_loss 5;
stack 6;
const20;
cache 0;
#data
{9},{14},{16},
{2},{3},{16},
{13},{11},{12},
{1},{5},{11},
{1},{5},{15},
{7},{15},{14},
{11},{10};
#program
push [0];
get .PL_Down;
get .PL_Down[];
push [1];
call F_point;
call F_val_from_point;
call F_minus_d;
push [2];
get .PL_Up;
push [3];
get .PL_ImpulseDown;
call F_minus_d;
push [4];
get .PL_ImpulseUp;
push [5];
get .PL_Down;
call F_minus_d;
push [6];
get .PL_Up;
push [7];
get .PL_ImpulseDown;
call F_minus_d;
call F_mean3;
call F_less;
push [8];
get .Volume;
push [9];
get .Volume;
push [10];
get .Volume;
call F_mean2;
call F_minus_d;
get .Volume[];
push [11];
call F_point;
get .Volume[];
push [12];
call F_point;
call F_line_from_points;
get .Volume[];
push [13];
call F_point;
get .Volume[];
push [14];
call F_point;
call F_line_from_points;
push [15];
call F_ver_dist_betwen_lines;
call F_less;
push [16];
get .Open;
push [17];
get .Low;
call F_minus_d;
push [18];
get .Low;
push [19];
get .Close;
call F_minus_d;
#end
Этот код советник исполняет, пока сделано только для MT4.
Есть надежда, что получится полностью реализовать мечту алготрейдера, чтобы сделать торговую систему до уровня одной кнопки "Рубить бабло")).
Основная фишка этой системы в том, что она корректно, с точки зрения смысла, манипулирует ценами(HLOC), индикаторами, графическими объектами(каналы, уровни,...), можно и другие элементы добавлять.
Например:
Open[3]>Close[10] //Это корректное выражениеOpen[3]>Volume[10] //А это уже не корректное, результат этого выражения не имеет смысла
Идёт работа в этом направлении, не ИИ, конечно)), а всё остальное будет, а точнее, уже почти есть. В автоматическом режиме строится стратегия, определяются условия входа, выхода, принцип расчёта тейкп рофита и стоп лосса. Теперь идёт работа над оптимизацией стратегий, есть много обещающая идея, которая поможет с минимизацией "подгонки" под историю.
Пример сгенерированного кода стратегии ниже. Стратегия имеет и осмысленное представление, что откуда и куда идёт, приводить пример не буду...
Этот код советник исполняет, пока сделано только для MT4.
Есть надежда, что получится полностью реализовать мечту алготрейдера, чтобы сделать торговую систему до уровня одной кнопки "Рубить бабло")).
Основная фишка этой системы в том, что она корректно, с точки зрения смысла, манипулирует ценами(HLOC), индикаторами, графическими объектами(каналы, уровни,...), можно и другие элементы добавлять.
Например:
На 70% рынок находится в покое . Например можно попробовать определить формулой рынок покоя и присвоить некую среднею этому значению . Измерять расстояние между этими значениями и записывать их в буфер.
На основе среднего значения буфера переменным ордера присваивать стоп и прибыль.
Прошу определить формулу покоя.
На ум пока ничего не идёт кроме этого :
StdDev (i) = SQRT (AMOUNT (j = i - N, i) / N)
AMOUNT (j = i - N, i) = SUM ((ApPRICE (j) - MA (ApPRICE , N, i)) ^ 2)
где:
StdDev (i) — Стандартное Отклонение текущего бара; SQRT — квадратный корень; AMOUNT(j = i - N, i) — сумма квадратов от j = i - N до i; N — период сглаживания; ApPRICE (j) — примененная цена j-го бара; MA (ApPRICE , N, i) — значение скользящей средней с периодом N на текущем баре; ApPRICE (i) — примененная цена текущего бара.
На 70% рынок находится в покое . Например можно попробовать определить формулой рынок покоя и присвоить некую среднею этому значению . Измерять расстояние между этими значениями и записывать их в буфер.
Хотел бы услышать ваши предложения.
я проще покой искал,.. взял мувинг и тело трех свечей, если мувинг проходит через тело трех свечей подряд то субъективно можем считать эту закономерность покоем
вот такая запись:
//+------------------------------------------------------------------+//|Фукция успокоение рынка |//+------------------------------------------------------------------+bool Peace(void)
{
bool result=true;
MqlRates rates[];
//--- Загружаем информацию о последних 3-х барахif(CopyRates(_Symbol,_Period,1,3,rates)<3)
returnfalse;
ArraySetAsSeries(rates,true);
//--- Загружаем значения МА на последних 3-х барахdouble MA[];
if(CopyBuffer(g_hMA_Peace,0,1,3,MA)<3)
returnfalse;
ArraySetAsSeries(MA,true);
//--- Проверяем попадание МА в тело свечиfor(int i=0; i<3; i++)
if(MA[i]<MathMin(rates[i].open,rates[i].close) || MA[i]>MathMax(rates[i].open,rates[i].close))
{
//--- Если МА выше или ниже тела возвращаем false и выходим из цикла
result=false;
break;
}
return result;
Остальное как бы есть.
Я и красивее могу показать, а толку ? Оптимизация всё равно в ручном режиме.
Попроще можно так:
найти коэффициент - по средним МА 100 200 300 500. И по коэффициенту робот автоматом будет менять настройки.
К=(Бид/МА100+Бид/МА200.... )/н
И далее по пропорции.
Попроще можно так:
найти коэффициент - по средним МА 100 200 300 500. И по коэффициенту робот автоматом будет менять настройки.
Это уже персептрон. А как поподробнее прописать ? Что значит "бид" ?
Вот и ящик принесли :)
...
лучше сразу ИИ для создания/генерирования пробыльных стратегий, т.е. задаются глобальные условия: рынки, TF, типы стратегии - а он (черный ящик) пусть сам все подбирает, тестирует, оптимизирует, создает новые правила входа и тд
Идёт работа в этом направлении, не ИИ, конечно)), а всё остальное будет, а точнее, уже почти есть. В автоматическом режиме строится стратегия, определяются условия входа, выхода, принцип расчёта тейкп рофита и стоп лосса. Теперь идёт работа над оптимизацией стратегий, есть много обещающая идея, которая поможет с минимизацией "подгонки" под историю.
Пример сгенерированного кода стратегии ниже. Стратегия имеет и осмысленное представление, что откуда и куда идёт, приводить пример не буду...
Этот код советник исполняет, пока сделано только для MT4.
Есть надежда, что получится полностью реализовать мечту алготрейдера, чтобы сделать торговую систему до уровня одной кнопки "Рубить бабло")).
Основная фишка этой системы в том, что она корректно, с точки зрения смысла, манипулирует ценами(HLOC), индикаторами, графическими объектами(каналы, уровни,...), можно и другие элементы добавлять.
Например:
double OnTester()
{
double kCustom=0.0;
if(TesterStatistics(STAT_EQUITY_DD)>0)
{kCustom=NormalizeDouble(TesterStatistics(STAT_PROFIT)/TesterStatistics(STAT_EQUITY_DD),2);}
else
{kCustom=0;}
return(kCustom);
Пока оптимизация остаётся наиболее приемлемым вариантом
Идёт работа в этом направлении, не ИИ, конечно)), а всё остальное будет, а точнее, уже почти есть. В автоматическом режиме строится стратегия, определяются условия входа, выхода, принцип расчёта тейкп рофита и стоп лосса. Теперь идёт работа над оптимизацией стратегий, есть много обещающая идея, которая поможет с минимизацией "подгонки" под историю.
Пример сгенерированного кода стратегии ниже. Стратегия имеет и осмысленное представление, что откуда и куда идёт, приводить пример не буду...
Этот код советник исполняет, пока сделано только для MT4.
Есть надежда, что получится полностью реализовать мечту алготрейдера, чтобы сделать торговую систему до уровня одной кнопки "Рубить бабло")).
Основная фишка этой системы в том, что она корректно, с точки зрения смысла, манипулирует ценами(HLOC), индикаторами, графическими объектами(каналы, уровни,...), можно и другие элементы добавлять.
Например:
На 70% рынок находится в покое .
Например можно попробовать определить формулой рынок покоя и присвоить некую среднею этому значению . Измерять расстояние между этими значениями и записывать их в буфер.
На основе среднего значения буфера переменным ордера присваивать стоп и прибыль.
Прошу определить формулу покоя.
На ум пока ничего не идёт кроме этого :
StdDev (i) = SQRT (AMOUNT (j = i - N, i) / N)
AMOUNT (j = i - N, i) = SUM ((ApPRICE (j) - MA (ApPRICE , N, i)) ^ 2)
где:
StdDev (i) — Стандартное Отклонение текущего бара;
SQRT — квадратный корень;
AMOUNT(j = i - N, i) — сумма квадратов от j = i - N до i;
N — период сглаживания;
ApPRICE (j) — примененная цена j-го бара;
MA (ApPRICE , N, i) — значение скользящей средней с периодом N на текущем баре;
ApPRICE (i) — примененная цена текущего бара.
Хотел бы услышать ваши предложения.
На 70% рынок находится в покое .
Например можно попробовать определить формулой рынок покоя и присвоить некую среднею этому значению . Измерять расстояние между этими значениями и записывать их в буфер.
Хотел бы услышать ваши предложения.
я проще покой искал,.. взял мувинг и тело трех свечей, если мувинг проходит через тело трех свечей подряд то субъективно можем считать эту закономерность покоем
вот такая запись: