МГС  Московская Гигабитная Сеть
 www.umos.su info@umos.su  Выделенные линии Ве/б-Студия Хостинг Collocation
 Тарифы Вопросы и ответы Полезная информация Контакты

Трейдинг >> Системы

Страниц в ветке: 1
algotreider
Свой человек


Зарегистрирован: 08/08/2016
Сообщений: 28
Нахождение: Россия г. Ярославль
Построение торговой стратегии (Торговый сигнал) NRTR_WATR для multicha
      #387580 - 21/08/2016 12:58

Всем добрый день Уважаемые форумяне!
Прошу Вас помощи в разборе и создании ELA-кода, торговой стратегии (функций, сигналов) для multichart, а именно речь пойдет о Трендовым индикаторе прорыва динамического ценового канала (ссылка на данную тему http://konkop.narod.ru/codes.htm). Сам код индикатора и функии из омеги к multichart подходит, а вот с торговыми сигналами начинается проблема. При вводе кода и его проверки торгового сигала в multichart выдает ошибки.
Вот, к примеру, сам код торгового сигала
Торговый сигнал "$NRTRwATR_2data" для двух данных различных временных масштабов. Data1 - меньший тайм-фрейм, Data2 - больший тайм-фрейм. (Торговля по-тренду)
Inputs: Len1(10), Len2(15), M1(1), M2(2);

Vars: Up_trend(false), Dn_trend(false);

If C of Data2 > $NRTR_WATR(Len2,M2) of Data2 Then begin
Up_trend = True;
Dn_trend = False;
End;

If C of Data2 < $NRTR_WATR(Len2,M2) of Data2 Then begin
Up_trend = False;
Dn_trend = True;
End;

If Up_trend = True and C > $NRTR_WATR(Len1,M1) Then Buy at Close;
If Up_trend = True and C < $NRTR_WATR(Len1,M1) Then ExitLong at Close;

If Dn_trend = True and C < $NRTR_WATR(Len1,M1) Then Sell at Close;
If Dn_trend = True and C > $NRTR_WATR(Len1,M1) Then ExitShort at Close;

Что в данном коде не так? или все-таки есть Отличия в Easy Language омеги и multichart?

А вот ссылка http://konkop.narod.ru/lesson.htm уже на разбор функции NRTR_WATR и построение торговой стратегии.
Код торговой стратегии:
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}

Данный код при вводе его в signals и проверке тоже выводит ошибку.
Прошу Вас помощи в разборе данных торговых сигналов и стратегий. Данный язык Easy Language я начал изучать совсем недавно. Заранее всем спасибо.

--------------------
shev


Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
Michael K.
Свой человек
***

Зарегистрирован: 02/07/2003
Сообщений: 183
Re: Построение торговой стратегии (Торговый сигнал) NRTR_WATR для multicha [re: algotreider]
      #387581 - 21/08/2016 19:00

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

Нужно внести следующие изменения (заменить одно на другое):
Sell -> Sellshort
Exitlong -> Sell
Exitshort -> Buytocover

Потом, в каждой строчке открытия/закрытия позиции добавить "this bar", например: Buy this bar on Close;

И, последнее, я заметил в одном из файлов инпут под именем Short. На момент написания кода это слово не было резервным. Возможно, это не станет причиной ошибки, но я бы изменил это слово на какое-нибудь другое (например, MyShort).


Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
algotreider
Свой человек


Зарегистрирован: 08/08/2016
Сообщений: 28
Нахождение: Россия г. Ярославль
Re: Построение торговой стратегии (Торговый сигнал) NRTR_WATR для multicha [re: Michael K.]
      #387582 - 21/08/2016 20:29

Спасибо большое, я так понял проблема вообщем то вот в этих нижних строчках?
Then Buy at Close;
Then ExitLong at Close;
Then Sell at Close;
Then ExitShort at Close;

Вот что у меня получилось после замены
If Up_trend = True and C > $NRTR_WATR(Len1,M1) this bar at close;
If Up_trend = True and C < $NRTR_WATR(Len1,M1) this bar sell at close;

If Dn_trend = True and C < $NRTR_WATR(Len1,M1) this bar Sellshort at Close;
If Dn_trend = True and C > $NRTR_WATR(Len1,M1) this bar Buytocover at Close;

не уверен, что все верно.

