Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Советник открывет сделки, когда цена подходит к целому центу (1.39 1.40 1.41 ...), при этом с правильной скоростью. Рассмотрим функцию на покупку (функция на продажу зеркальна).
bool CheckEntryConditionBUY()
{ BAL = 0;
if (RAVI0_2_24_H1 < -0.00) BAL = BAL + 10; средня за 2 часа ушла ниже средней за 24 часа - это хорошо
double Level100;
int PointFromLevelGo = 50, PtFrRise = 700;
Level100 = StrToDouble(DoubleToStr(Bid,2)) + PointFromLevelGo*Point; определение ближашего целого цента
if (iHigh(NULL,PERIOD_H1,1) > Level100 + PtFrRise*Point || iHigh(NULL,PERIOD_H1,2) > Level100 + PtFrRise*Point) BAL = BAL + 7; даже если средня не ушла ниже, но цена прошла за 2 часа вниз больше 700 пунктов (в 5-ти значной системе) - это тоже хорошо
if (Bid < Level100 && Close[1] > Level100 && iLow(NULL,PERIOD_H1,0) > Level100 - PointFromLevelGo*Point + 30*Point
&& iLow(NULL,PERIOD_H1,1) > Level100 - PointFromLevelGo*Point + 30*Point
&& iLow(NULL,PERIOD_H1,2) > Level100 - PointFromLevelGo*Point ) BAL = BAL + 45; теперь главное правило - цена подошла к уровню ближе чем 50 пунктов (Bid < Level100) и предыдущая цена закрытия выше 50 пунктов от уровня (Close[1] > Level100 ), т.е. цена идет вниз, при этом последние 3 часа цена не перескала данный уровень (иначе это уже не уровень), то при выполнении этого правила и одного или двух сразу из предыдущих, балов хватит, чтобы открыть сделку. Далее проверяем другие динамические показатели цены, если они не удовлетворительны, то отменяем сделку (путем вычитания 50 балов)
int HiLevel = 600, LoLevel = 250, x, LoLevel2 = 450;
for (x=0;x<=11;x++) {if (iHigh(NULL,PERIOD_M1,x) > Level100 + HiLevel*Point) BAL = BAL - 50;} если цена в ближайшие 11 минут уже прошла 600 пунктов, т.е. слишком сильное движение, то отмена
for (x=0;x<=30;x++) {if (iHigh(NULL,PERIOD_M1,x + 3) - iLow(NULL,PERIOD_M1,x) > 300*Point && iOpen(NULL,PERIOD_M1,x + 3) > iClose(NULL,PERIOD_M1,x)
&& RAVI0_2_24_D1 < -2) BAL = BAL - 50;} если ближайшие 30 минут был рывок в 300 пунктов за 3 минуты, т.е. слишком сильное движение, то отмена
bool IsCrossLowLevel2 = false;
for (x=0;x<=14;x++) {if (iHigh(NULL,PERIOD_H1,x) > Level100 + LoLevel2*Point) IsCrossLowLevel2 = true;}
if (IsCrossLowLevel2 == false) BAL = BAL - 50; если цена за последние 14 часов не поднималась выше 450 пунктов от уровня, т.е. слишком слабое движение, то отмена
if (iHigh(NULL,PERIOD_M30,0) < Level100 + LoLevel*Point && iHigh(NULL,PERIOD_M30,1) < Level100 + LoLevel*Point
&& iHigh(NULL,PERIOD_M30,2) < Level100 + LoLevel*Point
&& iHigh(NULL,PERIOD_M30,3) < Level100 + LoLevel*Point
&& iHigh(NULL,PERIOD_M30,4) < Level100 + LoLevel*Point
&& iHigh(NULL,PERIOD_M30,5) < Level100 + LoLevel*Point
&& iHigh(NULL,PERIOD_M30,6) < Level100 + LoLevel*Point
&& iHigh(NULL,PERIOD_M30,7) < Level100 + LoLevel*Point) BAL = BAL - 50; если цена за последние 3,5 часа не поднималась выше 250 пунктов от уровня, т.е. слишком слабое движение, то отмена
if (BAL >= 50) return(true);
return(false);
}
Открывается отложенный ордер со сроком истечения 20 минут (функция void OpenBuyOrder()) сразу за уровнем с расчитанными стоплоссом и тэйкпрофитом (с закрытием ордера только по ним).
При установке параметра UseTrailingStop=true, если есть открытая убыточная позиция и цена резко (за 3 минуты более 1/2 цента) идет в сторону убытка, ТП выставляется в 1 пункте (по 4-х знач.сис.) от цены открытия. Более осторожный вариант, но менее доходный (за период с 01.01.2009), за то последняя убыточная сделка уходит в 0.Вот как раз я и провожу оптимизацию средней линии, т.к. от неё пляшут все переменные вида RAVI0_2_24_H1
По хорошему, стоит ещё протестить int PointFromLevelGo = 50, PtFrRise = 700;
Строго не судить ...
Вот результаты оптимизации советника с первым параметром 3 по второму параметру с 1 до 30.
По прибыльности:
По просадке (в сумме):
По просадке (в процентах):
По матожиданию:
Кто что скажет?
Какие будут соображения?
Повторяю, оптимизация за период в 1,5 года.
Строго не судить ...
Вот результаты оптимизации советника с первым параметром 3 по второму параметру с 1 до 30....
Строго не судить ...
Вот результаты оптимизации советника с первым параметром 3 по второму параметру с 1 до 30....
Строго не судить ...
Вот результаты оптимизации советника с первым параметром 3 по второму параметру с 1 до 30.
По прибыльности:
По просадке (в сумме):
По просадке (в процентах):
По матожиданию:
Кто что скажет?
Какие будут соображения?
Повторяю, оптимизация за период в 1,5 года.
Наиболее интересные optim2=25 или26 ИМХО
Наиболее интересные optim2=25 или26 ИМХО
А почему? Мне кажется что при 3 и 30 наилучшие результаты.
Подели прибыль на просадку - чем больше результат тем меньше риск