
Cette stratégie génère un signal de transaction en calculant le croisement des moyennes mobiles de Haines et d’Athos, et en combinant le MACD comme condition de filtrage, pour réaliser un système de transaction relativement stable.
La stratégie de Haines et Aries de cette version V3, qui génère des signaux de transaction en calculant le croisement des moyennes mobiles de Haines et Aries, et qui intègre le MACD comme condition de filtrage, est considérablement améliorée par rapport aux versions V1 et V2.
Dans l’ensemble, la stratégie présente les avantages suivants:
L’hydroxyde d’alcool est efficace pour filtrer le bruit du marché, ce qui rend le signal de croisement de la moyenne mobile plus clair et plus fiable.
En utilisant une combinaison d’équilibre rapide et lent, vous pouvez éviter d’être trompé par une fausse percée d’un seul équilibre.
L’ajout d’un filtre MACD permet d’éviter les faux signaux et d’améliorer la précision des entrées.
L’utilisation d’une ligne moyenne de différentes périodes permet la confirmation de plusieurs périodes, ce qui améliore la fiabilité du signal.
Le calcul de la ligne moyenne en utilisant le théorème de Haine permet de réduire les rétractions provoquées par la ligne K ordinaire.
Les paramètres de la stratégie sont raisonnables, la fréquence d’opération est modérée et les gains sont stables sans avoir besoin de transactions à haute fréquence.
Mais cette stratégie comporte aussi des risques à prendre en compte:
Dans une situation de choc, il peut y avoir des transactions répétitives qui modifient plusieurs fois la position.
Le MACD peut également être défectueux en tant qu’indicateur de filtrage, ce qui entraîne la production de faux signaux.
Les systèmes linéaires sont sensibles aux paramètres et doivent être soigneusement testés pour déterminer la meilleure combinaison de paramètres.
Les détenteurs de positions à long terme doivent être attentifs aux événements majeurs qui peuvent survenir.
Il est encore nécessaire de juger manuellement les tendances à grande échelle pour éviter les pertes causées par les transactions négatives.
Dans l’ensemble, cette stratégie est une stratégie de ligne égale plus mature qui permet d’obtenir des rendements d’investissement stables si les paramètres sont ajustés de manière raisonnable. Cependant, les traders doivent toujours être attentifs aux risques, ajuster leur position au moment opportun et utiliser cette stratégie en combinaison avec le jugement de la tendance.
/*backtest
start: 2023-09-24 00:00:00
end: 2023-10-24 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
//Heiken-Ashi Strategy V3 by wziel
// strategy("Heiken-Ashi Strategy V3",shorttitle="WZIV3",overlay=true,default_qty_value=10000,initial_capital=10000,currency=currency.USD)
res = input(title="Heikin Ashi Candle Time Frame", defval="60")
hshift = input(1,title="Heikin Ashi Candle Time Frame Shift")
res1 = input(title="Heikin Ashi EMA Time Frame", defval="180")
mhshift = input(0,title="Heikin Ashi EMA Time Frame Shift")
fama = input(1,"Heikin Ashi EMA Period")
test = input(1,"Heikin Ashi EMA Shift")
sloma = input(30,"Slow EMA Period")
slomas = input(1,"Slow EMA Shift")
macdf = input(false,title="With MACD filter")
res2 = input(title="MACD Time Frame", defval="15")
macds = input(1,title="MACD Shift")
//Heikin Ashi Open/Close Price
ha_t = heikinashi(syminfo.tickerid)
ha_open = security(ha_t, res, open[hshift])
ha_close = security(ha_t, res, close[hshift])
mha_close = security(ha_t, res1, close[mhshift])
//macd
[macdLine, signalLine, histLine] = macd(close, 12, 26, 9)
macdl = security(ha_t,res2,macdLine[macds])
macdsl= security(ha_t,res2,signalLine[macds])
//Moving Average
fma = ema(mha_close[test],fama)
sma = ema(ha_close[slomas],sloma)
plot(fma,title="MA",color=lime,linewidth=2,style=line)
plot(sma,title="SMA",color=red,linewidth=2,style=line)
//Strategy
golong = crossover(fma,sma) and (macdl > macdsl or macdf == false )
goshort = crossunder(fma,sma) and (macdl < macdsl or macdf == false )
strategy.entry("Buy",strategy.long,when = golong)
strategy.entry("Sell",strategy.short,when = goshort)