विपरित डोनचियन चैनल टच एंट्री रणनीति के साथ पोस्ट-स्टॉप लॉस रोक और ट्रेलिंग स्टॉप लॉस

लेखक:चाओझांग, दिनांकः 2024-01-24 15:07:18
टैगः

img

अवलोकन

कॉन्ट्रारियन डोंचियन चैनल टच एंट्री रणनीति डोंचियन चैनल संकेतक पर आधारित एक मात्रात्मक ट्रेडिंग रणनीति है। इसमें जोखिम प्रबंधन के लिए स्टॉप लॉस पोज़ और ट्रेलिंग स्टॉप लॉस शामिल हैं।

यह रणनीति डोंचियन चैनल के ऊपरी/निचले बैंड को छूने पर लंबी/लघु स्थिति में प्रवेश करती है। स्टॉप लॉस और ले लाभ स्तर प्रत्येक व्यापार के लिए सेट किए जाते हैं। स्टॉप लॉस हिट होने के बाद, उसी दिशा में एक नया व्यापार करने से पहले कई बार के लिए एक विराम होगा। एक व्यापार के दौरान, लाभ में लॉक करने के लिए ट्रेलिंग स्टॉप लॉस का उपयोग किया जाता है।

रणनीति तर्क

इस रणनीति में 20 अवधि के डोंचियन चैनल का उपयोग किया गया है, जिसमें ऊपरी बैंड, निचला बैंड और मध्य रेखा शामिल हैं।

प्रविष्टि तर्क

जब कीमत निचले बैंड को छूती है तो लंबा करें; जब कीमत ऊपरी बैंड को छूती है तो छोटा करें।

रुझानों का पीछा करने से बचने के लिए एक ही दिशा में पिछले स्टॉप लॉस के बाद एक विराम (जैसे 3 बार) की आवश्यकता होती है।

हानि को रोकें और लाभ लें

प्रत्येक व्यापार के लिए एक निश्चित प्रतिशत स्टॉप लॉस (जैसे 22%) और जोखिम-लाभ अनुपात (जैसे 2) के आधार पर गणना की जाने वाली गतिशील ले लाभ सेट करें

पीछा करने वाला स्टॉप हानि

ट्रेडों के दौरान ट्रेलिंग स्टॉप लॉस का प्रयोग करें:

लंबी ट्रेडों के लिए, यदि कीमत मध्य रेखा से ऊपर जाती है, तो स्टॉप लॉस को प्रवेश मूल्य और मध्य रेखा के मध्य बिंदु पर समायोजित करें।

मध्य रेखा से नीचे के शॉर्ट पोजीशन के लिए इसके विपरीत।

लाभ

  1. डोनचियन चैनल ब्रेकआउट का उपयोग करके ट्रेंडिंग चाल को पकड़ें।

  2. विपरीत स्पर्श प्रविष्टि प्रवृत्ति विचार के खिलाफ व्यापार के साथ संरेखित करता है।

  3. स्टॉप लॉस विराम और ट्रेलिंग स्टॉप के साथ प्रभावी जोखिम प्रबंधन।

  4. स्पष्ट और लागू करने में आसान नियम।

जोखिम

  1. एक प्रवृत्ति-अनुसरण प्रणाली के लिए साइडवेज बाजारों पर Whipsaws।

  2. फिक्स्ड स्टॉप लॉस समय से पहले बंद होने की प्रवृत्ति हो सकती है।

  3. अत्यधिक आक्रामक अनुगामी स्टॉप समायोजन लाभदायक ट्रेडों को बहुत जल्दी खारिज कर सकता है।

  4. पैरामीटर अनुकूलन महत्वपूर्ण है।

बढ़ोतरी के अवसर

  1. सर्वोत्तम मापदंडों के लिए डोंचियन चैनल लुकबैक अवधि का अनुकूलन करें।

  2. स्थिति आकार नियम शामिल करें, उदाहरण के लिए समय-समय पर ठहराव गिनती को रीसेट करें।

  3. झूठे ब्रेकआउट से बचने के लिए अन्य संकेतकों का उपयोग करके फ़िल्टर जोड़ें।

  4. गतिशील स्टॉप लॉस के साथ प्रयोग।

सारांश

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


/*backtest
start: 2023-01-17 00:00:00
end: 2024-01-23 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Contrarian Donchian Channel Strategy - Touch Entry with Post-SL Pause and Trailing Stop", overlay=true, default_qty_value=0.01, default_qty_type=strategy.percent_of_equity)

// Inputs
length = input(20, minval=1, title="Donchian Channel Length")
riskRewardRatio = input(2, title="Risk/Reward Ratio")
stopLossPercent = input(0.22, title="Stop Loss (%)") / 100
pauseCandles = input(3, minval=1, title="Pause After SL (Candles)")

// Donchian Channel Calculation
upper = highest(high, length)
lower = lowest(low, length)
centerline = (upper + lower) / 2  // Calculating the Centerline

// Plotting Donchian Channel and Centerline
plot(upper, color=color.red, title="Upper Band")
plot(lower, color=color.green, title="Lower Band")
plot(centerline, color=color.blue, title="Centerline")

// Tracking Stop Loss Hits and Pause
var longSLHitBar = 0
var shortSLHitBar = 0
var int lastTradeDirection = 0 // 1 for long, -1 for short, 0 for none

// Update SL Hit Bars
if (strategy.position_size[1] > 0 and strategy.position_size == 0)
    if (close[1] < strategy.position_avg_price[1])
        longSLHitBar := bar_index
        lastTradeDirection := 1

if (strategy.position_size[1] < 0 and strategy.position_size == 0)
    if (close[1] > strategy.position_avg_price[1])
        shortSLHitBar := bar_index
        lastTradeDirection := -1

// Entry Conditions - Trigger on touch
longCondition = (low <= lower) and (bar_index - longSLHitBar > pauseCandles or lastTradeDirection != 1)
shortCondition = (high >= upper) and (bar_index - shortSLHitBar > pauseCandles or lastTradeDirection != -1)

// Trade Execution
if (longCondition)
    strategy.entry("Long", strategy.long)
if (shortCondition)
    strategy.entry("Short", strategy.short)

// Initial Stop Loss and Take Profit Calculation
stopLoss = strategy.position_avg_price * (1 - stopLossPercent)
takeProfit = strategy.position_avg_price * (1 + stopLossPercent * riskRewardRatio)

// Trailing Stop Loss Logic
var float trailingStopLong = na
var float trailingStopShort = na

// Update Trailing Stop for Long Position
if (strategy.position_size > 0)
    if (close > centerline)
        trailingStopLong := (strategy.position_avg_price + centerline) / 2
    stopLoss := na(trailingStopLong) ? stopLoss : max(trailingStopLong, stopLoss)

// Update Trailing Stop for Short Position
if (strategy.position_size < 0)
    if (close < centerline)
        trailingStopShort := (strategy.position_avg_price + centerline) / 2
    stopLoss := na(trailingStopShort) ? stopLoss : min(trailingStopShort, stopLoss)

// Setting Stop Loss and Take Profit for each trade
strategy.exit("SL_TP_Long", "Long", stop=stopLoss, limit=takeProfit)
strategy.exit("SL_TP_Short", "Short", stop=stopLoss, limit=takeProfit)


अधिक