यह रणनीति वेव ट्रेंड इंडिकेटर के आधार पर डिज़ाइन की गई है। वेव ट्रेंड इंडिकेटर प्रभावी रूप से बाजार के रुझानों की पहचान करने और ट्रेडिंग सिग्नल उत्पन्न करने के लिए मूल्य चैनल और चलती औसत को जोड़ती है। यह रणनीति लंबी या छोटी स्थिति में प्रवेश करती है जब वेव ट्रेंड लाइन ओवरबॉय या ओवरसोल्ड स्थिति का प्रतिनिधित्व करने वाले प्रमुख स्तरों को पार करती है।
यह रणनीति वेव ट्रेंड सूचक का उपयोग करके रुझानों और ओवरबॉट / ओवरसोल्ड स्तरों की पहचान करती है, जो रणनीति के बाद एक प्रभावी प्रवृत्ति का गठन करती है। अल्पकालिक थरथरानवाला की तुलना में, वेव ट्रेंड झूठे संकेतों से बचता है और बेहतर स्थिरता प्रदान करता है। उचित जोखिम नियंत्रण विधियों के साथ, यह स्थिर लाभ प्राप्त कर सकता है। मापदंडों और मॉडल ट्यूनिंग से आगे के प्रदर्शन को बढ़ावा देने की उम्मीद की जा सकती है।
/*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")