Ichimoku क्लाउड मात्रात्मक व्यापार रणनीति

लेखक:चाओझांग, दिनांकः 2024-01-05 13:53:11
टैगः

img

अवलोकन

यह रणनीति स्वचालित ट्रेडिंग के लिए लंबी और छोटी निर्णय तंत्र बनाने के लिए कई संकेतकों जैसे इचिमोकू क्लाउड, के-लाइन, हॉल मूविंग एवरेज और एमएसीडी को जोड़ती है।

रणनीति तर्क

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

रूपांतरण रेखा पिछले 9 दिनों के मध्य मूल्य का औसत है। पिछड़ती रेखा पिछले 26 दिनों के मध्य मूल्य का औसत है। लंबी जब रूपांतरण रेखा पिछड़ती रेखा के ऊपर पार करती है, और छोटी जब नीचे पार करती है।

हुल मूविंग एवरेज ट्रेंड को परिभाषित करने के लिए डबल एवरेजिंग लाइन क्रॉसओवर का उपयोग करता है। जब तेज लाइन धीमी लाइन से ऊपर जाती है तो अपट्रेंड होता है, और डाउनट्रेंड इसके विपरीत होता है।

एमएसीडी 12 और 26 अवधि के ईएमए के बीच अंतर लेता है। शून्य रेखा और संकेत रेखा पर क्रॉसिंग लंबे/लघु संकेतों को इंगित करती है।

पिछड़ी रेखा पर के-लाइन प्रवेश प्रवेश समय प्रदान करता है।

लाभ

  1. कई संकेतकों के साथ सटीक प्रवृत्ति का पता लगाना।
  2. अनावश्यक लेनदेन से बचने के लिए सटीक प्रविष्टि।
  3. स्टॉप लॉस/टेक प्रॉफिट के साथ ठोस जोखिम नियंत्रण।

जोखिम

  1. अयोग्य पैरामीटर ट्यूनिंग के साथ आक्रामक प्रवेश।
  2. बहु-सूचक उपयोग के साथ जटिलता में वृद्धि।
  3. अल्पकालिक लेनदेन के लिए कटौती अपरिहार्य है।

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

  1. अधिक उत्पादों और समय सीमाओं के लिए मापदंडों का अनुकूलन करें।
  2. अनुकूलन ट्यूनिंग के लिए मशीन लर्निंग जोड़ें.
  3. उच्च जीत दर के लिए प्रवेश गति में सुधार।

सारांश

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


