लेखक:चाओझांग, दिनांकः 2024-01-26 16:04:26
टैगः

img

अवलोकन

रणनीति तर्क

  1. मोमबत्ती के पैटर्न की पहचान करें: जब मोमबत्ती का आकार सीमा से छोटा होता है और खुला बंद के बराबर होता है, तो इसे ट्रैकिंग सिग्नल के रूप में पहचाना जाता है।

  2. लंबी/लघुः जब उलट मोमबत्ती पैटर्न की पहचान की जाती है, तो यदि पिछले बंद 2 दिन पहले से अधिक है, तो लंबी, यदि पिछले बंद 2 दिन पहले से कम है, तो छोटी हो जाती है।

लाभ

  1. कैंडलस्टिक रिवर्सल पैटर्न प्रभावी रूप से मूल्य के मोड़ बिंदुओं को पकड़ते हैं, व्यापार संकेतों की वैधता को बढ़ाते हैं।

  2. लाभ लेने/हानि रोकने का तंत्र जोखिमों को प्रभावी ढंग से नियंत्रित करता है, लाभ में ताला लगाता है, बढ़ते नुकसान से बचता है।

  3. मैन्युअल हस्तक्षेप के बिना स्वचालित व्यापार व्यापार लागत को कम करता है और दक्षता में सुधार करता है।

जोखिम

  1. मोमबत्ती के पैटर्न की पहचान में व्यक्तिपरकता गलत निर्णयों का कारण बन सकती है।

  2. रणनीति मापदंडों को निरंतर परीक्षण और अनुकूलन की आवश्यकता होती है, अन्यथा ओवरफिटिंग।

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

  1. सटीकता में सुधार के लिए अधिक संकेतकों के साथ कैंडलस्टिक पहचान स्थितियों को अनुकूलित करें।

  2. विभिन्न व्यापारिक साधनों पर परीक्षण करें, लाभ लेने/हानि रोकने के बिंदुओं को समायोजित करें, मापदंडों को अनुकूलित करें।

  3. अधिक व्यापार संकेतों की पहचान करने के लिए एल्गोरिदम जोड़कर रणनीति तर्क को समृद्ध करें।

  4. संदर्भ संकेतकों के आधार पर स्थिति को गतिशील रूप से समायोजित करने के लिए स्थिति आकार मॉड्यूल जोड़ें।

निष्कर्ष


/*backtest
start: 2023-12-26 00:00:00
end: 2024-01-25 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 30/01/2019
//   This is a candlestick where the open and close are the same. 
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title = "Doji Backtest", overlay = true)
input_takeprofit = input(10, title="Take Profit pip", step=0.01)
input_stoploss = input(10, title="Stop Loss pip", step=0.01)
input_minsizebody = input(0.5, title="Min. Size Body pip", step=0.01)
barcolor(abs(close - open) <= input_minsizebody ? open == close ? yellow : na : na)
possell = 0.0
posbuy = 0.0
pospricebuy = 0.0
pospricesell = 0.0
barcolornow = blue
pospricesell := close< close[2] ? abs(close - open) <= input_minsizebody ? open == close ? close : nz(pospricesell[1], 0) : nz(pospricesell[1], 0) : nz(pospricesell[1], 0) 
possell := iff(pospricesell > 0 , -1, 0)
barcolornow := possell == -1 ? red: posbuy == 1 ? green : blue 
pospricesell := iff(low <= pospricesell - input_takeprofit and pospricesell > 0, 0 ,  nz(pospricesell, 0))
pospricesell := iff(high >= pospricesell + input_stoploss and pospricesell > 0, 0 ,  nz(pospricesell, 0))
pospricebuy := close > close[2] ? abs(close - open) <= input_minsizebody ? open == close ? close : nz(pospricebuy[1], 0) : nz(pospricebuy[1], 0) : nz(pospricebuy[1], 0) 
posbuy := iff(pospricebuy > 0 , 1, 0)
barcolornow := posbuy == 1 ? green: barcolornow
pospricebuy := iff(high >= pospricebuy + input_takeprofit and pospricebuy > 0, 0 ,  nz(pospricebuy, 0))
pospricebuy := iff(low <= pospricebuy - input_stoploss and pospricebuy > 0, 0 ,  nz(pospricebuy, 0))
barcolor(barcolornow)
if (posbuy == 0 and possell == 0) 
    strategy.close_all()
if (posbuy == 1)
    strategy.entry("Long", strategy.long)
if (possell == -1)
    strategy.entry("Short", strategy.short)	   	    
pospricebuy := iff(high <= pospricebuy + input_takeprofit and pospricebuy > 0, 0 ,  nz(pospricebuy, 0))
pospricebuy := iff(low >= pospricebuy - input_stoploss and pospricebuy > 0, 0 ,  nz(pospricebuy, 0))
pospricesell := iff(low <= pospricesell - input_takeprofit and pospricesell > 0, 0 ,  nz(pospricesell, 0))
pospricesell := iff(high >= pospricesell + input_stoploss and pospricesell > 0, 0 ,  nz(pospricesell, 0))


अधिक