La stratégie de force relative comparative génère des transactions en comparant la force relative de deux marchés.
La logique est la suivante:
Sélectionnez le marché de comparaison, par exemple une action
Choisir le marché de référence, par exemple l'indice S&P 500
Ratio de calcul du marché de comparaison par rapport à l'indice de référence
Passer à long la comparaison lorsque le ratio dépasse le niveau de surachat
Aller court lorsque le ratio tombe en dessous de la zone de survente
Définir la ligne de rebond pour fermer les positions lorsque le prix chute
En comparant la force relative, la stratégie vise à détecter les opportunités sous-évaluées et à éviter les conditions surévaluées.
Comparaison de la force relative pour trouver une sous-évaluation
La ligne de rebond évite de courir après les tendances
Des règles simples et claires
Sélection des besoins de référence appropriés
Les zones surachetées/survendues nécessitent une optimisation
LONG/SHORT ne fait que manquer toutes les opportunités
La stratégie de force relative identifie les chances d'arbitrage en comparant deux marchés, mais les stratégies de réglage des paramètres et de stop nécessitent une évaluation prudente.
/*backtest start: 2022-09-07 00:00:00 end: 2023-09-13 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 10/03/2017 // Comparative Relative Strength Strategy for ES // // You can change long to short in the Input Settings // Please, use it only for learning or paper trading. Do not for real trading. //////////////////////////////////////////////////////////// strategy("Comparative Relative Strength Strategy", shorttitle="CRS") a = syminfo.tickerid b = input("BTC_USDT:swap") len = input(10) BuyBand = input(0.9988, step = 0.0001) SellBand = input(0.9960, step = 0.0001) CloseBand = input(0.9975, step = 0.0001) reverse = input(false, title="Trade reverse") hline(CloseBand, color=blue, linestyle=hline.style_dashed) hline(SellBand, color=red, linestyle=hline.style_solid) hline(BuyBand, color=green, linestyle=hline.style_solid) as = security(a, timeframe.period, close) bs = security(b, timeframe.period, close) nRes = sma(as/bs, len) pos = iff(nRes > BuyBand, 1, iff(nRes < SellBand, -1, iff(pos[1] == 1 and nRes < CloseBand, 0, iff(pos[1] == -1 and nRes > CloseBand, 0, nz(pos[1], 0))))) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1, 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) if (possig == 0) strategy.close("Long", when = possig == 0) strategy.close("Short", when = possig == 0) barcolor(possig == -1 ? red: possig == 1 ? green : blue ) plot(as/bs, title="CRS", color=gray) plot(nRes, color=navy)