Блог им. vic-vp

Код на Easy Language (Power Language) купленной за плюсики системки.

    • 22 февраля 2013, 19:36
    • |
    • dsl
  • Еще
 
Попробовал тут на досуге набросать на EL купленную нами за плюсики системку… )
smart-lab.ru/blog/102934.php
smart-lab.ru/blog/103636.php
К сожалению, проверить сейчас на омеге или МЧ не могу, поэтому если у кого в данный момент есть возможность, прогоните, интересно что получилось… И особенно, если вдруг кто ошибки в коде найдёт, пишите.
Итак, выложено было, по сути, 2 системы...
Первый вариант кода был выложен по ошибке, как заявил сам автор (разница между ними минимальна).
1.  pastebin.com/JvTKu5w5
2.  pastebin.com/hcrjuXgE
 
Попробую на рис. показать что я понял из кода (не исключаю что я в чём-то ошибаюсь). Сорри за качество, не художник.
1. (выложенная по ошибке)
 
Код на Easy Language (Power Language) купленной за плюсики системки.
 
2.

Код на Easy Language (Power Language) купленной за плюсики системки.
______________________________________________________

Коды.

1.



Inputs: Longs(True), Shorts(True), StopLoss(1000), TakeProfit(5000), LenL(40), LenS(40), StrongInx(10);
Variables: mp(0), HHCounter(0), LLCounter(0);

mp = MarketPosition;

if Close[1] > Highest(High, LenL)[2] then
begin
HHCounter = HHCounter + 1;
LLCounter = 0;
end;

if Close[1] < Lowest(Low, LenS)[2] then
begin
LLCounter = LLCounter + 1;
HHCounter = 0;
end;

if mp = 0 then
begin
if HHCounter >= StrongInx then
begin
if Shorts And Close < Lowest(Low, LenS)[1] then
begin
Sell («S») Next Bar at Market;
end;
end
else if LLCounter >= StrongInx then
begin
if Longs And Close > Highest(High, LenL)[1] then
begin
Buy («B») Next Bar at Market;
end;
end;
end;

if mp = 1 then
begin
ExitLong («LStop») EntryPrice — StopLoss Stop;
ExitLong («Ltp») EntryPrice + TakeProfit Limit;
end;

if mp = -1 then
begin
ExitShort («SStop») EntryPrice + StopLoss Stop;
ExitShort («Stp») EntryPrice — TakeProfit Limit;
end;

{ SetExitOnClose;}
 
==================================================
 2.


Inputs: Longs(True), Shorts(True), StopLoss(1000), TakeProfit(5000), LenL(40), LenS(40), StrongInx(10);
Variables: mp(0), HHCounter(0), LLCounter(0);

mp = MarketPosition;

if Close[1] > Highest(High, LenL)[2] then
begin
HHCounter = HHCounter + 1;
LLCounter = 0;
end;

if Close[1] < Lowest(Low, LenS)[2] then
begin
LLCounter = LLCounter + 1;
HHCounter = 0;
end;

if mp = 0 then
begin
if HHCounter >= StrongInx then
begin
if Longs And Close > Highest(High, LenL)[1] then
begin
Buy («B») Next Bar at Market;
end;
end
else if LLCounter >= StrongInx then
begin
if Shorts And Close < Lowest(Low, LenS)[1] then
begin
Sell («S») Next Bar at Market;
end;
end;
end;

if mp = 1 then
begin
ExitLong («LStop») EntryPrice — StopLoss Stop;
ExitLong («Ltp») EntryPrice + TakeProfit Limit;
end;

if mp = -1 then
begin
ExitShort («SStop») EntryPrice + StopLoss Stop;
ExitShort («Stp») EntryPrice — TakeProfit Limit;
end;

{ SetExitOnClose;}

==============================================



Всё, пробуйте.

p.s. Кавычки, возможно, придётся поменять после копипаста.

★16
6 комментариев
Первый вариант только не правильный, шорт не по верхней границе, а по нижней, т.е. не ловим ножи
avatar
Марсель Тазетдинов, так что можно сказать что появилась еще одна вариация :)
avatar
Марсель Тазетдинов, так там и есть вход в шорт по нижней. Точку не нарисовал. В коде же написано шорт при обновлении мин после череды обновлений макс. (если замечание к рисункам)
avatar
vic_vp, а, сорри, видимо мне что-то показалось не то)
avatar
А чо системку продали без описания алгоритма?
avatar
avatar

теги блога dsl

....все тэги



UPDONW
Новый дизайн