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

Главная » 2009 » Декабрь » 27 » Обучение MQL II Урок №5
Обучение MQL II Урок №5
20:14
Обучение MQL II Урок №5 Здравствуйте дорогие читатели! Сегодня мы научимся писать эксперты с использованием встроенных индикаторов. В МТ реализовано довольно много индикаторов классического теханализа, так что поле для действий довольно большое. В конце урока мы напишем эксперт. 5.1. Синтаксис индикатора в общем виде iInd(period, mode, shift); Ind - условное название индикатора; Period - период усреднения; Mode - чаще всего указывает какое из значений индикатора принимается (для индикаторов из двух линий) Shift - индекс указывает, какое порядковое значение индикатора брать для расчета (0 это текущее значение индикатора, 1-прошлое, 2-позапрошлое и т.д. по аналогии с индексами при котировках). Перед названием индикатора стоит буква i, это обязательно для всех индикаторов в МТ. 5.2. Скользящие средние Скользящие средние являются самым распространенным индикатором. Поэтому я бы хотел разобрать этот индикатор более подробно. Moving Average (iMA) iMA(period, ma_method, shift) period - период усреднения; ma_method - этот параметр указывается для метода вычисления средней, параметр может принимать следующие значения: MODE_SMA, MODE_EMA, MODE_SMMA, MODE_LWMA. Пример: iMA(21, MODE_SMA, 1)- прошлое значение скользящей средней простого типа с периодом усреднения 21 iMA(9, MODE_EMA, 0)- текущее значение скользящей средней экспоненциального типа с периодом усреднения 9 По умолчанию индикаторы строятся от цен закрытия, поэтому значения индикаторов с индексом 0, т.е текущие значения на формирующимся баре будут все время меняться вместе с ценой. 5.3. Extended (расширенные) индикаторы Как я уже говорил, индикаторы чаще всего строятся от цен закрытия . Это не всегда удовлетворяет запросам пользователей, поэтому в арсенале МТ есть extended (расширенные) индикаторы. На текущий момент существует 7 extended индикаторов: ADX extended iADXEx (period ,applied_price, mode, shift) CCI extended iCCIEx (period, applied_price, shift) Bolinger bands extended iBandsEx (period, deviation, bands_shift, applied_price, mode, shift) MACD extended iMACDEx (fast_ema_period, slow_ema_period, signal_period, applied_price, mode, shift) Moving average extended iMAEx (period, ma_method, ma_shift, applied_price, shift) Momentum extended iMomEx (period, applied_price, shift) RSI extended iRSIEx (period, period2, applied_price, mode, shift) Если Вы заметили, у любого из расширенных индикаторов есть параметр . Этот параметр может принимать 7 значений: PRICE_CLOSE, PRICE_OPEN, PRICE_HIGH, PRICE_LOW, PRICE_MEDIAN, PRICE_TYPICAL и PRICE_WEIGHTED. Т.е индикатор может строится от цены закрытия, цены открытия, максимальной цены, минимальной цены, PRICE_MEDIAN ( (high+low)/2), PRICE_TYPICAL ((high+low+close)/3 ), PRICE_WEIGHTED ((high+low+close+close)/4 ). Все названия расширенных индикаторов заканчиваются буквами , и только этим отличаются от названий таких же стандартных индикаторов. 5.4. Эксперт Для закрепления знаний, напишем эксперт. Он будет использовать 2 индикатора, скользящую среднюю с большим периодом и RSI. Если RSI выше определенной нами верхней оверзоны, развернулся вниз и средняя направлена вниз, то эксперт будет продавать. Если RSI ниже нижней оверзоны, развернулся вверх и средняя направлена вверх, то покупаем. Выход из позиции осуществляется по выставленным стопам. /*[[ Name := Expert4 Author := Fxtest.ru Link := forextimes.ru Lots := 1.00 Stop Loss := 40 Take Profit := 40 Trailing Stop := 0 ]]*/ defines: per(7), Upzone(70), Downzone(30), BigTrend(100); //per-период RSI; Upzone, Downzone-оверзоны, BigTrend - период средней показывающей глобальный тренд var: r1(0), r2(0), m1(0), m2(0); // r1-прошлое значение RSI r2-позапрошлое значение RSI r1=iRSI(per,1); r2=iRSI(per,2); m1=iMA(BigTrend, MODE_SMA,1); //MA простого типа (SMA) m2=iMA(BigTrend, MODE_SMA,2); if TotalTrades<1 then { //играть если открытых позиций нет if r2>r1 and r2>Upzone and m1m2 then //если образовался экстремум и он ниже нижней оверзоны, и глобальный тренд вверх, покупай {SetOrder(op_buy, lots, ask, 3, bid-stoploss*point, bid+takeprofit*point, green); exit;};}; В следующем уроке мы научимся обращаться к открытыми позициям и принудительно их закрывать, при срабатывании какого-либо условия.
Просмотров: 759 | Добавил: forex21 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

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

Поиск

Друзья сайта


Статистика

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