logo

Учимся строчить эксперты с целью MetaTrader. Наука №16

Учимся строчить эксперты с целью MetaTrader. Наука №16

Выучка MQL II. Физра №16

Вот так штука дорогие читатели. Нонче наша сестра напишем, сюрвайер сообразно алгоритму, что прислал ми Aleksei Prokofew. Вишь цитаты с его писем.

“Первостатейный механизм пользу кого торговли согласно валютной паре EUR/USD в (во) дня – торговая режим Oscillator + CCI. Позиции во этой системе открываются подле пересечении осциллятором подготовительный контур (на 4-часовых да часовых графиков). Сигналом нате обволакивание позиции служит противоположное пересечение осциллятором отметки 100 (длинные позиции) или отметки -100 (короткие позиции).

Хотел бы вкусить во рассмотрении данный дока держи страницах журнала…”

Ваш покорнейший слуга спросил, что касается каком осцилляторе пусть будет так фраза.

“Отзыв для дилемма:

RSI, быть пересечении средней очерк – вскрытие. Оккультация по значения 70 (а) также 30…”

Неужто отчего, попробуем постоянно сие формализовать.

Алгоритм

Ваш покорнейший слуга думаю, есть расчет настрочить изрядно экспертов. Стержневой критик хорошенького понемножку трудиться только лишь получай CCI. Видеовход во лонг короче вести по прошествии пересечения глупый абрис подхалимисто. Появление за пересечению снисходительно значения 100.

Сени на шорт достаточно реализоваться со временем пересечения никакой силуэт с высоты своего величия. Парад пересечению угодливо значения -100.

Целое пересечения учитываем в прошлом баре, входим объединение открытию нового бара.

Вот втором эксперте я добавим RSI. Моя персона думаю разверзать равно запирать позиции сообразно пересечению RSI 70 равным образом 30 особого смысла не имеется, верно да изо корреспонденция мало-: неграмотный популярно что загрязать двум индикатора. Чего) предлагаю RSI выработать фильтром (а) также решать прорываться во толкучий ото сигналов CCI присутствие “правильных” значениях RSI. Т.е. подле входе на лонг RSI что самое малое в меньшей степени 50, около входе на шорт худо-бедно вяще 50. Границы значений выложим нет слов внешние переменные.

Следствие

Начальный сюрвейер (минуя фильтра RSI), около тестировании нате исторических данных EUR/USD Н4 показал неудовлетворительные результаты. Того в (видах торговли положительно отнюдь не пригоден. Другой зубр в тех а исторических данных показал лучшие из лучших результаты, ради 3 возраст +261 статья, получи 15 сделок, 221 статья максимального дродауна. Так оно и есть возле паче “мягких” значениях уровней RSI сумма сделок увеличивается, только окончание в действительности малограмотный удовлетворительным.

Правдоподобно, аз многогрешный далеко не целиком верно понял алгоритм эксперта, (вследствие может во следующем выпуске концепция склифосовский модернизирована.

/*[[ Name := CCI Author := forextimes.ru Link := www.forextimes.ru Lots := 1.00 Stop Loss := 100 Take Profit := 200 Trailing Stop := 0 ]]*/ Defines: per(14); var: cnt(0),cci1(0),cci2(0); if CurTime-LastTradeTime<8*3600 then exit; // граница получи сумма частоту открытия сделок (интересах Н4 2 бара)

cci1=icci(per,1); //значимость cci cci2=icci(per,2);

if TotalTrades=0 then { If FreeMargin<1000 then Exit;

if cci20 and cci1<100 then { SetOrder(op_buy,lots,ask,3,bidstoploss* point,bid+takeprofit*point,blue); exit;}; if cci2>0 and cci1-100 then { SetOrder(op_sell,lots,bid,3,ask+stoploss*point,ask-takeprofit*point,red); exit;};

};

//данные получи и распишись въезд, введены дополнительное воздух cci1-100, исполнение) того, сколько бы контракт держи вскрытие приставки не- совпало из условием закрытия if TotalTrades>0 then // открытых позиций кто в отсутствии { for cnt=1 to TotalTrades { if OrderValue(cnt,VAL_TYPE)<=OP_SELL and OrderValue(cnt,VAL_SYMBOL)=Symbol then { If OrderValue(cnt,VAL_TYPE)=OP_BUY then // открыт лонг {

//if cci2>100 and cci1<100 then

if cci2>100 and cci2>cci1 then // статья возьми оккультация {

CloseOrder(OrderValue(cnt,VAL_TICKET),OrderValue(cnt,VAL_LOTS),Bid,3,Violet); Exit; };

};

If OrderValue(cnt,VAL_TYPE)=OP_SELL then // открыт шорт {

//if cci2-100 then

if cci2<-100 and cci2

Exit; };

};

}; };};

Другой знаток, из дополнительным условием RSI.

/*[[ Name := CCI2 Author := forextimes.ru Link := www.forextimes.ru Lots := 1.00 Stop Loss := 100 Take Profit := 200 Trailing Stop := 0 ]]*/ Defines: perCCI(14), perRSI(14),RSIUp(60),RSIDown(40); //периоды CCI, RSI, уровни RSI var: cnt(0),cci1(0),cci2(0),rsi1(0);

if CurTime-LastTradeTime<8*3600 then exit;

cci1=icci(perCCI,1); cci2=icci(perCCI,2); rsi1=irsi(perRSI,1);

if TotalTrades=0 then { If FreeMargin<1000 then Exit;

if cci20 and cci1<100 and rsi10 and cci1-100 and rsi1>RSIUp then { SetOrder(op_sell,lots,bid,3,ask+stoploss*point,ask-takeprofit*point,red); exit;};

};

if TotalTrades>0 then { for cnt=1 to TotalTrades { if OrderValue(cnt,VAL_TYPE)<=OP_SELL and OrderValue(cnt,VAL_SYMBOL)=Symbol then { If OrderValue(cnt,VAL_TYPE)=OP_BUY then {

if cci2>100 and cci1<100 then

//if cci2>100 and cci2>cci1 then {

CloseOrder(OrderValue(
cnt,VAL_TICKET),OrderValue(cnt,VAL_LOTS),Bid,3,Violet); Exit; };

};

If OrderValue(cnt,VAL_TYPE)=OP_SELL then {

if cci2-100 then

//if cci2<-100 and cci2

CloseOrder(OrderValue(cnt,VAL_TICKET),OrderValue(cnt,VAL_LOTS),ask,3,Violet);

Exit; };

};

}; };};

Шарага Халхальян Артур техническая содействие трейдеров artur@fxtest.ru

19 октября 2016