Ichimoku ین یانگ موم بتی بریک آؤٹ کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-12-21 10:44:37
ٹیگز:

img

جائزہ

یہ حکمت عملی تکنیکی تجزیہ میں ایک بہت مشہور اشارے پر مبنی ہے - Ichimoku Kinko Hyo ، جس میں بادل کی شکلوں اور قیمت اور بادل کے مابین تعلقات کا استعمال کرتے ہوئے رجحان کی سمت کا تعین اور تجارتی مواقع تلاش کرنے کے لئے کیا جاتا ہے۔ جب قیمت بادل کی پرتوں کو توڑتی ہے تو تجارتی سگنل پیدا ہوتے ہیں۔ یہ حکمت عملی درمیانی اور طویل مدتی پوزیشن ٹریڈنگ کے لئے موزوں ہے۔

حکمت عملی کا اصول

اس حکمت عملی میں Ichimoku Kinko Hyo اشارے کے کئی اجزاء استعمال کیے جاتے ہیں ، جن میں Tenkan-Sen (تبدیلی لائن) ، Kijun-Sen (بیس لائن) ، Senkou Span A (لیڈنگ اسپین A) ، Senkou Span B (لیڈنگ اسپین B) اور Chikou Span (Lagging Span) شامل ہیں۔ یہ لائنیں ایک دوسرے کے ساتھ مل کر Ichimoku بادل بنتی ہیں۔ جب قیمت بادل کی تہوں سے ٹوٹ جاتی ہے تو ، خرید و فروخت کے سگنل پیدا ہوتے ہیں۔

خاص طور پر ، یہ حکمت عملی فیصلہ کرتی ہے کہ آیا قیمت بادل کی پرت کو بنیادی طور پر سینکو اسپین اے اور سینکو اسپین بی لائنوں کی بنیاد پر توڑتی ہے۔ ان دونوں لائنوں کے درمیان کا علاقہ بادل کی پرت کو تشکیل دیتا ہے۔ جب اختتامی قیمت بادل کی پرت کے اوپری کنارے سے ٹوٹ جاتی ہے تو ، خرید کا اشارہ پیدا ہوتا ہے۔ جب اختتامی قیمت بادل کی پرت کے نچلے کنارے سے ٹوٹ جاتی ہے تو ، فروخت کا اشارہ پیدا ہوتا ہے۔

اس کے علاوہ ، حکمت عملی میں اسٹاپ نقصان اور منافع لینے کی قیمتیں بھی مقرر کی جاتی ہیں۔ یہ منافع اور نقصان کے پوائنٹس کا حساب کتاب کرنے کے لئے حکمت عملی کی syminfo.pointvalue اور پوزیشن کی معلومات کا استعمال کرتی ہے ، اور پھر انہیں مخصوص قیمتوں میں تبدیل کرتی ہے۔

فوائد کا تجزیہ

اس حکمت عملی کے مندرجہ ذیل فوائد ہیں:

  1. رجحان کی سمت کا تعین کرنے کے لئے Ichimoku اشارے کا استعمال کرتے ہوئے مؤثر طریقے سے مارکیٹ شور فلٹر کر سکتے ہیں اور درمیانے اور طویل مدتی رجحانات کی شناخت کر سکتے ہیں
  2. بادل کی پرت کے ذریعے توڑنے سے سگنل بنتے ہیں جو جھوٹے بریک آؤٹ کی وجہ سے ہونے والے نقصانات سے بچ سکتے ہیں
  3. سٹاپ نقصان اور منافع لینے کی ترتیبات کو شامل کرنے سے واحد نقصان کو محدود اور منافع میں مقفل کیا جا سکتا ہے
  4. سایڈست پیرامیٹرز حکمت عملی کی کارکردگی پر مختلف پیرامیٹرز کے اثرات کی جانچ کرنے کی اجازت دیتے ہیں
  5. بصری بادل کی پرت اور دیگر Ichimoku اجزاء بدیہی گرافک ٹریڈنگ سگنل تشکیل دیتے ہیں

خطرے کا تجزیہ

اس حکمت عملی میں کچھ خطرات بھی ہیں:

  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))

مزید