
La stratégie est un système de trading auto-adaptatif basé sur le canal de Brin, qui gère les positions en surveillant dynamiquement la relation entre les prix et les bandes de Brin. La stratégie utilise la moyenne des 20 jours comme voie médiane et deux fois l’écart-type comme largeur du canal, combinée à une confirmation de rupture et à un jugement sur les cycles de temps pour déclencher des signaux de trading et optimiser la configuration des fonds.
Les stratégies utilisent les principes statistiques du canal de Brin pour contrôler les fluctuations des prix dans une plage de distribution normale. Elles comprennent:
La stratégie établit un système de négociation complet par le biais d’une analyse des canaux de Brin et des cycles de temps, en équilibrant le suivi des tendances et la maîtrise des risques. Bien qu’il existe un certain espace d’optimisation, l’idée de conception globale est conforme aux principes centraux de la négociation quantifiée et a une valeur d’application pratique.
/*backtest
start: 2024-11-11 00:00:00
end: 2024-12-10 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Bollinger Bands Strategy", overlay=true)
// 設定布林通道
length = 20
source = close
mult = 2.0
basis = ta.sma(source, length)
dev = mult * ta.stdev(source, length)
upper = basis + dev
lower = basis - dev
// 畫出布林通道
plot(upper, color=color.red, linewidth=1)
plot(basis, color=color.blue, linewidth=1)
plot(lower, color=color.green, linewidth=1)
// 設定買入條件:突破布林通道高點5%或持續1小時在高點上方
breakout_level = upper * 1.01
hour_breakout = ta.change(time("60")) == 1 and close > upper
buy_condition = (close > breakout_level or hour_breakout)
if (buy_condition)
strategy.entry("Buy", strategy.long, qty=0.5)
// 設定賣出條件:第一次回測中線、跌破低點5%或回升中線
sell_10_condition = ta.crossover(close, basis) and strategy.opentrades > 0
sell_50_condition = close < lower * 0.95
// 賣出10%現貨
if (sell_10_condition)
strategy.close("Buy", qty=0.1)
// 賣出50%現貨
if (sell_50_condition)
strategy.close("Buy", qty=0.5)
// 監控買入與賣出信號
plotshape(series=buy_condition, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal")
plotshape(series=sell_10_condition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell 10% Signal")
plotshape(series=sell_50_condition, location=location.abovebar, color=color.blue, style=shape.labeldown, title="Sell 50% Signal")