ФОРЕКС 21 Пятница, 03.05.2024, 00:42
Главная | Регистрация | Вход Приветствую Вас Гость | RSS
Меню сайта

Главная » 2009 » Декабрь » 27 » Учимся писать эксперты для MetaTrader. Урок №15
Учимся писать эксперты для MetaTrader. Урок №15
22:08
Учимся писать эксперты для MetaTrader. Урок №15 Обучение MQL II. Урок 15 Здравствуйте дорогие читатели. Сегодня мы проверим действенность одной классической торговой системы. Те кто читал классические книги по ТА, думаю, знают такое правило. В тренде нужно торговать по направлению трендовых индикаторов (например, скользящих средних), а во флете с помощь осцилляторов. 15.1 Алгоритм На самом деле только определение тренда уже более чем серьезный вопрос. Тренд будем определять с помощь индикатора ADX, я думаю Вы не будете против, т.к. это именно трендследящий индикатор. Если ADX растет, и стал самым большим за последние N значений, то позиция будет открываться в направлении скользящей средней. Если тренда нет, т.е. ADX имеет низкие значения, то смотрим на значение осциллятора. Если осциллятор в экстремальной зоне, то открываем соответствующую позицию (на отскок от зоны). В качестве осциллятора будем использовать индикатор Stochastic, потом его можно будет заменить или добавить еще один. Закрытие позиции будет осуществляться как по стоп ордерам, так и по условию. Условие это, исчезновение тренда, для позиций открытых в тренде и достижение противоположной экстремальной зоны Stochastic, для позиций открытых во флете. Во внешние переменные мы выложим периоды ADX, Stochastic и средней; зоны Stochastic для открытия позиции. 15.2 Эксперт /*[[ Name := Trend-flet Link := fxtest.ru Lots := 1.00 Stop Loss := 0 Take Profit := 0 Trailing Stop := 0 ]]*/ defines: PerMA(21), PerADX(14), StochK(5), StochD(3), Stochslow(3), UpZone(75), DownZone(25), WindowADX(35), ADXmax(20), ADXmin(15), MApips(4); var: Stoch1(0),Stoch2(0),ADX1(0),ADX2(0),Ma1(0),Ma3(0),cnt(0),f(0),tr(0); /* PerMA-период МА PerADX-период ADX StochK,StochD,Stochslow-периоды стохастика UpZone(75),DownZone(25)-экстремальные зоны стохастика WindowADX(35)-окно сравнения ADX ADXmax-значение ADX от которого считается, что это тренд ADXmin- знгачение ADX от которого считается что это флет MApips- наклон МА */ if curtime-LastTradeTime<5*3600 then exit; // ограничение по времени Ma1=ima(PerMa,mode_sma,1); //МА Ma3=ima(PerMa,mode_sma,3); Stoch1=iSTO(StochK,StochD,Stochslow,MODE_SMA,MODE_MAIN,1);// Стохастик Stoch2=iSTO(StochK,StochD,Stochslow,MODE_SMA,MODE_MAIN,2); ADX1=iADX(PerADX,MODE_MAIN,1); //ADX ADX2=iADX(PerADX,MODE_MAIN,2); if TotalTrades=0 then tr=0; //tr определяет тренд, если она равна 1 то сделка открыта как трендовая 2 флетовая, 0-сделки нет if TotalTrades<1 then { f=0; //флаг ADX for cnt=1 to WindowADX { if ADX1ADXmax then { //если ADX больше if ma1-ma3>MApips*point then { tr=1; SetOrder(op_buy, lots, ask, 3, bid-stoploss*point, bid+takeprofit*point, green); exit;}; if ma1-ma3<-MApips*point then{tr=1; SetOrder(op_sell, lots, bid, 3, ask+stoploss*point, ask-takeprofit*point, red); exit;}; // трендовые сделки }; if ADX1Stoch2 then {tr=2; SetOrder(op_buy, lots, ask, 3, bidstoploss*point, bid+takeprofit*point, green); exit;}; if Stoch1>UpZone and Stoch1>Stoch2 then {tr=2; 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 (adx1UpZone) then //условия на закрытие трендовой и флетовой лонговой сделки { CloseOrder(OrderValue(cnt,VAL_TICKET),OrderValue(cnt,VAL_LOTS),Bid,3,Violet); Exit; }; }; If OrderValue(cnt,VAL_TYPE)=OP_SELL then { if (adx1 var container = document.getElementById('nativeroll_video_cont'); if (container) { var parent = container.parentElement; if (parent) { const wrapper = document.createElement('div'); wrapper.classList.add('js-teasers-wrapper'); parent.insertBefore(wrapper, container.nextSibling); } }
Просмотров: 431 | Добавил: forex21 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Календарь новостей
«  Декабрь 2009  »
ПнВтСрЧтПтСбВс
 123456
78910111213
14151617181920
21222324252627
28293031

Поиск

Друзья сайта


Статистика

Copyright MyCorp © 2024 Бесплатный конструктор сайтов - uCoz