संसाधन लोड हो रहा है... लोड करना...

डबल टाइमफ्रेम डायनामिक सपोर्ट ट्रेडिंग सिस्टम

लेखक:चाओझांग, दिनांकः 2024-12-05 16:44:56
टैगःएसएमएईएमए

img

अवलोकन

यह रणनीति एक दोहरी समय सीमा गतिशील समर्थन व्यापार प्रणाली है जो साप्ताहिक और दैनिक समय सीमाओं पर एसएमए और ईएमए क्रॉसओवर संकेतों को जोड़ती है। यह प्रणाली बाजार के रुझानों और व्यापारिक अवसरों की पहचान करने के लिए चलती औसत के बीच गठित समर्थन बैंड का उपयोग करती है, दो अलग-अलग समय अवधि से संकेत की पुष्टि के माध्यम से व्यापार सटीकता को बढ़ाती है। यह रणनीति प्रतिशत-आधारित स्थिति प्रबंधन का उपयोग करती है और व्यापार लागत और फिसलन के लिए खातों का उपयोग करती है।

रणनीतिक सिद्धांत

मूल सिद्धांत दो समय सीमाओं में चलती औसत क्रॉसओवर और सापेक्ष पदों की निगरानी के आसपास घूमता हैः

  1. लंबी समय सीमा (साप्ताहिक) 20 सप्ताह के एसएमए और 21 सप्ताह के ईएमए का उपयोग करती है, छोटी समय सीमा (दैनिक) 50 दिन के एसएमए और 51 दिन के ईएमए का उपयोग करती है
  2. लंबे समय में, जब ईएमए एसएमए के ऊपर पार हो जाता है, तो लंबे संकेत उत्पन्न होते हैं, और नीचे की ओर क्रॉस होने पर पद बंद हो जाते हैं।
  3. अल्पकालिक समय सीमा में, लंबे संकेत तब होते हैं जब ईएमए एसएमए के ऊपर पार करता है और अल्पकालिक ईएमए दीर्घकालिक ईएमए से ऊपर होता है।
  4. सभी लंबी पोजीशनें बंद हो जाती हैं जब छोटी समय सीमा कम सिग्नल उत्पन्न करती है या लंबी समय सीमा नीचे की ओर क्रॉस करती है
  5. रणनीति निर्दिष्ट समय सीमाओं के भीतर कार्य करती है, इन सीमाओं के बाहर स्थिति का स्वतः समापन होता है।

रणनीतिक लाभ

  1. बहुविध पुष्टिकरण तंत्रः दोहरे समय सीमा पुष्टिकरण के माध्यम से झूठे संकेतों को कम करता है
  2. गतिशील समर्थन बैंडः चलती औसत के बीच समर्थन बैंड बाजार परिवर्तनों के अनुकूल होते हैं
  3. व्यापक जोखिम प्रबंधनः इसमें प्रतिशत आधारित स्थिति आकार के साथ व्यापार लागत और फिसलन पर विचार शामिल है
  4. मजबूत अनुकूलन क्षमताः समर्थन बैंड स्वचालित रूप से बाजार की अस्थिरता के अनुकूल होते हैं
  5. स्पष्ट परिचालन नियमः अच्छी तरह से परिभाषित प्रवेश और निकास की शर्तें, लागू करने में आसान और बैकटेस्ट

रणनीतिक जोखिम

  1. अस्थिर बाजार जोखिमः साइडवेज बाजारों में अक्सर झूठे संकेत उत्पन्न कर सकता है
  2. विलंब जोखिमः चलती औसत में अंतर्निहित विलंब होता है, संभावित रूप से इष्टतम प्रवेश बिंदुओं की कमी होती है
  3. पैरामीटर संवेदनशीलता: रणनीति का प्रदर्शन अवधि के चयन पर बहुत निर्भर करता है
  4. बाजार परिवेश पर निर्भरता: प्रवृत्ति वाले बाजारों में बेहतर प्रदर्शन करता है लेकिन अत्यधिक अस्थिर परिस्थितियों में संघर्ष कर सकता है
  5. स्थिति आकार जोखिमः निश्चित प्रतिशत की स्थिति कुछ बाजार स्थितियों में अत्यधिक जोखिम पेश कर सकती है

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

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

