Многие думают что если стратегия умирает, то она начинает сливать. Либо, наоборот, если стратегия начинает сливать, то она умирает. Но, думаю, это не так. Стратегия в этом случае просто начинает колебаться у нуля, типа генератора случайных действий. Например, как эта:
Почему? Все просто. Кто-то придумывает стратегию, которая подогнана под прошлые данные, особенно, если это стратегия с очень малым количеством сделок. Например, в этой стратегии менее одной сделки в месяц. И публикует ее. Люди копируют код (условия стратегии), начинает торговать, а толку никакого -- ни зарабатывает, ни сливает.
Помню, условия этой стратегии для QQQ появились в 2022 году в Твиттере и потом кто-то закодировал ее в P123. И, с тех пор стратегия больше не зарабатывает, типа сломалась. Но ломается то что находится в работе, а так как в работе она вряд ли находилась, то и нельзя сказать что сломалась. Просто была подгонка под прошлые данные.
Когда-то закодировал ее в WL, даже пытался торговать, но так как долго не было сделок в 2022 году, то забросил. Иногда проверяю старые стратегии, вот и вылезла недавно.
У кого есть WL, могут проверить:
------------------------------------------------
using WealthLab.Backtest;
using System;
using WealthLab.Core;
using WealthLab.Data;
using WealthLab.Indicators;
using System.Collections.Generic;
namespace WealthScript1
{
public class MyStrategy : UserStrategyBase
{
//create indicators and other objects here, this is executed prior to the main trading loop
public override void Initialize(BarHistory bars)
{
ma50 = new SMA(bars.Close, 50);
ma125 = new SMA(bars.Close, 125);
zROC = new ROC(bars.Close, 5);
zRSI = new RSI(bars.Close, 2);
HROC = new Highest(zROC, 5);
}
//execute the strategy rules here, this is executed once for each bar in the backtest history
public override void Execute(BarHistory bars, int idx)
{
if (!HasOpenPosition(bars, PositionType.Long))
{
if (ma50[idx] > ma125[idx])
if (zROC[idx] < zROC[idx -1])
if (HROC[idx] < 0)
PlaceTrade(bars, TransactionType.Buy, OrderType.Market);
}
else
{
if (zRSI[idx] > 70)
PlaceTrade(bars, TransactionType.Sell, OrderType.Market);
}
}
//declare private variables below
private TimeSeries HROC;
private IndicatorBase ma50, ma125, zROC, zRSI ;
}
}

а сколько до этого был процент годовых в среднем по этой стратегии?
ОтветитьУдалитьПримерно 7% с просадкой 8%
Удалить