
द्विआधारी ट्रेडिंग रणनीति तेजी से चलती औसत और धीमी गति से चलती औसत की गणना करके और दो चलती औसत के क्रॉसिंग के आधार पर एक ट्रेडिंग सिग्नल उत्पन्न करती है। जब तेजी से चलती औसत पर धीमी गति से चलती औसत को पार करते हैं, तो एक बहुमुखी रणनीति का उपयोग करें; जब तेजी से चलती औसत के नीचे धीमी गति से चलती औसत को पार करते हैं, तो एक शून्य रणनीति का उपयोग करें। यह रणनीति ट्रेंडिंग ट्रेडिंग के लिए भी इस्तेमाल की जा सकती है, लेकिन इसे उल्टा ट्रेडिंग के लिए भी इस्तेमाल किया जा सकता है।
इस रणनीति में सबसे पहले तेज चलती औसत की लंबाई maFastLength और धीमी चलती औसत की लंबाई maSlowLength निर्धारित की जाती है। इसके बाद तेज चलती औसत (fastMA) और धीमी चलती औसत (slowMA) की गणना की जाती है। तेज चलती औसत मूल्य परिवर्तनों के प्रति अधिक संवेदनशील होता है और इसका उपयोग वर्तमान रुझानों को निर्धारित करने के लिए किया जाता है; धीमी चलती औसत मूल्य परिवर्तनों के प्रति अधिक धीमी प्रतिक्रिया देता है और इसका उपयोग रुझानों की दिशा निर्धारित करने के लिए किया जाता है।
जब तेजी से चलती औसत पर धीमी गति से चलती औसत के माध्यम से कूद, एक goLong () संकेत उत्पन्न करने के लिए बहु-नीति का उपयोग करें। जब तेजी से चलती औसत के नीचे धीमी गति से चलती औसत के माध्यम से कूद, एक बहु-नीति का उपयोग करें, एक killLong () संकेत उत्पन्न करें।
केवल बहु-नीति longonly, केवल लघु-नीति shorting, या द्वि-दिशात्मक व्यापार स्वैपिंग को चुनें।
जब आप बहु-नीति करते हैं, तो goLong () सिग्नल आने पर अधिक स्थिति खोलें; जब आप killLong () सिग्नल आने पर कम स्थिति रखें।
जब आप एक लंबी रणनीति बनाते हैं, तो आप एक लंबी स्थिति को खोलने के लिए एक लंबी स्थिति को खोलने के लिए एक लंबी स्थिति को खोलने के लिए एक लंबी स्थिति को खोलने के लिए एक लंबी स्थिति को खोलने के लिए एक लंबी स्थिति को खोलें।
द्वि-दिशात्मक व्यापार के लिए, गोलॉन्ग () सिग्नल के बाद अधिक स्थिति खोलें; किललॉन्ग () सिग्नल के बाद अधिक स्थिति और खाली स्थिति खोलें।
इसके अलावा, रणनीतियों में स्टॉप लॉस, स्टॉप लॉस ट्रैकिंग और ट्रेडिंग नोटिफिकेशन जैसी सुविधाएं हैं, जो लचीले ढंग से उपयोग की जा सकती हैं।
रणनीति को समझना और लागू करना आसान है।
आप चुन सकते हैं कि आप अधिक, कम या दोतरफा व्यापार करना चाहते हैं।
स्टॉप लॉस और स्टॉप लॉस ट्रैकिंग जैसी जोखिम प्रबंधन सुविधाओं का उपयोग करने के लिए लचीला विकल्प।
आप अपने व्यापार के बारे में जानकारी को अनुकूलित कर सकते हैं और वास्तविक समय में अपने व्यापार के बारे में सूचित कर सकते हैं।
धीमी गति से औसत रेखा रणनीति बाजार के रुझानों के परिवर्तन के प्रति संवेदनशील है और मजबूत रुझानों को पकड़ सकती है।
रणनीति के पैरामीटर को विभिन्न बाजारों के लिए समायोजित किया जा सकता है।
जब बाजार में कोई स्पष्ट प्रवृत्ति नहीं होती है, तो अधिक झूठे संकेत दिखाई दे सकते हैं, जिससे ओवरट्रेडिंग हो सकती है।
एक समान-रेखा प्रणाली आकस्मिक घटनाओं के प्रति संवेदनशील नहीं है और आकस्मिक अवसरों को याद कर सकती है।
औसत-रेखा मापदंडों का उचित चयन करना आवश्यक है, और गलत मापदंडों का चयन रणनीति के प्रभाव को प्रभावित कर सकता है।
इस प्रकार, व्यापारियों को अपनी इच्छा के अनुसार व्यापार करने से बचने के लिए रणनीतिक संकेतों का कड़ाई से पालन करना होगा।
रणनीतिक लाभप्रदता पर लेनदेन लागत के प्रभाव पर ध्यान देने की आवश्यकता है।
ट्रेडिंग सिग्नल को सत्यापित करने के लिए आरएसआई जैसे अन्य संकेतकों को पेश किया जा सकता है ताकि गलत सिग्नल से बचा जा सके।
पैरामीटर अनुकूलन फ़ंक्शन सेट किया जा सकता है, जो स्वचालित रूप से सबसे अच्छा पैरामीटर संयोजन ढूंढता है
एक गतिशील रोक लाभ को लॉक करने के लिए सेट किया जा सकता है, और जब आवश्यक हो तो रोक को समायोजित करें।
इस प्रकार, एक मशीन लर्निंग मॉडल को ट्रेंड की दिशा का आकलन करने में मदद करने के लिए जोड़ा जा सकता है।
आप अपने व्यापारिक व्यवहार के अनुरूप सूचनाओं के संकेतों को अनुकूलित कर सकते हैं।
द्विध्रुवीय ट्रेडिंग रणनीतियाँ समग्र रूप से सरल और व्यावहारिक हैं, जो बाजार की प्रवृत्ति में परिवर्तन के लिए अधिक संवेदनशील हैं, जो मजबूत प्रवृत्ति के कारण व्यापार के अवसरों को पकड़ सकती हैं। लेकिन ध्यान रखना होगा कि गैर-प्रवृत्ति वाले बाजारों में गलत ट्रेडिंग से बचा जाए, और विभिन्न बाजार स्थितियों के अनुकूल पैरामीटर को उचित रूप से समायोजित किया जाए। इसके अलावा, सहायक तकनीकी संकेतकों और अनुकूलन सुविधाओं को उचित रूप से शामिल करने से रणनीति की स्थिरता और अनुकूलन क्षमता को और बढ़ाया जा सकता है।
/*backtest
start: 2022-10-20 00:00:00
end: 2023-10-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("SMA Strategy", shorttitle="SMA Strategy", overlay=true, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// === Inputs ===
// short ma
maFastSource = input(defval=close, title="Fast MA Source")
maFastLength = input(defval=3, title="Fast MA Period", minval=1)
// long ma
maSlowSource = input(defval=close, title="Slow MA Source")
maSlowLength = input(defval=9, title="Slow MA Period", minval=1)
// Trade direction
shorting = input(defval=false, title="Short only?")
longonly = input(defval=true, title="Long only?")
swapping = input(defval=false, title="Swap orders?")
// risk management
useStop = input(defval=false, title="Use Initial Stop Loss?")
slPoints = input(defval=25, title="Initial Stop Loss Points", minval=1)
useTS = input(defval=false, title="Use Trailing Stop?")
tslPoints = input(defval=120, title="Trail Points", minval=1)
useTSO = input(defval=false, title="Use Offset For Trailing Stop?")
tslOffset = input(defval=20, title="Trail Offset Points", minval=1)
// Messages for buy and sell
message_long_entry = input("Long entry message", title="Long entry message")
message_long_exit = input("Long exit message", title="Long exit message")
message_short_entry = input("Short entry message", title="Short entry message")
message_short_exit = input("Short exit message", title="Short exit message")
// Calculate start/end date and time condition
startDate = input(timestamp("2021-01-01T00:00:00"), type = input.time)
finishDate = input(timestamp("2021-12-31T00:00:00"), type = input.time)
time_cond = true
// === Vars and Series ===
fastMA = sma(maFastSource, maFastLength)
slowMA = sma(maSlowSource, maSlowLength)
plot(fastMA, color=color.blue)
plot(slowMA, color=color.purple)
goLong() =>
crossover(fastMA, slowMA)
killLong() =>
crossunder(fastMA, slowMA)
// Long only
if longonly
strategy.entry("Buy", strategy.long, when=goLong() and time_cond, alert_message = message_long_entry)
strategy.close("Buy", when=killLong() and time_cond, alert_message = message_long_exit)
// Short only
if shorting
strategy.entry("Sell", strategy.short, when=killLong() and time_cond, alert_message = message_short_entry)
strategy.close("Sell", when=goLong() and time_cond, alert_message = message_short_exit)
// Order Swapping
if swapping
strategy.entry("Buy", strategy.long, when=goLong() and time_cond, alert_message = message_long_entry)
strategy.entry("Sell", strategy.short, when=killLong() and time_cond, alert_message = message_short_entry)
if useStop
strategy.exit("XLS", from_entry="Buy", stop=strategy.position_avg_price / 1.08, alert_message = message_long_exit)
strategy.exit("XSS", from_entry="Sell", stop=strategy.position_avg_price * 1.08, alert_message = message_short_exit)