मूविंग एवरेज रणनीति पर आधारित एकीकृत इचिमोकू केल्टनर ट्रेडिंग सिस्टम


निर्माण तिथि: 2023-12-20 13:40:08 अंत में संशोधित करें: 2023-12-20 13:40:08
कॉपी: 0 क्लिक्स: 745
1
ध्यान केंद्रित करना
1621
समर्थक

मूविंग एवरेज रणनीति पर आधारित एकीकृत इचिमोकू केल्टनर ट्रेडिंग सिस्टम

अवलोकन

इस रणनीति में इक्विटी-लाइन रणनीति, इचिमोकु क्लाउड चार्ट और केल्टनर चैनल तकनीकी संकेतकों को एकीकृत किया गया है, जो प्रवृत्ति ट्रैकिंग और ब्रेकआउट ट्रेडिंग को सक्षम करता है, जो उच्च आवृत्ति एल्गोरिथ्म ट्रेडिंग के लिए उपयुक्त है।

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

  1. केल्टनर चैनल का उपयोग स्टॉक की कीमतों को निर्धारित करने के लिए कि क्या वे स्टॉक के ऊपर और नीचे की पटरी से अधिक हैं, जो कि स्टॉक बनाने के संकेत के रूप में है
  2. केल्टनर चैनल के साथ इचिमोकू क्लाउड मैप का उपयोग प्रवृत्ति की दिशा निर्धारित करने के लिए किया जाता है
  3. सम-रेखा रणनीतियाँ एक स्पष्ट संकेत देती हैं

श्रेष्ठता विश्लेषण

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

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

  1. बहु-सूचक एकीकरण, पैरामीटर की जटिल सेटिंग, सावधानीपूर्वक परीक्षण की आवश्यकता
  2. क्लाउड चार्ट रूपांतरण लाइन और बेंचमार्क लाइन क्रॉसिंग हमेशा एक विश्वसनीय ट्रेडिंग सिग्नल नहीं है
  3. केल्टनर चैनल को विभिन्न स्टॉक विशेषताओं के लिए मापदंडों को समायोजित करने की आवश्यकता है

अनुकूलन दिशा

  1. सर्वर प्रदर्शन का आकलन करें, औसत चक्र को कम करें और लेनदेन की आवृत्ति बढ़ाएं
  2. विभिन्न शेयरों की पैरामीटर के प्रति संवेदनशीलता का परीक्षण करना, अनुकूलन पैरामीटर सेट करना
  3. स्टॉप लॉस को बढ़ाएं और एकल नुकसान को कम करें

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2023-11-19 00:00:00
end: 2023-12-19 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
// Author: Persio Flexa
// Description: Ichimoku Clouds with Keltner Channel, perfect for margin trading 
strategy("Ichimoku Keltner Strategy", overlay=true) 

// -- Keltner ------------------------------------------------------------------
source = close

useTrueRange = input(true)
length = input(18, minval=1) 
mult = input(1.8)

ma = sma(source, length)
range = useTrueRange ? tr : high - low
rangema = sma(range, length)
upper = ma + rangema * mult
lower = ma - rangema * mult

plot(ma, title="BASE", color=orange,transp=85)
plot(upper, title="UPPER", color=red)
plot(lower, title="LOWER", color=green)

//crossUpper = crossover(source, upper)
//crossLower = crossunder(source, lower)
crossUpper = source > upper
crossLower = source  < lower

bprice = 0.0
bprice := crossUpper ? high+syminfo.mintick : nz(bprice[1])

sprice = 0.0
sprice := crossLower ? low -syminfo.mintick : nz(sprice[1]) 

crossBcond = false
crossBcond := crossUpper ? true 
 : na(crossBcond[1]) ? false : crossBcond[1]

crossScond = false
crossScond := crossLower ? true 
 : na(crossScond[1]) ? false : crossScond[1]

cancelBcond = crossBcond and (source < ma or high >= bprice )
cancelScond = crossScond and (source > ma or low <= sprice )

// ---------------------------------------------------------------------


// -- Ichimoku

ATRlength = input(200, minval=1)
ATRMult = input(2.272, minval=1)

ATR = rma(tr(true), ATRlength)

len = input(26, minval=1, title="EMA Length")
src = input(close, title="Source")
out = ema(src, len)

emaup = out+(ATR*ATRMult)
emadw = out-(ATR*ATRMult)

conversionPeriods = input(15, minval=1),
basePeriods = input(35, minval=1)
laggingSpan2Periods = input(52, minval=1),
displacement = input(26, minval=1)

donchian(len) => avg(lowest(len), highest(len))

conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)

p1 = plot(leadLine1, offset = displacement, color=green,transp=85, title="Lead 1")
p2 = plot(leadLine2, offset = displacement, color=red,transp=85, title="Lead 2")
fill(p1, p2,silver) 

longCond    = crossover(conversionLine, baseLine)
shortCond   = crossunder(conversionLine, baseLine)
// -------------------------------------------------------------------------

if (crossUpper and (conversionLine > baseLine))
    strategy.entry("long", strategy.long, stop=bprice, comment="LONG")

if (crossLower and (conversionLine < baseLine))
    strategy.entry("short", strategy.short, stop=sprice, comment="SHORT")
    
strategy.close("long", when = (shortCond and source < lower))
strategy.close("short", when = (longCond and source > upper))