Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
05 Торг системы.doc
Скачиваний:
18
Добавлен:
15.03.2016
Размер:
679.94 Кб
Скачать

Глава 5. Различные подходы к построению стратегий на рынке forex

В настоящей главе изложены некоторые подходы к автоматизированному анализу условий открытия и закрытия позиций в информационно-торговой системе Metatrader, предложены алгоритмы, положенные в основу механических торговых систем, используемых на рынке Forex. Основой создания механических торговых систем, позволяющих автоматизировать процесс ведения торговли на валютном рынке, являются рассмотренные в предыдущей главе программные средства.

Визуализация линий поддержки и сопротивления при появлении бокового тренда

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

Характерным свойством наличия бокового тренда является небольшой диапазон изменения цен при выбранном временном интервале. Обозначим величину временного интервала n=CoridCandleAmount, определяемом количеством свечей в рассматриваемом графике

Величину диапазона изменения цен, характеризующую наличие бокового тренда обозначим в пунктах CoridWidth. Для вычисления величины диапазона изменения цен используем следующие выражения.

Минимальное значение вычислим по формуле для значения Low каждой свечи:

.

Максимальное значение вычислим по формуле для значения High каждой свечи:

.

Вычисление параметров коридора изменения цен, выполним, например, с помощью встроенных функций:

//вычислить параметры коридора

CoridPeriods=CoridCandleAmount;

CoridMax=High[Highest(MODE_HIGH, CoridCandleAmount,CoridPeriods)];

CoridMin=Low[Lowest(MODE_LOW, CoridCandleAmount,CoridPeriods)];

Пусть диапазон изменения цен мал, т.е. можно говорить о наличии бокового тренда. Визуально этот факт можно отобразить двумя горизонтальными красными линиями. Дополнительно рекомендуется вывести на экран сообщение alert, сопровождаемое звуковым сигналом.

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

if CoridMax - CoridMin <= CoridWidth*Point then

{ // коридор узкий

// нарусуем линии коридора КРАСНЫМ цветом

alert(Symbol," Появился боковой тренд ",CoridMax," ",CoridMin);

MoveObject("CorMax1",OBJ_HLINE,CurTime,CoridMax,

CurTime,CoridMax,Red,1,STYLE_SOLID);

MoveObject("CorMin1",OBJ_HLINE,CurTime,CoridMin,

CurTime,CoridMin,Red,1,STYLE_SOLID);

}

else

{ // коридор широкий

// нарусуем линии коридора Зеленым цветом

MoveObject("CorMax1",OBJ_HLINE,CurTime,CoridMax,

CurTime,CoridMax,LightGreen,1,STYLE_SOLID);

MoveObject("CorMin1",OBJ_HLINE,CurTime,CoridMin,

CurTime,CoridMin,LightGreen,1,STYLE_SOLID);

};

Определение наличия бокового тренда рекомендуется выполнять один раз для каждой новой завершенной свечки, т.е. после проверки:

vars:

PrevBarTime(0);

. . . . . . . .

if PrevBarTime <> Time then // обнаружена новая завершенная свечка

{

PrevBarTime = Time;

. . . . . . . .

};