после чего у меня началась подчеркиватся выводится ошибка $ вот в этой строчке
If Up_trend = True and C > $NRTR_WATR.
И я не до конца понял вот эти строчки (в одном из файлов инпут под именем Short. На момент написания кода это слово не было резервным. Возможно, это не станет причиной ошибки, но я бы изменил это слово на какое-нибудь другое (например, MyShort)???????? где в инпут строчка Short?

Скидываю Функцию "$NRTR_WATR". Рассчитывает скользящий фильтр на основе взвешенного ATR. Вдруг пригодитсям

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;
Reverse = LPrice + M*WATR;
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;
Reverse = HPrice - M*WATR;
end;
end;

$NRTR_WATR = Reverse;

Мне самое главное сейчас разобрать хотя бы торговый сигнал, а код торговой стратегии пока откинуть на второй план

--------------------
shev


Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
algotreider
Свой человек


Зарегистрирован: 08/08/2016
Сообщений: 28
Нахождение: Россия г. Ярославль
Re: Построение торговой стратегии (Торговый сигнал) NRTR_WATR для multicha [re: Michael K.]
      #387583 - 21/08/2016 20:33

Спасибо большое, я так понял проблема вообщем то вот в этих нижних строчках?
Then Buy at Close;
Then ExitLong at Close;
Then Sell at Close;
Then ExitShort at Close;

Вот что у меня получилось после замены
If Up_trend = True and C > $NRTR_WATR(Len1,M1) this bar at close;
If Up_trend = True and C < $NRTR_WATR(Len1,M1) this bar sell at close;

If Dn_trend = True and C < $NRTR_WATR(Len1,M1) this bar Sellshort at Close;
If Dn_trend = True and C > $NRTR_WATR(Len1,M1) this bar Buytocover at Close;

не уверен, что все верно.

после чего у меня началась подчеркиватся выводится ошибка $ вот в этой строчке
If Up_trend = True and C > $NRTR_WATR.
И я не до конца понял вот эти строчки (в одном из файлов инпут под именем Short. На момент написания кода это слово не было резервным. Возможно, это не станет причиной ошибки, но я бы изменил это слово на какое-нибудь другое (например, MyShort)???????? где в инпут строчка Short?

Скидываю Функцию "$NRTR_WATR". Рассчитывает скользящий фильтр на основе взвешенного ATR. Вдруг пригодитсям

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;
Reverse = LPrice + M*WATR;
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;
Reverse = HPrice - M*WATR;
end;
end;

$NRTR_WATR = Reverse;

Мне самое главное сейчас разобрать хотя бы торговый сигнал, а код торговой стратегии пока откинуть на второй план

--------------------
shev

--------------------
shev


Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
algotreider
Свой человек


Зарегистрирован: 08/08/2016
Сообщений: 28
Нахождение: Россия г. Ярославль
Re: Построение торговой стратегии (Торговый сигнал) NRTR_WATR для multicha [re: algotreider]
      #387584 - 21/08/2016 21:59 прикреплённые файлы (90 загрузок)

вот, что получилось https://yadi.sk/i/6T04xL2FuNkva

--------------------
shev


Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
algotreider
Свой человек


Зарегистрирован: 08/08/2016
Сообщений: 28
Нахождение: Россия г. Ярославль
Re: Построение торговой стратегии (Торговый сигнал) NRTR_WATR для multicha [re: algotreider]
      #387586 - 21/08/2016 23:46

Все получилось спасибо большое
If Up_trend = True and C > $NRTR_WATR(Len1,M1) Then Buy this bar Close;
If Up_trend = True and C < $NRTR_WATR(Len1,M1) Then Sell this bar Close;

If Dn_trend = True and C < $NRTR_WATR(Len1,M1) Then Sell short this bar Close;
If Dn_trend = True and C > $NRTR_WATR(Len1,M1) Then Buy to cover this bar Close;

--------------------
shev


Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
Страниц в ветке: 1



Дополнительная информация
0 зарегистрированных и 55 незарегистрированных пользователей просматривает форум.

Модератор:  Poul, Poul, 000, Akelo, mda, x4x, Uliss, TradingS, KMS, VovaM, mpfeltz, EVM, Stone, Apprentice, Neo, JC, Kobra007, GOOD_MAN, Oldman, Igonter, TradeSwing 

Распечатать тему

Доступ и ограничения:
      Вы не можете начать новую тему
      Вы не можете отвечать на тему
      HTML включён
      UBBCode включён

Рейтинг:
Тема прочитана: 5403

Рейтинг темы

Перейти на

Send letter to Poul | Предупреждение Poul Trade Forum

Powered by UBB.threads™ 6.5.4

Generated in 0.02 seconds in which 0.01 seconds were spent on a total of 12 queries. Zlib compression enabled.