स्विंग ट्रेडिंग रणनीति

लेखक:चाओझांग, दिनांक: 2023-10-11 16:29:37
टैगः

अवलोकन

यह चलती औसत क्रॉसओवर पर आधारित एक प्रवृत्ति-अनुसरण रणनीति है, जिसमें स्टॉप लॉस/टेक प्रॉफिट मैनेजमेंट और लीवरेज इफेक्ट के साथ मिलकर कई बाजारों में रुझानों की पहचान करने और लाभ को अधिकतम करने का लक्ष्य है।

रणनीति तर्क

यह रणनीति ट्रेडिंग संकेतों के रूप में तेज और धीमी गति से चलने वाले औसत के क्रॉसओवर का उपयोग करती है। जब तेज एमए धीमी एमए के ऊपर पार करता है तो यह लंबा हो जाता है, और जब तेज एमए धीमी एमए के नीचे पार करता है तो यह छोटा हो जाता है।

छोटे रुझानों से शोर ट्रेडों को फ़िल्टर करने के लिए, यह एक ट्रेंड फ़िल्टर के रूप में 200-दिवसीय एमए का भी उपयोग करता है। ट्रेड सिग्नल केवल तब उत्पन्न होते हैं जब कीमत 200-दिवसीय एमए से ऊपर या नीचे होती है।

यह रणनीति सीमा व्यापार स्टॉप का उपयोग करती है। प्रवेश के बाद, निश्चित प्रतिशत स्टॉप लॉस और ले लाभ स्तर निर्धारित किए जाते हैं, उदाहरण के लिए 1% स्टॉप लॉस और 1% ले लाभ। स्थिति बंद हो जाएगी जब कीमत स्टॉप लॉस या ले लाभ को हिट करती है।

व्यापारिक लाभ को बढ़ाने के लिए लाभप्रद प्रभाव का प्रयोग किया जाता है। विभिन्न बाजार विशेषताओं के आधार पर, उपयुक्त लाभप्रदता अनुपात का चयन किया जा सकता है, उदाहरण के लिए 10x।

लाभ विश्लेषण

  • एक लाभ यह है कि यह क्रिप्टो, शेयर और वायदा सहित कई बाजारों में रुझानों की पहचान कर सकता है, जिससे रणनीति व्यापक रूप से लागू हो सकती है।

  • तेज/धीमी एमए क्रॉसओवर और ट्रेंड फ़िल्टर का उपयोग करने से ट्रेंड की दिशा को बेहतर ढंग से पहचाना जा सकता है और ट्रेंडिंग बाजारों में अच्छी जीत दर प्राप्त की जा सकती है।

  • रेंज ट्रेडिंग स्टॉप एक ही ट्रेड के नुकसान को सहन करने योग्य रेंज के भीतर नियंत्रित करने में मदद करते हैं, जिससे रणनीति का स्थिर संचालन संभव होता है।

  • लीवरेज प्रभाव ट्रेडिंग लाभ को बढ़ाता है, जो रणनीति के लाभ का पूर्ण उपयोग करता है।

  • बुल/बियर बाजारों के लिए विभिन्न पृष्ठभूमि रंगों के साथ दृश्य इंटरफ़ेस डिजाइन सहज बाजार अंतर्दृष्टि प्रदान करता है।

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

  • यह रणनीति प्रवृत्ति के अनुरूप है, इसलिए यह अस्थिर, रेंज-बाउंड बाजारों में खराब प्रदर्शन कर सकती है।

  • निश्चित प्रतिशत स्टॉप लॉस/टेक प्रॉफिट में स्टॉप आउट होने का जोखिम होता है। बाजार की विशिष्ट अस्थिरता के आधार पर स्तरों को समायोजित किया जाना चाहिए।

  • लाभप्रदता स्थिति के आकार के साथ-साथ जोखिमों को भी बढ़ाती है। अत्यधिक नुकसान से बचने के लिए लाभप्रदता अनुपात को नियंत्रित किया जाना चाहिए।

  • चलती औसत की विलंबित प्रकृति से व्यापार संकेतों में विलंब हो सकता है।

अनुकूलन दिशाएँ

  • विभिन्न पैरामीटर संयोजनों का परीक्षण करें और इष्टतम तेज/धीमी एमए लंबाई का चयन करें।

  • सटीकता में सुधार के लिए अन्य संकेतकों या मॉडल को फ़िल्टर संकेतों के रूप में शामिल करें, जैसे कि एटीआर स्टॉप, आरएसआई आदि।

  • ट्रेंड कैप्चर करने की क्षमता को और बढ़ाने के लिए ADX जैसे अन्य ट्रेंड पहचान उपकरण पर शोध करें।

  • रणनीति संकेतों को अनुकूलित करने और अधिक प्रभावी प्रवेश/निकास बिंदुओं को खोजने के लिए मशीन लर्निंग मॉडल का उपयोग करें।

  • अधिक समझदार स्टॉप के लिए अस्थिरता और बाजार की स्थितियों के आधार पर गतिशील स्टॉप लॉस/टेक प्रॉफिट पर विचार करें।

