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

लेखक:चाओझांग, दिनांक: 2023-12-20 13:40:08
टैगः

img

अवलोकन

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

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

  1. केल्टनर चैनल का उपयोग करें कि क्या स्टॉक की कीमत चैनल के ऊपरी और निचले रेल से अधिक है या नहीं।
  2. Ichimoku बादल चार्ट ट्रेंड दिशा का न्याय और केल्टनर चैनल के साथ उपयोग करें
  3. चलती औसत रणनीति बंद संकेत भेजता है

लाभ विश्लेषण

  1. निर्णय की सटीकता में सुधार के लिए व्यापक निर्णय के लिए कई तकनीकी संकेतकों को एकीकृत करना
  2. केल्टनर चैनल पदों को खोलते समय उच्चतम और निचले स्तरों का पीछा करने से बचने के लिए ओवरबॉट और ओवरसोल्ड स्थितियों का न्याय करता है
  3. Ichimoku क्लाउड चार्ट प्रमुख रुझानों को ट्रेंड के खिलाफ व्यापार करने से बचने के लिए न्याय करते हैं
  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))

अधिक