कम अस्थिरता वाले लाभ लेने और स्टॉप लॉस के साथ दिशागत खरीद

लेखक:चाओझांग, दिनांकः 2023-12-18 12:00:07
टैगः

img

अवलोकन

इस रणनीति का नाम Low Volatility Directional Buy with Profit Taking and Stop Loss है। यह खरीद संकेतों के रूप में चलती औसत क्रॉसओवर का उपयोग करता है और लाभ लेने और लाभ में लॉक करने के लिए हानि को रोकने का संयोजन करता है। यह कम अस्थिरता वाले सिक्कों के लिए उपयुक्त है।

रणनीति तर्क

यह रणनीति विभिन्न अवधियों के साथ 3 चलती औसत का उपयोग करती हैः 50-अवधि, 100-अवधि और 200-अवधि। खरीद तर्क यह हैः जब 50-अवधि एमए 100-अवधि एमए और 100-अवधि एमए 200-अवधि एमए को पार करता है, तो लंबा हो जाता है।

यह कम अस्थिरता सीमा से ब्रेकआउट और एक प्रवृत्ति की शुरुआत का संकेत देता है। 50-अवधि एमए की तेजी से वृद्धि अल्पकालिक गति को मजबूत करने का प्रतिनिधित्व करती है; 100-अवधि एमए की वृद्धि भी मध्यम अवधि के बल को जोड़ने का संकेत देती है।

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

लाभ विश्लेषण

इस रणनीति के फायदे:

  1. कम अस्थिरता वाले ब्रेकआउट से ट्रेंड के अवसरों को सही ढंग से पकड़ें।
  2. चलती औसत के साथ सरल और स्पष्ट तर्क जो गणना और बैकटेस्ट करने में आसान हैं।
  3. उचित लाभ लेने और स्टॉप लॉस सेटिंग स्थिर लाभ सुनिश्चित करती है।
  4. लचीले विन्यास योग्य मापदंड अनुकूलन को आसान बनाते हैं।

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

कुछ जोखिम भी हैं:

  1. गलत पलायन संकेत नुकसान का कारण बन सकते हैं।
  2. जब बाजार उलट जाते हैं तो नुकसान को रोकना मुश्किल होता है।
  3. गलत लाभ लेने और स्टॉप लॉस पैरामीटर सेटिंग्स लाभप्रदता को प्रभावित करती हैं।

समाधान:

  1. संकेतों को फ़िल्टर करने के लिए अन्य संकेतक जोड़ें और ब्रेकआउट वैधता सुनिश्चित करें।
  2. रिवर्स से होने वाले नुकसान को कम करने के लिए स्टॉप लॉस अवधि को छोटा करें।
  3. इष्टतम खोजने के लिए लाभ लेने और हानि रोकने के विभिन्न अनुपातों का परीक्षण करें।

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

निम्नलिखित क्षेत्रों में अनुकूलन किया जा सकता हैः

  1. सर्वोत्तम संयोजन खोजने के लिए विभिन्न चलती औसत अवधि का परीक्षण करें।
  2. रुझान ब्रेकआउट की पुष्टि करने के लिए वॉल्यूम आदि जोड़ें।
  3. गतिशील रूप से लाभ लेने और स्टॉप लॉस प्रतिशत समायोजित करें।
  4. ब्रेकआउट सफलता दर की भविष्यवाणी करने के लिए मशीन लर्निंग आदि को शामिल करें।
  5. विभिन्न बाजार स्थितियों और सिक्कों के आधार पर मापदंडों को समायोजित करें।

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


/*backtest
start: 2023-12-10 00:00:00
end: 2023-12-17 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(shorttitle='Low volatility Buy w/ TP & SL (by Coinrule)',title='Low volatility Buy w/ TP & SL', overlay=true, initial_capital = 1000, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)

//Backtest dates
fromMonth = input(defval = 1,    title = "From Month",      type = input.integer, minval = 1, maxval = 12)
fromDay   = input(defval = 10,    title = "From Day",        type = input.integer, minval = 1, maxval = 31)
fromYear  = input(defval = 2019, title = "From Year",       type = input.integer, minval = 1970)
thruMonth = input(defval = 1,    title = "Thru Month",      type = input.integer, minval = 1, maxval = 12)
thruDay   = input(defval = 1,    title = "Thru Day",        type = input.integer, minval = 1, maxval = 31)
thruYear  = input(defval = 2112, title = "Thru Year",       type = input.integer, minval = 1970)

showDate  = input(defval = true, title = "Show Date Range", type = input.bool)

start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)        // backtest start window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)        // backtest finish window
window()  => time >= start and time <= finish ? true : false       // create function "within window of time"

//MA inputs and calculations
movingaverage_fast = sma(close, input(50))
movingaverage_slow = sma(close, input(200))
movingaverage_normal= sma(close, input(100))



//Entry 
strategy.entry(id="long", long = true, when = movingaverage_slow > movingaverage_normal and movingaverage_fast > movingaverage_normal)

//Exit
longStopPrice  = strategy.position_avg_price * (1 - 0.04)
longTakeProfit = strategy.position_avg_price * (1 + 0.08)

strategy.close("long", when = close < longStopPrice or close > longTakeProfit and window())

//PLOT

plot(movingaverage_fast, color=color.orange, linewidth=2)
plot(movingaverage_slow, color=color.purple, linewidth=3)
plot(movingaverage_normal, color=color.blue, linewidth=2)


अधिक