दोहरी चलती औसत क्रॉसओवर डे ट्रेडिंग वायदा रणनीति


निर्माण तिथि: 2023-11-15 16:48:02 अंत में संशोधित करें: 2023-11-15 16:48:02
कॉपी: 2 क्लिक्स: 683
1
ध्यान केंद्रित करना
1617
समर्थक

दोहरी चलती औसत क्रॉसओवर डे ट्रेडिंग वायदा रणनीति

अवलोकन

यह रणनीति द्वि-समान-रेखा पार के सिद्धांत का उपयोग करती है, एटीआर सूचकांक के साथ मिलकर स्टॉप-लॉस-स्टॉप सेट करती है, व्यापार समय नियंत्रण के साथ, एक रणनीति तैयार करती है जो दिन के व्यापार के लिए उपयुक्त है। रणनीति सरल, समझने में आसान है, और शुरुआती लोगों के लिए उपयुक्त है।

रणनीति सिद्धांत

रणनीति 5 चक्र और 20 चक्र WMA औसत रेखा के क्रॉसिंग का उपयोग करती है प्रवेश संकेत के रूप में। जब 5 चक्र रेखा नीचे से 20 चक्र रेखा को तोड़ती है, तो अधिक करें; जब 5 चक्र रेखा ऊपर से 20 चक्र रेखा को तोड़ती है, तो खाली करें। साथ ही, रणनीति 50 चक्र WMA औसत रेखा का भी उपयोग करती है प्रवृत्ति दिशा का न्याय करने के लिए। केवल तभी व्यापार संकेत उत्पन्न होता है जब कीमत औसत रेखा को तोड़ने की दिशा बड़ी प्रवृत्ति की दिशा के साथ मेल खाती है।

इसके अलावा, रणनीति एटीआर सूचक का उपयोग करती है ताकि स्टॉपलॉस को रोक दिया जा सके। एटीआर सूचक गतिशील रूप से बाजार में उतार-चढ़ाव की मात्रा को दर्शाता है। रणनीति एटीआर सूचक के मूल्य को एक गुणांक से गुणा करती है (जैसे 3 गुना) ताकि स्टॉपलॉस को रोक दिया जा सके, जिससे एकल नुकसान को नियंत्रित किया जा सके।

अंत में, रणनीति केवल अमेरिकी व्यापारिक समय (9:00-14:30 सीएसटी) के दौरान ट्रेडिंग सिग्नल को ट्रिगर करने के लिए सीमित है। यह बाजार के उद्घाटन और समापन के दौरान व्यापार करने से बचा जाता है, क्योंकि इन दो समय के दौरान अधिक उतार-चढ़ाव होता है, जो झूठे संकेतों के लिए आसान होता है।

श्रेष्ठता विश्लेषण

इस रणनीति के निम्नलिखित फायदे हैं:

  1. दोहरे समरेखा क्रॉसिंग का उपयोग करके, समय पर प्रवेश करने के लिए ट्रेंड टर्नओवर को प्रभावी ढंग से कैप्चर किया जा सकता है

  2. बड़े रुझानों को पहचानने के लिए कुछ शोर ट्रेडिंग सिग्नल को फ़िल्टर करें, और विपरीत संचालन से बचें।

  3. एटीआर संकेतक को लागू करें गतिशील रूप से स्टॉप लॉस को समायोजित करने के लिए स्टॉप लॉस की स्थिति को प्रभावी ढंग से नियंत्रित करने के लिए।

  4. बाजार के खुलने और बंद होने के समय में भारी उतार-चढ़ाव से बचने के लिए व्यापार के समय को सीमित करें।

  5. रणनीति सरल, स्पष्ट, समझने और लागू करने में आसान है, और शुरुआती लोगों के लिए उपयुक्त है।

  6. अनुकूलित पैरामीटर, जैसे औसत चक्र, एटीआर गुणांक, व्यापार समय, आदि, अनुकूलन रणनीति।

जोखिम विश्लेषण

