Основная идея этой стратегии заключается в том, чтобы принимать решения о покупке и продаже в сочетании с случайными преобразованиями Фишера и временным остановкой обратного STOCH. Эта стратегия подходит для среднесрочных и краткосрочных операций, которые могут принести хорошую прибыль в стабильных условиях.
Эта стратегия сначала вычисляет стандартный STOCH-индекс, а затем выполняет его преобразование в INVLine. Когда INVLine пересекает нижнюю линию dl, создается сигнал покупки; когда INVLine пересекает верхнюю линию ul, создается сигнал продажи. В то же время в стратегии также установлен механизм отслеживания стоп-лосса для блокирования прибыли и уменьшения убытков.
В частности, ключевая логика этой стратегии заключается в следующем:
Основными преимуществами данной стратегии являются:
Однако есть и другие риски:
Чтобы снизить эти риски, можно рассмотреть возможность оптимизации следующих аспектов:
Эта стратегия может быть оптимизирована в следующих направлениях:
Эта стратегия использует случайные преобразования Фишера и показатель STOCH, чтобы реализовать простую и практичную стратегию количественного количества коротких линий. Ее преимущество заключается в том, что она имеет высокую частоту работы и подходит для более популярных в последнее время высокочастотных количественных сделок. В то же время, в этой стратегии есть некоторые общие риски стратегии технических показателей, требующие оптимизации параметров и фильтрующих условий, снижения риска и повышения стабильности.
/*backtest
start: 2022-12-26 00:00:00
end: 2024-01-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("IFT Stochastic + Trailing Stop", overlay=false, pyramiding = 0, calc_on_order_fills = false, commission_type = strategy.commission.percent, commission_value = 0.0454, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)
//INPUTS
stochlength=input(19, "STOCH Length")
wmalength=input(4, title="Smooth")
ul = input(0.64,step=0.01, title="UP line")
dl = input(-0.62,step=0.01, title="DOWN line")
uts = input(true, title="Use trailing stop")
tsi = input(title="trailing stop actiation pips",defval=245)
tso = input(title="trailing stop offset pips",defval=20)
//CALCULATIONS
v1=0.1*(stoch(close, high, low, stochlength)-50)
v2=wma(v1, wmalength)
INVLine=(exp(2*v2)-1)/(exp(2*v2)+1)
//CONDITIONS
sell = crossunder(INVLine,ul)? 1 : 0
buy = crossover(INVLine,dl)? 1 : 0
//PLOTS
plot(INVLine, color=aqua, linewidth=1, title="STOCH")
hline(ul, color=red)
hline(dl, color=green)
bgcolor(sell==1? red : na, transp=30, title = "sell signal")
bgcolor(buy==1? lime : na, transp=30, title = "buy signal")
plotchar(buy==1, title="Buy Signal", char='B', location=location.bottom, color=white, transp=0, offset=0)
plotchar(sell==1, title="Sell Signal", char='S', location=location.top, color=white, transp=0, offset=0)
//STRATEGY
strategy.entry("BUY", strategy.long, when = buy==1)
strategy.entry("SELL", strategy.short, when = sell==1)
if (uts)
strategy.entry("BUY", strategy.long, when = buy)
strategy.entry("SELL", strategy.short, when = sell)
strategy.exit("Close BUY with TS","BUY", trail_points = tsi, trail_offset = tso)
strategy.exit("Close SELL with TS","SELL", trail_points = tsi, trail_offset = tso)