
Cette stratégie utilise la ligne de séparation dorée de la ceinture de Brin pour effectuer des transactions de régression combinées à un jugement de forme uniforme. Lorsqu’un prix touche la ligne de séparation dorée de la ceinture de Brin, il est considéré comme un signal d’achat et profite de la caractéristique de régression équilibrée du prix.
L’utilisation de vWMA plutôt que de SMA comme voie médiane de la courbe de Brin permet de mieux refléter les tendances de déplacement des prix
La division en or est une zone de support/résistance importante, qui fournit une base pour la reprise
La ligne moyenne est composée de plusieurs têtes pour assurer une tendance à la hausse.
Le stop-loss fixe assure le contrôle des pertes individuelles
La ligne de partage de l’or n’est pas un support bien défini, le prix pourrait tomber directement
Les arrêts fixes peuvent être trop arbitraires et doivent être adaptés en fonction des fluctuations du marché.
La mise en place d’un alignement en ligne moyenne peut aussi être une fausse percée, et doit être jugée en combinant plus d’indicateurs
La longueur du retour est incertaine, il faut définir un point de départ raisonnable.
On peut tester différentes combinaisons de paramètres, comme le cycle de la bande de Bryn, le multiple de l’écart-type, le pourcentage de stop-loss fixe, etc.
Des indicateurs supplémentaires peuvent être ajoutés pour déterminer les tendances du marché et la probabilité de reprise, comme le MACD, le KD, etc.
Les stop-loss dynamiques peuvent être considérés, selon le stop-loss ATR ou le stop-loss suivi
Optimiser les stratégies de freinage, telles que les freins mobiles ou les freins par lots
Cette stratégie utilise la ligne de fractionnement de l’or de Brin pour effectuer des transactions de régression équilibrées, avec des avantages tels que la clarté de la logique de négociation, la simplicité de la définition des paramètres et la possibilité de revenir en arrière. Cependant, il existe un certain risque.
/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © mohanee
//@version=4
strategy(title="Bollinger Band with Fib Golden Ratio (0.618)", shorttitle="Bollinger Band with Fib Golden Ratio" , overlay=true, pyramiding=1, default_qty_type=strategy.percent_of_equity, default_qty_value=20, initial_capital=10000, currency=currency.USD)
length = input(50,title="BB Length" , minval=1)
src1 = input(hlc3, title="Source")
//mult1 = input(1.33, minval=0.001, maxval=50)
mult = input(1.5,title="multplier", minval=0.001, maxval=50)
stopLoss=input(5,title="Stop Loss",minval=1)
basis = vwma(src1, length)
dev = mult * stdev(src1, length)
//dev3 = mult3 * stdev(src, length)
upper_618= basis + (0.618*dev)
lower_618= basis - (0.618*dev)
//lower_618_dev3= basis - (0.618*dev3)
plot_upper618= plot(upper_618, color=color.purple, linewidth=2, title="0.618")
plot(basis, color=color.purple,style=plot.style_circles, linewidth=2)
plot_lower618= plot(lower_618, color=color.purple, linewidth=2, title="0.618 entry")
//plot_lower618_dev3= plot(lower_618_dev3, color=color.red, linewidth=1, title="0.618 stop")
//plot_lower618= plot(lower_618, color=color.purple, linewidth=1, title="0.618 entry")
ema200=ema(close,200)
ema50=ema(close,50)
plot (ema200, title="ema200", color=color.orange, linewidth=2)
plot (ema50, title="ema50", color=color.blue , linewidth=2)
longCondition= ema50 > ema200
strategy.entry(id="BB_Fib618", long=true, when = longCondition and ( close < lower_618 or low <= lower_618) )
strategy.close(id="BB_Fib618", comment="points="+tostring(close - strategy.position_avg_price, "###.##") , when = strategy.position_size >= 1 and crossover(close,upper_618 ))
//stoploss exit
stopLossVal = strategy.position_size>=1 ? strategy.position_avg_price * ( 1 - (stopLoss/100) ) : 0.00
strategy.close(id="BB_Fib618", comment="SL="+tostring(close - strategy.position_avg_price, "###.##"), when=abs(strategy.position_size)>=1 and close < stopLossVal ) //and close > strategy.position_avg_price )