इचिमोकू यिन यांग कैंडलस्टिक ब्रेकआउट रणनीति

लेखक:चाओझांग, दिनांक: 2023-12-21 10:44:37
टैगः

img

अवलोकन

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

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

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

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

इसके अतिरिक्त, रणनीति स्टॉप लॉस और लाभ लेने की कीमतें भी निर्धारित करती है। यह लाभ और हानि के बिंदुओं की गणना करने के लिए रणनीति की syminfo.pointvalue और स्थिति जानकारी का उपयोग करती है, और फिर उन्हें विशिष्ट कीमतों में परिवर्तित करती है।

लाभ विश्लेषण

इस रणनीति के निम्नलिखित फायदे हैंः

  1. प्रवृत्ति की दिशा निर्धारित करने के लिए इचिमोकू संकेतक का उपयोग प्रभावी रूप से बाजार शोर को फ़िल्टर कर सकता है और मध्यम और दीर्घकालिक रुझानों की पहचान कर सकता है
  2. बादल परत के माध्यम से तोड़ने के संकेत है कि झूठे breakouts के कारण नुकसान से बचने के लिए बना सकते हैं
  3. स्टॉप लॉस और टेक प्रॉफिट सेटिंग्स को शामिल करने से एकल हानि को सीमित किया जा सकता है और मुनाफे में लॉक किया जा सकता है
  4. समायोज्य मापदंड रणनीतिक प्रदर्शन पर विभिन्न मापदंडों के प्रभाव का परीक्षण करने की अनुमति देते हैं
  5. विज़ुअलाइज़ेड क्लाउड लेयर और अन्य इचिमोकू घटक सहज ग्राफिकल ट्रेडिंग सिग्नल बनाते हैं

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

इस रणनीति में कुछ जोखिम भी हैं:

  1. मध्यम से दीर्घकालिक पदों से अधिक तरंगत हानि हो सकती है
  2. ब्रेकआउट सिग्नल में देरी हो सकती है, सबसे अच्छा प्रवेश बिंदु याद आ रहा है
  3. झूठे ब्रेकआउट गलत संकेत और नुकसान का कारण बन सकते हैं
  4. अत्यधिक लंबे समय तक धारण अवधि के कारण अधिक व्यय होता है
  5. सेट स्टॉप लॉस और ले लाभ की कीमतों के माध्यम से टूट सकता है

विरोधी उपाय:

  1. एकल फ्लोटिंग हानि के जोखिम को कम करने के लिए धारण अवधि को उचित रूप से छोटा करें
  2. ब्रेकआउट संकेतों की प्रभावशीलता निर्धारित करने के लिए अन्य संकेतकों को शामिल करें
  3. गलत पदों में फंसने से बचने के लिए स्टॉप लॉस और लाभ लेने की प्रभावशीलता में सुधार करें
  4. खर्चों को कम करने के लिए धारण अवधि का अनुकूलन करें

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

इस रणनीति को निम्नलिखित पहलुओं में अनुकूलित किया जा सकता हैः

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

निष्कर्ष

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