इस रणनीति के साथ निम्नलिखित जोखिम भी हैं:

  1. भूकंपीय घटनाओं के दौरान, अधिक नुकसान हो सकता है।

  2. दो समरेखा पार करने में कुछ देरी होती है, और एक छोटी रेखा को तोड़ने से चूक सकते हैं।

  3. एटीआर पैरामीटर को गलत तरीके से सेट करने से स्टॉप लॉस बहुत बड़ा या बहुत छोटा हो सकता है।

  4. केवल तकनीकी संकेतकों पर भरोसा करना, बुनियादी जानकारी को नजरअंदाज करना।

  5. ट्रेडों की गलत किस्मों और समय-सीमाओं से रणनीति प्रभावित हो सकती है।

  6. मैकेनिकल ट्रेडिंग सिस्टम को लीवरेज होने का खतरा है।

  7. विभिन्न ट्रेडिंग समय के लिए पैरामीटर को समायोजित करने की आवश्यकता होती है।

यह पैरामीटर अनुकूलन, सूचकांक संयोजन और उचित मानव हस्तक्षेप के माध्यम से सुधार की आवश्यकता है।

अनुकूलन दिशा

इस रणनीति को निम्नलिखित पहलुओं से अनुकूलित किया जा सकता हैः

  1. EMA, DMA, आदि जैसे अलग-अलग समान-रेखा प्रणाली का प्रयास करें।

  2. अन्य तकनीकी संकेतक फ़िल्टर जोड़ें, जैसे कि MACD, RSI, आदि।

  3. एटीआर मापदंडों को अनुकूलित करें ताकि स्टॉप लॉस स्टॉप को अधिक उचित बनाया जा सके।

  4. ट्रेड वॉल्यूम इंडिकेटर के साथ एक कुशल प्रवेश बिंदु ढूंढें।

  5. विभिन्न किस्मों की विशेषताओं के अनुसार पैरामीटर को समायोजित करें

  6. मूलभूत तत्वों के संयोजन के साथ, बाजार-विरोधी कार्यों से बचें

  7. मशीन सीखने के घटकों को जोड़ना, डेटा को मॉडलिंग करने के लिए तंत्रिका नेटवर्क का उपयोग करना।

  8. यह एक ऐसा समय है जब हम अपने व्यापार के अवसरों के बारे में बात कर रहे हैं।

  9. स्थिरता बढ़ाने के लिए रणनीति का निर्माण करना।

संक्षेप

इस रणनीति के समग्र सरल है, और शुरुआती के लिए उपयुक्त है वास्तविक अभ्यास. लेकिन यह भी एक बड़ा अनुकूलन के लिए जगह छोड़ देता है, और अधिक तकनीकी संकेतकों या मशीन सीखने के तरीकों को पूरा करने के लिए पेश किया जा सकता है. इसके अलावा, विभिन्न ट्रेडिंग किस्मों की विशेषताओं और बाजार की स्थिति के अनुसार पैरामीटर को समायोजित करने के लिए भी महत्वपूर्ण है. संक्षेप में, इस रणनीति को मात्रात्मक व्यापार के शुरुआती के लिए एक संदर्भ फ्रेमवर्क प्रदान करता है, लेकिन यह भी परीक्षण और वास्तविक स्थिति के आधार पर लगातार अनुकूलन की आवश्यकता है, स्थिर लाभ प्राप्त करने के लिए.

