चलती औसत दोलन HODL रणनीति

लेखक:चाओझांग, दिनांकः 2023-09-12 16:02:24
टैगः

यह रणनीति होल्ड सिग्नल निर्धारित करने के लिए लंबी अवधि के चलती औसत (जैसे 200-दिवसीय) के आसपास मूल्य दोलन का निरीक्षण करती है, स्थिति प्रवेश के लिए ट्रेडिंग ब्रेकआउट और स्टॉप लॉस के रूप में ब्रेक के नीचे का उपयोग करती है। इसका उद्देश्य लंबी अवधि के होल्डिंग के लिए ट्रेडिंग आवृत्ति को कम करना है।

रणनीति तर्क:

  1. दीर्घकालिक चलती औसत की गणना करें, आमतौर पर 200 दिनों का।

  2. जब कीमत चलती औसत से ऊपर टूटती है तो लॉन्ग दर्ज करें.

  3. जब कीमत चलती औसत से नीचे गिरती है, तो बाहर निकलें।

  4. स्टॉप लॉस के नीचे ब्रेक तक लंबी स्थिति बनाए रखें.

लाभः

  1. दीर्घकालिक एमए प्रभावी रूप से मध्यम से दीर्घकालिक रुझानों की पहचान करता है।

  2. ब्रेकआउट ट्रेडिंग समय पर दीर्घकालिक उलटफेर को पकड़ती है।

  3. कम व्यापारिक आवृत्ति से लागत और जोखिम कम होते हैं।

जोखिमः

  1. लंबे समय तक चलने वाले एमए में काफी देरी होती है, जिसके परिणामस्वरूप प्रवेश का समय खराब होता है।

  2. ब्रेकआउट के पश्चात उपयोग के जोखिमों पर कोई सीमा नहीं।

  3. बार-बार होने वाले छोटे-छोटे ब्रेकआउट से लगातार छोटे-छोटे नुकसान होते हैं।

संक्षेप में, यह HODL रणनीति व्यापार आवृत्ति को कम करने के लिए होल्ड टाइमिंग निर्धारित करने के लिए लंबे MA दोलन का उपयोग करती है। लेकिन पैरामीटर अनुकूलन और स्टॉप लॉस प्लेसमेंट स्थिर दीर्घकालिक लाभ के लिए प्रदर्शन और जोखिम नियंत्रण में सुधार कर सकता है।


/*backtest
start: 2022-09-05 00:00:00
end: 2023-04-15 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("HODLBot", default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_every_tick=true, overlay=true)
    
//// Time limits 
testStartYear = input(2017, "Backtest Start Year")
testStartMonth = input(01, "Backtest Start Month")
testStartDay = input(01, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testStopYear = input(2029, "Backtest Stop Year")
testStopMonth = input(1, "Backtest Stop Month")
testStopDay = input(1, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)

testPeriod() => true

maPeriod = input(200, "MA Period")
smoothing = input(defval="EMA", options=["EMA", "SMA"])

ma(smoothing, src, length) => 
    if smoothing == "EMA"
        ema(src, length)
    else
        if smoothing == "SMA"
            sma(src, length)
        
//// Main ////

movingAverage = ma(smoothing, close, maPeriod)

plot(movingAverage, color=orange, style = line, linewidth = 4)
 
// very simple, price over MA? Buy and HODL 
if (testPeriod() and close > movingAverage)
    strategy.entry("HODL", strategy.long)

// Price under, close long
if (testPeriod() and close < movingAverage)
    strategy.close("HODL")


अधिक