बहु-अवधि चलती औसत चैनल ट्रेंड रणनीति का पालन करना

लेखक:चाओझांग, दिनांकः 2024-02-20 13:45:42
टैगः

img

अवलोकन

यह एक स्विंग रणनीति है जो क्रिप्टो और स्टॉक जैसे ट्रेंडिंग बाजारों के लिए डिज़ाइन की गई है, जिसमें 8 घंटे जैसे बड़े टाइमफ्रेम का उपयोग किया गया है। यह रणनीति एक चैनल के रूप में दो औसत रेखाओं को बनाने के लिए उच्च और निम्न पर अलग से लागू एसएमए, ईएमए, वीडब्ल्यूएमए, एएलएमए, एसएमएमए, एलएसएमए और वीडब्ल्यूएमए सहित कई चलती औसत का उपयोग करती है।

जब बंद उच्च पर लागू औसत रेखा से ऊपर हो तो लंबा हो। जब बंद निम्न पर लागू औसत रेखा से नीचे हो तो छोटा हो।

रणनीति तर्क

रणनीति में SMA, EMA, VWMA, ALMA, SMMA, LSMA और VWMA सहित 7 अलग-अलग प्रकार के चलती औसत का उपयोग किया जाता है। ये एमए दो औसत रेखाओं को उत्पन्न करने के लिए कैंडलस्टिक की उच्चतम और निम्नतम कीमतों पर अलग-अलग लागू किए जाते हैं।

उच्च कीमतों पर लागू औसत रेखा को avg_high कहा जाता है। निम्न कीमतों पर लागू औसत रेखा को avg_low कहा जाता है। ये दो रेखाएं एक चैनल बनाती हैं।

जब बंद औसत से ऊपर हो तो लंबे समय तक जाएं। जब बंद औसत से नीचे हो तो छोटे समय तक जाएं।

लंबे समय के लिए स्टॉप लॉस avg_low है. ले लाभ प्रवेश मूल्य है *(1 + tp_long. संक्षेप में, स्टॉप लॉस avg_high है, ले लाभ प्रवेश मूल्य है *(1 - tp_short).

लाभ विश्लेषण

इस रणनीति का सबसे बड़ा लाभ लाभप्रदता में सुधार के लिए कई चलती औसत का उपयोग करना है। विभिन्न एमए में मूल्य परिवर्तनों के लिए अलग-अलग प्रतिक्रिया गति होती है। उन्हें मिलाकर अधिक विश्वसनीय ट्रेडिंग सिग्नल बनते हैं।

एक अन्य लाभ चैनल दृष्टिकोण है। चैनल स्टॉप लॉस रेंज को सीमित करता है और स्विंग ट्रेडिंग के लिए उपयुक्त जोखिम को कम करता है।

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

इस रणनीति के दो मुख्य जोखिम हैंः

  1. कई एमए के संयोजन से पैरामीटर ट्यूनिंग जटिल हो जाती है जिसमें सर्वोत्तम को खोजने के लिए बहुत सारे परीक्षण और अनुकूलन की आवश्यकता होती है।

  2. साइडवेज या गैर-ट्रेंडिंग बाजारों में, रणनीति नुकसान और whipsaws उत्पन्न करने की प्रवृत्ति है।

जोखिमों को कम करने के लिए, स्पष्ट रुझानों वाले उत्पादों का चयन करें, और वर्तमान बाजार स्थितियों के लिए उपयुक्त मापदंडों को खोजने के लिए व्यापक बैकटेस्ट और अनुकूलन करें।

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

आगे के अनुकूलन के लिए क्षेत्रः

  1. बेहतर संयोजन खोजने के लिए अधिक प्रकार के एमए का परीक्षण करें, जैसे एसएमए, ईएमए, कामा, टेमा आदि।

  2. इष्टतम मापदंडों को निर्धारित करने के लिए एमए की लंबाई और चैनल चौड़ाई को अनुकूलित करें।

  3. विभिन्न लाभ लेने और स्टॉप लॉस तंत्रों जैसे ट्रेलिंग स्टॉप या गतिशील स्टॉप का परीक्षण करें।

  4. चंचल बाजारों के दौरान झटके से बचने के लिए एडीएक्स, एटीआर जैसे ट्रेंड मीट्रिक को शामिल करें।

  5. अमान्य ट्रेडों को कम करने के लिए अतिरिक्त फ़िल्टरों के साथ प्रवेश और निकास तर्क को अनुकूलित करें।

सारांश

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


/*backtest
start: 2024-01-20 00:00:00
end: 2024-02-19 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/
// © exlux99

//@version=4

strategy(title="High/Low channel swing", shorttitle="Multi MA swing", overlay=true)


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 = 2000, title = "From Year", minval = 1970)
 //monday and session 
// To Date Inputs
toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2021, title = "To Year", minval = 1970)

startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true

//////
length_ma= input(defval=12, title="Length Moving averages", minval=1)

////////////////////////////////SETUP///////////////////////////////////////////

sma_high   = sma(high, length_ma)
ema_high   = ema(high, length_ma)
wma_high   = wma(high, length_ma)
alma_high  = alma(high,length_ma, 0.85, 6)
smma_high = rma(high,length_ma)
lsma_high = linreg(high, length_ma, 0)
vwma_high = vwma(high,length_ma)



avg_high = (sma_high+ema_high+wma_high+alma_high+smma_high+lsma_high+vwma_high)/7

///////////////////////////////////////////

sma_low   = sma(low, length_ma)
ema_low   = ema(low, length_ma)
wma_low   = wma(low, length_ma)
alma_low  = alma(low,length_ma, 0.85, 6)
smma_low = rma(low,length_ma)
lsma_low = linreg(low, length_ma, 0)
vwma_low = vwma(low,length_ma)



avg_low = (sma_low+ema_low+wma_low+alma_low+smma_low+lsma_low+vwma_low)/7

////////////////////////////PLOTTING////////////////////////////////////////////


plot(avg_high , title="avg", color=color.green, linewidth = 4)
plot(avg_low , title="avg", color=color.red, linewidth = 4)

long= close > avg_high
short = close < avg_low

tplong=input(0.06, title="TP Long", step=0.01)
sllong=input(0.05, title="SL Long", step=0.01)

tpshort=input(0.045, title="TP Short", step=0.01)
slshort=input(0.05, title="SL Short", step=0.01)

if(time_cond)
    strategy.entry("long",1,when=long)
    strategy.exit("closelong", "long" , profit = close * tplong / syminfo.mintick, loss = close * sllong / syminfo.mintick, alert_message = "closelong")
    strategy.close("long", when=crossunder(low,avg_low))
    
    
    strategy.entry("short",0,when=short)
    strategy.exit("closeshort", "short" , profit = close * tpshort / syminfo.mintick, loss = close * slshort / syminfo.mintick, alert_message = "closeshort")
    strategy.close("short",when=crossover(high,avg_high))



अधिक