
Cette stratégie est une stratégie de suivi des tendances de crypto-monnaie basée sur l’indicateur de la marée noire. Elle utilise des moyennes mobiles indicielles de deux périodes différentes et des indicateurs de la marée noire combinés avec plusieurs conditions pour générer des signaux de négociation.
La stratégie utilise la moyenne des EMA de 50 cycles et de 100 cycles. En même temps, elle calcule la courbe de la marée, une courbe spéciale qui filtre le bruit du marché. La stratégie utilise les prix d’ouverture, de clôture, de sommet et de bas de la courbe de la marée et l’applique à la courbe des EMA de 100 cycles pour un signal de négociation plus précis.
Concrètement, lorsque le prix d’ouverture d’une ligne de 100 cycles est supérieur au prix de clôture et que le prix d’ouverture de la ligne K supérieure est inférieur au prix de clôture, c’est un signal de survente. Au contraire, lorsque le prix d’ouverture d’une ligne de 100 cycles est inférieur au prix de clôture et que le prix d’ouverture de la ligne K supérieure est supérieur au prix de clôture, c’est un signal de vide.
La stratégie, qui combine le système de double EMA et l’indicateur du tsunami, est conçue pour saisir les opportunités en temps opportun lorsque des tendances de longueur moyenne se forment. Elle utilise l’indicateur du tsunami pour filtrer le bruit du marché à court terme et rendre les signaux de négociation plus fiables.
Pour réduire le risque, il est possible de réduire le stop loss de manière appropriée, ou de considérer un renversement de tendance en combinaison avec d’autres indicateurs. La stratégie peut également être suspendue lorsque le marché entre dans une zone de choc et attendre la formation d’une nouvelle tendance.
Cette stratégie peut également être optimisée dans les directions suivantes:
La stratégie de suivi de la tendance des crypto-monnaies basée sur l’indicateur de coquillages, qui prend en compte de nombreux aspects du jugement de la tendance, du moment d’entrée et du contrôle des pertes, est bien adaptée à cette variété de crypto-monnaie à forte volatilité. La stratégie, en utilisant le filtrage du bruit de l’indicateur de coquillages et en adoptant une méthode de contrôle du risque robuste, est en mesure de saisir efficacement les opportunités de négociation offertes par la tendance des prix de la ligne moyenne et longue. La performance de la stratégie peut être grandement améliorée si les paramètres de configuration, le choix de l’indicateur et les méthodes de contrôle du risque sont optimisés.
/*backtest
start: 2023-01-12 00:00:00
end: 2024-01-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//@SoftKill21
strategy(title="CRYPTO HA Strategy", shorttitle="CRYPTO HA Strategy", overlay=true , default_qty_type =strategy.percent_of_equity, default_qty_value =100, commission_type= strategy.commission.percent,commission_value =0.1 )
ma1_len = input(50)
ma2_len = input(100)
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2020, title = "From Year", minval = 1970)
//monday and session
// To Date Inputs
toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2020, title = "To Year", minval = 1970)
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
//First Moving Average data
o = ema(open, ma1_len)
c = ema(close, ma1_len)
h = ema(high, ma1_len)
l = ema(low, ma1_len)
// === HA calculator ===
ha_t = heikinashi(syminfo.tickerid)
ha_o = security(ha_t, timeframe.period, o)
ha_c = security(ha_t, timeframe.period, c)
ha_h = security(ha_t, timeframe.period, h)
ha_l = security(ha_t, timeframe.period, l)
//Second Moving Average data
o2 = ema(ha_o, ma2_len)
c2 = ema(ha_c, ma2_len)
h2 = ema(ha_h, ma2_len)
l2 = ema(ha_l, ma2_len)
// === Color def ===
ha_col = o2 > c2 ? color.white : color.lime
sell = o2 > c2 and o2[1] < c2[1] and time_cond
buy = o2 < c2 and o2[1] > c2[1] and time_cond
plotshape(buy, color=color.green, text= "Buy", location= location.belowbar,style= shape.labelup, textcolor=color.white, size = size.tiny, title="Buy Alert",editable=false, transp=60)
plotshape(sell, color=color.red, text= "Sell", location= location.abovebar,style= shape.labeldown, textcolor=color.white, size = size.tiny, title="Sell Alert", editable=false, transp=60)
trendColor = buy ? color.red : sell ? color.green : na
plot( buy ? close: sell ? close : na , color=trendColor, style=plot.style_line, linewidth=4, editable=false)
onlylong=input(true)
original=input(false)
if(onlylong)
strategy.entry("long",1,when=buy)
strategy.close("long",when=sell)
if(original)
strategy.entry("long",1,when=buy)
strategy.entry("short",0,when=sell)
sl = input(0.075)
strategy.exit("closelong", "long" , loss = close * sl / syminfo.mintick, alert_message = "sl point")
strategy.exit("closeshort", "short" , loss = close * sl / syminfo.mintick, alert_message = "sl point")