सारांश

यह रणनीति एक व्यवस्थित प्रवृत्ति-अनुसरण दृष्टिकोण को नियोजित करती है और जोखिम को नियंत्रित करने और लाभ को बढ़ाने के लिए स्टॉप/टेक प्रॉफिट और लीवरेज का उपयोग करती है। यह स्थिर अल्फा की क्षमता वाले बाजारों में व्यापक रूप से लागू होती है। लंबी अवधि की सफलता के लिए पैरामीटर अनुकूलन, जोखिम नियंत्रण और रणनीति पुनरावृत्ति पर भी ध्यान दिया जाना चाहिए।


/*backtest
start: 2023-09-10 00:00:00
end: 2023-10-10 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

////////////////////////////////////////////////////////////////////////////////
// Bozz Strategy
// Developed for Godstime
// Version 1.1
// 11/28/2021
////////////////////////////////////////////////////////////////////////////////

//@version=4
// strategy("Bozz Strategy", "", true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, margin_long=0, margin_short=0)

// ----------------------------- Inputs ------------------------------------- //
source_ma_type = input("EMA", "Source MA Type", options=["SMA", "EMA"])
source_ma_length = input(50, "Source MA Length")
fast_ma_length = input(20, "Fast MA Length")
slow_ma_length = input(50, "Slow MA Length")
use_trend_filter = input(true, "Trend Filter")
trend_filter_ma_type = input("EMA", "Trend Filter MA Type", options=["SMA", "EMA"])
trend_filter_ma_length = input(200, "Trend Filter MA Period")
show_mas = input(true, "Show MAs")
swing_trading_mode = input(false, "Swing Trading")

// -------------------------- Calculations ---------------------------------- //
fast_ma = ema(close, fast_ma_length)
slow_ma = ema(close, slow_ma_length)
source_ma = source_ma_type == "EMA"? ema(close, source_ma_length): 
                                     sma(close, source_ma_length)
trend_filter_ma = trend_filter_ma_type == "EMA"? ema(close, trend_filter_ma_length): 
                                                 sma(close, trend_filter_ma_length)

// --------------------------- Conditions ----------------------------------- //
uptrend = not use_trend_filter or close > trend_filter_ma
buy_cond = crossover(fast_ma, slow_ma) and uptrend

downtrend = not use_trend_filter or close < trend_filter_ma
sell_cond = crossunder(fast_ma, slow_ma) and downtrend

// ---------------------------- Plotting ------------------------------------ //
bgcolor(use_trend_filter and downtrend? color.red: use_trend_filter? color.green: na)
plot(show_mas? fast_ma: na, "Fast MA", color.green)
plot(show_mas? slow_ma: na, "Slow MA", color.red)
plot(show_mas? source_ma: na, "Source MA", color.purple)
plot(show_mas? trend_filter_ma: na, "Trend Filter MA", color.blue)


// ---------------------------- Trading  ------------------------------------ //
// Inputs
sl_perc = input(1.0, "Stop Loss (in %)", group="Backtest Control")/100
tp_perc = input(1.0, "Take Profit (in %)", group="Backtest Control")/100
leverage = input(10, "Leverage", maxval=100, group="Backtest Control")
bt_start_time = input(timestamp("2021 01 01"), "Backtest Start Time", input.time, group="Backtest Control")
bt_end_time = input(timestamp("2021 12 31"), "Backtest End Time", input.time, group="Backtest Control")

// Trading Window
in_trading_window = true
trade_qty = (strategy.equity * leverage) / close 

// Long Side
strategy.entry("Long Entry", strategy.long,  when=buy_cond and in_trading_window)
long_tp = strategy.position_avg_price * (1 + tp_perc)
long_sl = strategy.position_avg_price * (1 - sl_perc)
if not swing_trading_mode
    strategy.exit("Long Exit", "Long Entry", limit=long_tp, stop=long_sl)

// Short Side
strategy.entry("Short Entry", strategy.short, when=sell_cond and in_trading_window)
short_tp = strategy.position_avg_price * (1 - tp_perc)
short_sl = strategy.position_avg_price * (1 + sl_perc)
if not swing_trading_mode
    strategy.exit("Short Exit", "Short Entry", limit=short_tp, stop=short_sl)

// End of trading window close
strategy.close_all(when=not in_trading_window)

अधिक