|
AmiSite.ru
Форум по Ами |
Автор |
Сообщение |
promoter
Зарегистрирован: 13.10.2010
Сообщения: 10
|
Олег, переведи пожалуйста код простенькой стратегии "ценовой канал", взятой из учебника по 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
|
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
|
|
Следующая тема
Предыдущая тема
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы не можете скачивать файлы
|
| |