Список форумов AmiSite.ru AmiSite.ru
Форум по Ами
 FAQ  •  Поиск  •  Пользователи  •  Группы   •  Регистрация  •  Профиль  •  Войти и проверить личные сообщения  •  Вход
 Стратегия "ценовой канал" Следующая тема
Предыдущая тема
Начать новую тему  Ответить на тему
Автор Сообщение
promoter



Зарегистрирован: 13.10.2010
Сообщения: 10

СообщениеДобавлено: Ср Окт 13, 2010 3:19 pm Ответить с цитатой Вернуться к началу

Олег, переведи пожалуйста код простенькой стратегии "ценовой канал", взятой из учебника по EasyLanguage на AFL. Думаю многим будет интересно.
Стратегия состоит из функции, правил открытия-закрытия позиции использующих эту функцию + для наглядности рисует границу ценового канала.

1. Функция.

Inputs: Len(Numeric), {WAverage TrueRange Length} M(Numeric); {Multiplier}
Vars: Trend(0), HPrice(C), LPrice(C), Reverse(0), TrueHi(H), TrueLo(L), TrueRng(0), WATR(0); {Calculate Weighted Average TrueRange}

If Close[1] > High Then TrueHi = Close[1] Else TrueHi = High; {Calculate TrueHigh}

If Close[1] < Low Then TrueLo = Close[1] Else TrueLo = Low; {Calculate TrueLow}

TrueRng = TrueHi - TrueLo; {Calculate TrueRange}

WATR = WAverage(TrueRng,Len); {Calculate WATR}
{Calculate Trailing Reverse Level}

if Trend >=0 then begin {UpTrend}
if C > HPrice then HPrice = C;
Reverse = HPrice - M*WATR;
if C < Reverse then begin
Trend = -1;
LPrice = C;
end;
end;
if Trend <= 0 then begin {DownTrend}
if C < LPrice then LPrice = C;
Reverse = LPrice + M*WATR;
if C >= Reverse then begin
Trend = 1;
HPrice = C;
end;
end;
$NRTR_WATR = Reverse;

2. Сигнал.

Inputs: M1(1), {Signal ratio}
M2(5), {Trend ratio}
Len(21), {WATR length}
StpL(5); {Stop Loss order}
Vars: UpTrend(False)
Value1 = $NRTR_WATR(Len,M1); {Signal Level}
Value2 = $NRTR_WATR(Len,M2); {Trend Level}
If C > Value2 Then UpTrend = True Else UpTrend = False;
{Trade rules}
If C > Value1 and UpTrend = True and MarketPosition = 0 Then Begin
Buy("LE") at Close;
Value3 = Close*(1 - StpL*0.01); {StopOrder setup}
End;
If C < Value1 Then ExitLong("LX") at Close;
ExitLong("StpL") at Value3 Stop; {Exit at Stop Loss Order}

3. Индикатор.

Inputs: Len(15), M(2);
Plot1($NRTR_WATR(Len,M),"NRTR_WATR");
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Ср Окт 13, 2010 3:56 pm Ответить с цитатой Вернуться к началу

Обычная стратегия на NRTR WATR.
Этих индикаторов тут на форуме как говна. Выбирай
http://amisite.ru/phpBB2/viewtopic.php?t=318&start=0
http://amisite.ru/phpBB2/viewtopic.php?t=816&highlight=nrtr

А уж написать правила системы типа
Код:
Buy = Cross(C, Revers);
...

Это сам. Wink

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



Следующая тема
Предыдущая тема
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы не можете скачивать файлы


Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme :: Часовой пояс: GMT + 3

File Attachment © by Meik Sievertsen