अल्पकालिक व्यापारिक रणनीति

लेखक:चाओझांगदिनांक: 2023-10-25 14:40:21
टैगः

img

अवलोकन

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

रणनीति तर्क

  1. इस रणनीति में पहले एक निश्चित अवधि के दौरान चैनल के ऊपरी और निचले रेल के निर्माण के लिए उच्चतम उच्च और निम्नतम निम्न की गणना की जाती है।

  2. यदि कीमत ऊपरी रेल के ऊपर टूट जाती है, तो लंबी हो जाती है। यदि कीमत निचली रेल के नीचे टूट जाती है, तो छोटी हो जाती है।

  3. जोखिमों को नियंत्रित करने के लिए चलती स्टॉप लॉस का प्रयोग करें। स्टॉप लॉस चैनल की मध्य रेखा पर सेट किया जाता है।

  4. दो वैकल्पिक निकास नियम हैंः मध्य रेखा पर लौटें या चलती स्टॉप लॉस का पालन करें। पूर्व लाभ जल्दी महसूस करता है जबकि उत्तरार्द्ध जोखिमों को नियंत्रित करता है।

  5. चैनल अवधि और अन्य मापदंडों को विभिन्न बाजार स्थितियों के लिए रणनीति को अनुकूलित करने के लिए समायोजित किया जा सकता है।

लाभ विश्लेषण

  1. लागू करना सरल है. बस मूल्य-चैनल संबंध की निगरानी करें और व्यापार करने के लिए नियमों का पालन करें.

  2. रुझान के साथ व्यापार करें, कोई विपरीत रुझान जोखिम नहीं।

  3. स्पष्ट और सहज ज्ञान युक्त चैनल स्पष्ट प्रवेश संकेत देता है।

  4. अच्छा लाभ मार्जिन, ज्यादातर मामलों में संतोषजनक लाभ प्राप्त कर सकता है।

  5. विभिन्न बाजारों में अनुकूलन के लिए कई समायोज्य मापदंड।

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

  1. ब्रेकआउट विफल हो सकता है, फंसने का खतरा मौजूद है। समय पर स्टॉप लॉस की आवश्यकता है।

  2. चैनल के गठन के लिए समय की आवश्यकता होती है, जो कि सीमाबद्ध बाजारों के लिए उपयुक्त नहीं है।

  3. मध्य स्टॉप लॉस पर लौटना बहुत रूढ़िवादी हो सकता है, प्रवृत्तियों को बनाए रखने में असमर्थ हो सकता है।

  4. पैरामीटर अनुकूलन के लिए ऐतिहासिक डेटा की आवश्यकता होती है, लाइव ट्रेडिंग में अति-फिटिंग संभव है।

  5. ब्रेकआउट पॉइंट्स का मैकेनिकल ट्रेडिंग ट्रेडिंग की आवृत्ति और स्लिप की लागत को बढ़ा सकता है।

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

  1. विभिन्न अवधियों के चैनलों का मूल्यांकन करें और इष्टतम चुनें।

  2. एक बेहतर निकास तंत्र खोजने के लिए मध्य और चलती स्टॉप हानि पर लौटने का परीक्षण करें।

  3. बंद होने की संभावना कम करने के लिए स्टॉप लॉस प्रतिशत को अनुकूलित करें।

  4. अनुचित ब्रेकआउट ट्रेडों से बचने के लिए ट्रेंड फ़िल्टर जोड़ें।

  5. स्थिति के आकार को बढ़ाने पर विचार करें लेकिन जोखिमों को नियंत्रित करें।

सारांश

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


/*backtest
start: 2022-10-18 00:00:00
end: 2023-10-24 00:00:00
period: 1d
basePeriod: 1h
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/
// Strategy testing and optimisation for free Bitmex trading bot 
// © algotradingcc 

//@version=4
strategy("Channel Break [for free bot]", overlay=true, default_qty_type= strategy.percent_of_equity, initial_capital = 1000, default_qty_value = 20, commission_type=strategy.commission.percent, commission_value=0.075)

//Options
buyPeriod = input(13, "Channel Period for Long position")
sellPeriod = input(18, "Channel Period for Short position")
isMiddleExit = input(true, "Is exit on Base Line?")
takeProfit = input(46, "Take Profit (%) for position")
stopLoss = input(9, "Stop Loss (%) for position")

// Test Start
startYear = input(2005, "Test Start Year")
startMonth = input(1, "Test Start Month")
startDay = input(1, "Test Start Day")
startTest = timestamp(startYear,startMonth,startDay,0,0)

//Test End
endYear = input(2050, "Test End Year")
endMonth = input(12, "Test End Month")
endDay = input(30, "Test End Day")
endTest = timestamp(endYear,endMonth,endDay,23,59)

timeRange = time > startTest and time < endTest ? true : false

// Long&Short Levels
BuyEnter = highest(buyPeriod)
BuyExit = isMiddleExit ? (highest(buyPeriod) + lowest(buyPeriod)) / 2: lowest(buyPeriod)

SellEnter = lowest(sellPeriod)
SellExit = isMiddleExit ? (highest(sellPeriod) + lowest(sellPeriod)) / 2: highest(sellPeriod)

// Plot Data
plot(BuyEnter, style=plot.style_line, linewidth=2, color=color.blue, title="Buy Enter")
plot(BuyExit, style=plot.style_line, linewidth=1, color=color.blue, title="Buy Exit", transp=50)
plot(SellEnter, style=plot.style_line, linewidth=2, color=color.red, title="Sell Enter")
plot(SellExit, style=plot.style_line, linewidth=1, color=color.red, title="Sell Exit", transp=50)

// Calc Take Profits & Stop Loss
TP = 0.0
SL = 0.0
if strategy.position_size > 0
    TP := strategy.position_avg_price*(1 + takeProfit/100)
    SL := strategy.position_avg_price*(1 - stopLoss/100)

if strategy.position_size > 0 and SL > BuyExit
    BuyExit := SL
    
if strategy.position_size < 0
    TP := strategy.position_avg_price*(1 - takeProfit/100)
    SL := strategy.position_avg_price*(1 + stopLoss/100)

if strategy.position_size < 0 and SL < SellExit
    SellExit := SL
    
    
// Long Position    
if timeRange and strategy.position_size <= 0
    strategy.entry("Long", strategy.long, stop = BuyEnter)
strategy.exit("Long Exit", "Long", stop=BuyExit, limit = TP, when = strategy.position_size > 0)


// Short Position
if timeRange and strategy.position_size >= 0
    strategy.entry("Short", strategy.short, stop = SellEnter)
    
strategy.exit("Short Exit", "Short", stop=SellExit, limit = TP, when = strategy.position_size < 0)

// Close & Cancel when over End of the Test
if time > endTest
    strategy.close_all()
    strategy.cancel_all()


अधिक