Трейдинг => Торговые системы => Тема начата: Пиарщик от 06.10.2005 10:31
Название: Перевернутая "Девка-зайчик"
Отправлено: Пиарщик от 06.10.2005 10:31
Я попытался протестировать систему bunny cross system (http://www.investo.ru/forum/viewtopic.php?t=122848) и обнаружил, что хотя сигналы системы и указывают на большие движения, большую часть времени они ведут к убыткам.
Затем мне пришла в голову идея перевернуть сигналы системы и установить жесткую цель 20 пипсов и стоп-лосс - 20 пипсов.
В оригинальной системе мы открываем длинную позицию, когда быстрая WMA пересекает медленную WMA, после чего цена пробивает вверх цену пересечения + фильтровое значение 27 пипсов.
В перевернутой системе мы открываем короткую позицию, когда быстрая WMA пересекает медленную WMA, после чего цена пробивает вверх цену пересечения + фильтровое значение 27 пипсов.
Результат превзошел все ожидания: система превратилась из убыточной в прибыльную. Еще лучшие результаты показала оптимизация системы, почти для всех комбинаций значений была получена прибыль.
Код для WealthLab для 15-минутного графика EUR/USD
if CrossOver( Bar, WMASeries( #Close, #OptVar3 ), WMASeries( #Close, #OptVar4 ) ) then begin offset:=#optvar1/10000; pb:=WMA(Bar, #Close, 20 )+offset; ps:=0; end; if CrossUnder( Bar, WMASeries( #Close, #OptVar3 ), WMASeries( #Close, #OptVar4 ) ) then begin offset:=#optvar2/10000; ps:=WMA(Bar, #Close, 20 )-offset; pb:=0; end; DrawLine( Bar, pb, Bar+10, pb, 0, #Green, #solid ); DrawLine( Bar, ps, Bar+10, ps, 0, #Red, #solid );
if LastPositionActive then begin p := LastPosition;
if LastShortPositionActive then begin CoverAtTrailingStop( Bar + 1, PositionEntryPrice( p ) +20/10000, p, '-20 pips' ); CoverAtLimit( Bar + 1, PositionEntryPrice( p ) -20/10000, p, 'target'); end else begin SellAtTrailingStop( Bar + 1, PositionEntryPrice( p ) -20/10000, p, '-20 pips' ); SellAtLimit( Bar + 1, PositionEntryPrice( p ) +20/10000, p, 'target' ); end
end;
if not LastPositionActive then begin if (pb<>0) then begin if (ShortAtLimit( Bar+1 , pb, 'buy' )) then pb:=0; end ; if (ps<>0) then begin if (BuyAtLimit( Bar+1 , ps, 'stop' )) then ps:=0; end ; end; end;
Во вложенный файлах: кривая прибыли, распределение прибыли, итоги тестирования
Название: Re: Перевернутая "Девка-зайчик"
Отправлено: МИЛЛИОНЕР от 22.11.2007 05:39
Кто готов продиманстрировать на примере? :mrgreen: :mrgreen: :mrgreen:
Название: Re: Перевернутая "Девка-зайчик"
Отправлено: duma от 22.11.2007 07:47