/*backtest
start: 2022-12-14 00:00:00
end: 2023-12-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © moneyofthegame
// Basado en estrategias con el indicador ICHIMOKU KINKO HIYO
// El tiempo es oro colega :)

//@version=5
strategy('Ichimoku Cloud Estrategia Ruptura Nubes SWING TRADER  (By Insert Cheese)', shorttitle='Ichimoku Cloud Estrategia Ruptura Nubes SWING TRADER  (By Insert Cheese)',

         overlay=true,
         initial_capital=500,
         process_orders_on_close=true,
         default_qty_type=strategy.percent_of_equity,
         default_qty_value=100,
         commission_type=strategy.commission.percent,
         commission_value=0.05,
         currency=currency.NONE)
         




// Inputs: Ichimoku parametros
ts_bars =   input.int(9,  minval=1, title='Tenkan-Sen ',          group='Parámetros Ichimoku')
ks_bars =   input.int(26, minval=1, title='Kijun-Sen ',           group='Parámetros Ichimoku')
ssb_bars =  input.int(52, minval=1, title='Senkou-Span B ',       group='Parámetros Ichimoku')
cs_offset = input.int(26, minval=1, title='Chikou-Span',          group='Parámetros Ichimoku')
ss_offset = input.int(26, minval=1, title='Senkou-Span A',        group='Parámetros Ichimoku')

middle(len) => // LONGITITUD Ichimoku (SenkouB)
    math.avg(ta.lowest(len), ta.highest(len))

// Ichimoku Componentes
tenkan = middle (ts_bars)
kijun   = middle (ks_bars)
senkouA = math.avg(tenkan, kijun)
senkouB = middle (ssb_bars)


// Plot Ichimoku Kinko Hyo
plot(tenkan,                                     color=color.rgb(171, 128, 0),                              title="Tenkan-Sen",    display = display.none)
plot(kijun,                                      color=color.rgb(39, 0, 112),                               title="Kijun-Sen",     display = display.none)
plot(close, offset=-cs_offset+1,                 color=color.rgb(224, 200, 251),                            title="Chikou-Span",   display = display.none)
sa=plot(senkouA, offset=ss_offset-1,             color=color.rgb(68, 128, 0),                               title="Senkou-Span A", display = display.none)
sb=plot(senkouB, offset=ss_offset-1,             color=color.rgb(131, 0, 120),                              title="Senkou-Span B", display = display.none)
fill(sa, sb, color = senkouA > senkouB ?         color.rgb(0, 211, 11, 82) : color.rgb(75, 0, 126, 82),   title="Cloud color")

// Calculating 
ss_high = math.max(senkouA[ss_offset - 1], senkouB[ss_offset - 1])  //parte alta de la nube
ss_low = math.min(senkouA[ss_offset - 1], senkouB[ss_offset - 1])   //parte baja de la nube
ss_medium = ss_low + (ss_high - ss_low) / 2                         //parte intermedia


// Input para seleccionar largos o cortos
long_entry_enable =  input.bool(true, title='Entradas Largo',   group='Backtest Operativa', inline='SP20')
short_entry_enable = input.bool(true, title='Entradas Corto',   group='Backtest Operativa', inline='SP20')

// Input backtest rango de fechas 
fromMonth =  input.int  (defval=1,     title='Desde Mes',  minval=1,     maxval=12,      group='Backtest rango de fechas')
fromYear  =  input.int  (defval=2000,  title='Desde Año',  minval=1970,                  group='Backtest rango de fechas')
fromDay   =  input.int  (defval=1,     title='Desde Día',  minval=1,     maxval=31,      group='Backtest rango de fechas')
thruDay   =  input.int  (defval=1,     title='Hasta Día',  minval=1,     maxval=31,      group='Backtest rango de fechas')
thruMonth =  input.int  (defval=1,     title='Hasta Mes',  minval=1,     maxval=12,      group='Backtest rango de fechas')
thruYear  =  input.int  (defval=2099,  title='Hasta Año',  minval=1970,                  group='Backtest rango de fechas')

inDataRange = time >= timestamp(syminfo.timezone, fromYear, fromMonth, fromDay, 0, 0) and time < timestamp(syminfo.timezone, thruYear, thruMonth, thruDay, 0, 0)


//Estrategia

// Señales de entrada y salida

price_above_kumo = close  > ss_high // precio cierra arriba de la nube
price_below_kumo = close  < ss_low // precio cierra abajo de la nube
price_cross_above_kumo = ta.crossover  (close  , ss_high )   //precio cruza la nube parte alta
price_cross_below_kumo = ta.crossunder (close  , ss_low )     // precio cruza la nube parte baja

bullish = (price_above_kumo and price_cross_above_kumo)
bearish = (price_below_kumo and price_cross_below_kumo)

comprado = strategy.position_size > 0
vendido = strategy.position_size  < 0

sl_long =  price_above_kumo
sl_short = price_below_kumo


if ( not comprado and bullish and inDataRange and long_entry_enable)
//realizar compra
    strategy.entry("Buy", strategy.long)

//realizar salida long
if (comprado and bearish and inDataRange and long_entry_enable)
    strategy.close ("Buy", comment = "cerrado")

if ( not vendido and bearish and inDataRange and short_entry_enable)
//realizar venta
    strategy.entry("Sell", strategy.short)
    
//realizar salida long
if (vendido  and bullish and inDataRange and short_entry_enable)
    strategy.close ("Buy", comment = "cerrado")

// Función Calcular TP y SL

// Inputs para SL y TP


tpenable = input.bool(true, title =  "SL y TP metodo")



moneyToSLPoints(money)  =>
    strategy.position_size !=0 and tpenable ?  (money / syminfo.pointvalue / math.abs (strategy.position_size)) / syminfo.mintick : na

p = moneyToSLPoints(input.float(  100.0, minval=0.1, step=10.0, title = "Take Profit $$"))
l = moneyToSLPoints(input.float(  100.0, minval=0.1, step=10.0, title = "Stop Loss $$"))
strategy.exit("Close", profit = p, loss = l)



// debug plots for visualize SL & TP levels
pointsToPrice(pp) =>
    na(pp) ? na : strategy.position_avg_price + pp * math.sign(strategy.position_size) * syminfo.mintick
    
pp = plot(pointsToPrice(p),color = color.rgb(76, 175, 79, 96), style = plot.style_linebr )
lp = plot(pointsToPrice(-l),color = color.rgb(76, 175, 79, 96), style = plot.style_linebr )
avg = plot( strategy.position_avg_price, color = color.rgb(76, 175, 79, 96), style = plot.style_linebr )
fill(pp, avg, color = color.rgb(76, 175, 79, 96))
fill(avg, lp, color = color.rgb(255, 82, 82, 97))

अधिक