
Cette stratégie est basée sur la conception de l’indicateur de tendance de la vague. L’indicateur de tendance de la vague, combiné avec le canal de prix et la moyenne, permet d’identifier efficacement la tendance du marché et d’émettre des signaux d’achat et de vente.
Cette stratégie est basée sur l’indicateur de tendance de la vague, qui détermine les tendances de survente et de survente. C’est une stratégie de suivi de tendance efficace. Par rapport aux indicateurs à court terme, l’indicateur de tendance de la vague réduit les signaux erronés et améliore la stabilité.
/*backtest
start: 2023-11-20 00:00:00
end: 2023-11-27 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@author SoftKill21
//@version=4
strategy(title="WaveTrend strat", shorttitle="WaveTrend strategy")
n1 = input(10, "Channel Length")
n2 = input(21, "Average Length")
Overbought = input(70, "Over Bought")
Oversold = input(-30, "Over Sold ")
// BACKTESTING RANGE
// From Date Inputs
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 = 2001, title = "From Year", minval = 1970)
// To Date Inputs
toDay = input(defval = 1, 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)
// Calculate start/end date and time condition
DST = 1 //day light saving for usa
//--- Europe
London = iff(DST==0,"0000-0900","0100-1000")
//--- America
NewYork = iff(DST==0,"0400-1500","0500-1600")
//--- Pacific
Sydney = iff(DST==0,"1300-2200","1400-2300")
//--- Asia
Tokyo = iff(DST==0,"1500-2400","1600-0100")
//-- Time In Range
timeinrange(res, sess) => time(res, sess) != 0
london = timeinrange(timeframe.period, London)
newyork = timeinrange(timeframe.period, NewYork)
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true //and (london or newyork)
ap = hlc3
esa = ema(ap, n1)
d = ema(abs(ap - esa), n1)
ci = (ap - esa) / (0.015 * d)
tci = ema(ci, n2)
wt1 = tci
wt2 = sma(wt1,4)
plot(0, color=color.gray)
plot(Overbought, color=color.red)
plot(Oversold, color=color.green)
plot(wt1, color=color.green)
longButton = input(title="Long", type=input.bool, defval=true)
shortButton = input(title="Short", type=input.bool, defval=true)
if(longButton==true)
strategy.entry("long",1,when=crossover(wt1,Oversold) and time_cond)
strategy.close("long",when=crossunder(wt1, Overbought))
if(shortButton==true)
strategy.entry("short",0,when=crossunder(wt1, Overbought) and time_cond)
strategy.close("short",when=crossover(wt1,Oversold))
//strategy.close_all(when= not (london or newyork),comment="time")
if(dayofweek == dayofweek.friday)
strategy.close_all(when= timeinrange(timeframe.period, "1300-1400"), comment="friday")