/*backtest
start: 2022-12-29 00:00:00
end: 2024-01-04 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
// Any timeFrame ok but good on 15 minute & 60 minute , Ichimoku + Daily-Candle_cross(DT) + HULL-MA_cross + MacD combination 420 special blend
strategy("Ichimoku + Daily-Candle_X + HULL-MA_X + MacD", shorttitle="٩(̾●̮̮̃̾•̃̾)۶", overlay=true, default_qty_type=strategy.percent_of_equity, max_bars_back=720, default_qty_value=100, calc_on_order_fills= true, calc_on_every_tick=true, pyramiding=0)
keh=input(title="Double HullMA",defval=14, minval=1)
dt = input(defval=0.0010, title="Decision Threshold (0.001)", type=float, step=0.0001)
SL = input(defval=-500.00, title="Stop Loss in $", type=float, step=1)
TP = input(defval=25000.00, title="Target Point in $", type=float, step=1)
ot=1
n2ma=2*wma(close,round(keh/2))
nma=wma(close,keh)
diff=n2ma-nma
sqn=round(sqrt(keh))
n2ma1=2*wma(close[1],round(keh/2))
nma1=wma(close[1],keh)
diff1=n2ma1-nma1
sqn1=round(sqrt(keh))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
b=n1>n2?lime:red
c=n1>n2?green:red
d=n1>n2?red:green
confidence=(request.security(syminfo.tickerid, 'D', close)-request.security(syminfo.tickerid, 'D', close[1]))/request.security(syminfo.tickerid, 'D', close[1])
conversionPeriods = input(9, minval=1, title="Conversion Line Periods")
basePeriods = input(26, minval=1, title="Base Line Periods")
laggingSpan2Periods = input(52, minval=1, title="Lagging Span 2 Periods")
displacement = input(26, minval=1, title="Displacement")
donchian(len) => avg(lowest(len), highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)
LS=close, offset = -displacement
MACD_Length = input(9)
MACD_fastLength = input(12)
MACD_slowLength = input(26)
MACD = ema(close, MACD_fastLength) - ema(close, MACD_slowLength)
aMACD = ema(MACD, MACD_Length)
closelong = n1<n2 and close<n2 and confidence<dt or strategy.openprofit<SL or strategy.openprofit>TP
if (closelong)
    strategy.close("Long")
closeshort = n1>n2 and close>n2 and confidence>dt or strategy.openprofit<SL or strategy.openprofit>TP
if (closeshort)
    strategy.close("Short")
longCondition = n1>n2 and strategy.opentrades<ot and confidence>dt and close>n2 and leadLine1>leadLine2 and open<LS and MACD>aMACD
if (longCondition)
    strategy.entry("Long",strategy.long)
shortCondition = n1<n2 and strategy.opentrades<ot and confidence<dt and close<n2 and leadLine1<leadLine2 and open>LS and MACD<aMACD
if (shortCondition)
    strategy.entry("Short",strategy.short)//                         /L'-, 
//                               ,'-.           /MM . .             /  L '-, 
//     .                    _,--dMMMM\         /MMM  `..           /       '-, 
//     :             _,--,  )MMMMMMMMM),.      `QMM   ,<>         /_      '-,' 
//     ;     ___,--. \MM(    `-'   )M//MM\       `  ,',.;      .-'* ;     .' 
//     |     \MMMMMM) \MM\       ,dM//MMM/     ___ < ,; `.      )`--'    / 
//     |      \MM()M   MMM)__   /MM(/MP'  ___, \  \ `  `. `.   /__,    ,' 
//     |       MMMM/   MMMMMM( /MMMMP'__, \     | /      `. `-,_\     / 
//     |       MM     /MMM---' `--'_ \     |-'  |/         `./ .\----.___ 
//     |      /MM'   `--' __,-  \""   |-'  |_,               `.__) . .F. )-. 
//     |     `--'       \   \    |-'  |_,     _,-/            J . . . J-'-. `-., 
//     |         __  \`. |   |   |         \    / _           |. . . . \   `-.  F 
//     |   ___  /  \  | `|   '      __  \   |  /-'            F . . . . \     '` 
//     |   \  \ \  /  |        __  /  \  |  |,-'        __,- J . . . . . \ 
//     |    | /  |/     __,-  \  ) \  /  |_,-     __,--'     |. .__.----,' 
//     |    |/    ___     \    |'.  |/      __,--'           `.-;;;;;;;;;\ 
//     |     ___  \  \     |   |  `   __,--'                  /;;;;;;;;;;;;. 
//     |     \  \  |-'\    '    __,--'                       /;;;;;;;;;;;;;;\ 
// \   |      | /  |      __,--'                             `--;;/     \;-'\ 
//  \  |      |/    __,--'                                   /  /         \  \ 
//   \ |      __,--'                                        /  /           \  \ 
//    \|__,--'                                          _,-;M-K,           ,;-;\ 
//                                                     <;;;;;;;;           '-;;;; 
//a1=plot(n1,color=c)
//a2=plot(n2,color=c)
//plot(cross(n1, n2) ? n1 : na, style = circles, color=b, linewidth = 4)
//plot(cross(n1, n2) ? n1 : na, style = line, color=d, linewidth = 4)
//plot(conversionLine, color=#0496ff, title="Conversion Line")
//plot(baseLine, color=#991515, title="Base Line")
//plot(close, offset = -displacement, color=#459915, title="Lagging Span")
//p1=plot (leadLine1, offset = displacement, color=green,  title="Lead 1")
//p2=plot (leadLine2, offset = displacement, color=red,  title="Lead 2")
//fill(p1, p2, color = leadLine1 > leadLine2 ? green : red)
// remove the "//" from before the plot script if want to see the indicators on chart

अधिक