रणनीति स्रोत कोड
/*backtest
start: 2023-10-15 00:00:00
end: 2023-11-14 00:00:00
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/
// © james4392010

//@version=4

strategy(title="DayTradingFutures Cross-Strategy", overlay=true)




// === GENERAL INPUTS ===
Periods = input(title="ATR Period", type=input.integer, defval=10)
src = input(hl2, title="Source")
Multiplier = input(title="ATR Multiplier", type=input.float, step=0.1, defval=3.0)
changeATR= input(title="Change ATR Calculation Method ?", type=input.bool, defval=true)
showsignals = input(title="Show Buy/Sell Signals ?", type=input.bool, defval=true)
//highlighting = input(title="Highlighter On/Off ?", type=input.bool, defval=true)
atr2 = sma(tr, Periods)
atr= changeATR ? atr(Periods) : atr2
up=src-(Multiplier*atr)
up1 = nz(up[1],up)
up := close[1] > up1 ? max(up,up1) : up
dn=src+(Multiplier*atr)
dn1 = nz(dn[1], dn)
dn := close[1] < dn1 ? min(dn, dn1) : dn



wmaFastSource   = input(defval = close, title = "Fast WMA Source")
wmaFastLength   = input(defval = 5, title = "Fast WMA Period")
wmaSlowSource   = input(defval = close, title = "Slow WMA Source")
wmaSlowLength   = input(defval = 20, title = "Slow WMA Period")
wmaDirectionSource  = input(defval = close, title = "Trend 50 Period Source")
wmaDirectionLength  = input(defval = 50, title = "Trend 50 Period")
timeinrange(res, sess) => time(res, sess) != 0



// === SERIES SETUP ===
/// a couple of ma's..
wmaFast = wma(close, 5)
wmaSlow = wma(close, 20)
wmaDirection = wma(close, 50)





// === PLOTTING ===
fast = plot(series=wmaFast, color=color.white, linewidth=2)
slow = plot(series=wmaSlow, color=color.yellow, linewidth=2)
direction = plot(series=wmaDirection, color=color.red, linewidth=2)


// === INPUT BACKTEST RANGE ===

//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 = 2022, title = "From Year", minval = 2022)
 
// To Date Inputs
//toDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
//toMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
//toYear = input(defval = 2022, title = "To Year", minval = 2022)
//startDate = timestamp(fromYear, fromMonth, fromDay)
//finishDate = timestamp(toYear, toMonth, toDay)
//inDateRange= (time >= fromDay, fromMonth, fromYear and time <= toDay, toMonth, toYear) 



// === FUNCTION EXAMPLE ===
//inDateRange = (time >= fromDay, fromMonth, fromYear) and (time <= toDay, toMonth, toYear)


// === LOGIC ===

enterLong = crossover(wmaFast, wmaSlow) and close > wmaDirection and timeinrange(timeframe.period, "0900-1430")
enterShort = crossunder(wmaFast, wmaSlow) and close < wmaDirection and timeinrange(timeframe.period, "0900-1430")

//trend := nz(trend[1], trend)
//trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend
//upPlot = plot(trend == 1 ? up : na, title="Up Trend", style=plot.style_linebr, linewidth=2, color=color.green)

buySignal = enterLong 
//plotshape(enterLong ? up : na, title="UpTrend Begins", location=location.absolute, style=shape.circle, size=size.tiny, color=color.green)
plotshape(enterLong and showsignals ? up : na, title="Buy", text="Buy", location=location.absolute, style=shape.labelup, size=size.tiny, color=color.green, textcolor=color.white)
//dnPlot = plot(trend == 1 ? na : dn, title="Down Trend", style=plot.style_linebr, linewidth=2, color=color.red)

sellSignal = enterShort
//plotshape(enterShort ? dn : na, title="DownTrend Begins", location=location.absolute, style=shape.circle, size=size.tiny, color=color.red)
plotshape(enterShort and showsignals ? dn : na, title="Sell", text="Sell", location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.red, textcolor=color.white)
//mPlot = plot(ohlc4, title="", style=plot.style_circles, linewidth=0)
//longFillColor = highlighting ? (trend == 1 ? color.green : color.white) : color.white
//shortFillColor = highlighting ? (trend == -1 ? color.red : color.white) : color.white
//fill(mPlot, upPlot, title="UpTrend Highligter", color=longFillColor)
//fill(mPlot, dnPlot, title="DownTrend Highligter", color=shortFillColor)
alertcondition(buySignal, title="Buy", message="Buy!")
alertcondition(sellSignal, title="Sell", message="Sell!")
//changeCond = trend != trend[1]
//alertcondition(changeCond, title="SuperTrend Direction Change", message="SuperTrend has changed direction!")



// Entry for strategy //

//tp=input(25,title="TakeProfit")
//sl=input(40,title="StopLoss")

strategy.entry("Long",1, when=buySignal)
//strategy.exit("Exit",profit=tp,loss=sl)
//strategy.exit("TakeProfit",profit=tp)
//strategy.exit("StopLoss",loss=sl)

strategy.entry("Short",1, when=sellSignal)
//strategy.exit("Exit",profit=tp,loss=sl)
//strategy.exit("TakeProfit",profit=tp)
//strategy.exit("StopLoss",loss=sl)
//strategy.exit("Exit", wmaFastwmaSlow)

//Buy and Sell Signals

//strategy.close_all(when =not timeinrange(timeframe.period, "1000-1430"))   


// === FILL ====

fill (fast, slow, color = wmaSlow > wmaDirection ? color.green : color.red)
//fill(when=enterLong, tp, color = color.new(color.green, 90), title = "Profit area")
//fill(when=enterLong, sl, color = color.new(color.red, 90), title = "Loss area")
//fill(when=enterShort, tp, color = color.new(color.green, 90), title = "Profit area")
//fill(when=enterShort, sl, color = color.new(color.red, 90), title = "Loss area")