निष्कर्ष

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


/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-04 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Demo GPT - Bull Market Support Band", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_value=0.1, slippage=3)

start_date = input(timestamp("2018-01-01 00:00 +0000"), title="Start Date")
end_date = input(timestamp("2069-12-31 00:00 +0000"), title="End Date")

lsmaLength = input.int(20, title="Long SMA Length", minval=1)
lemaLength = input.int(21, title="Long EMA Length", minval=1)
customLongTimeframe = input.timeframe("W", title="Long Timeframe")  // Khung thời gian dài
ssmaLength = input.int(50, title="Short SMA Length", minval=1)
semaLength = input.int(51, title="Short EMA Length", minval=1)
customShortTimeframe = input.timeframe("D", title="Short Timeframe")  // Khung thời gian ngắn

source = close

// Tính toán SMA và EMA cho khung thời gian dài
smaLong = ta.sma(source, lsmaLength)
emaLong = ta.ema(source, lemaLength)
outSmaLong = request.security(syminfo.tickerid, customLongTimeframe, smaLong)
outEmaLong = request.security(syminfo.tickerid, customLongTimeframe, emaLong)

// Tính toán SMA và EMA cho khung thời gian ngắn
smaShort = ta.sma(source, ssmaLength)
emaShort = ta.ema(source, semaLength)
outSmaShort = request.security(syminfo.tickerid, customShortTimeframe, smaShort)
outEmaShort = request.security(syminfo.tickerid, customShortTimeframe, emaShort)

// Plot các chỉ báo trên biểu đồ
smaPlotLong = plot(outSmaLong, color=color.new(color.red, 0), title='20w SMA (Long)')
emaPlotLong = plot(outEmaLong, color=color.new(color.green, 0), title='21w EMA (Long)')
smaPlotShort = plot(outSmaShort, color=color.new(color.red, 0), title='20d SMA (Short)')
emaPlotShort = plot(outEmaShort, color=color.new(color.green, 0), title='21d EMA (Short)')

// Fill vùng giữa các đường SMA và EMA
fill(smaPlotLong, emaPlotLong, color=color.new(color.orange, 75), fillgaps=true)
fill(smaPlotShort, emaPlotShort, color=color.new(color.orange, 75), fillgaps=true)

// Điều kiện long và short cho khung thời gian dài
longConditionLong = ta.crossover(outEmaLong, outSmaLong)
shortConditionLong = ta.crossunder(outEmaLong, outSmaLong)

// Điều kiện long và short cho khung thời gian ngắn
longConditionShort = ta.crossover(outEmaShort, outSmaShort) and (outEmaShort > outEmaLong)
shortConditionShort = ta.crossunder(outEmaShort, outSmaShort) and (outEmaShort > outEmaLong) // Điều kiện short khi EMA ngắn hạn cắt xuống dưới SMA ngắn hạn và EMA ngắn hạn cao hơn EMA dài hạn

// Kiểm tra điều kiện trong khoảng thời gian được chỉ định
inDateRange = true

// Nếu khung ngắn hạn xuất hiện tín hiệu short, ưu tiên đóng tất cả các lệnh Long
if shortConditionShort and inDateRange
    strategy.close_all()

// Nếu khung dài có tín hiệu short, đóng tất cả các lệnh Long
if shortConditionLong and inDateRange
    strategy.close_all()

// Nếu khung ngắn hạn có tín hiệu long và không có tín hiệu short từ khung dài, vào lệnh Long
if longConditionShort and not shortConditionLong and not shortConditionShort and inDateRange
    strategy.entry("Long", strategy.long)

// Đóng tất cả các lệnh khi không trong khoảng thời gian được chọn
if not inDateRange
    strategy.close_all()


संबंधित

अधिक