وسائل لوڈ ہو رہے ہیں... لوڈنگ...

چلتی اوسط حکمت عملی پر مبنی انٹیگریٹڈ Ichimoku Keltner تجارتی نظام

مصنف:چاؤ ژانگ، تاریخ: 2023-12-20 13:40:08
ٹیگز:

img

جائزہ

اس حکمت عملی میں چلتی اوسط حکمت عملی، Ichimoku کلاؤڈ چارٹس اور Keltner چینل تکنیکی اشارے شامل ہیں تاکہ رجحان کی پیروی اور توڑنے والی تجارت حاصل کی جاسکے، جو اعلی تعدد الگورتھم ٹریڈنگ کے لئے موزوں ہے۔

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

  1. کلٹنر چینل کا استعمال کریں تاکہ یہ فیصلہ کیا جاسکے کہ آیا اسٹاک کی قیمت چینل کے اوپری اور نچلے ریلوں سے تجاوز کرتی ہے یا نہیں ، جو پوزیشن کھولنے کے لئے سگنل ہے۔
  2. Ichimoku بادل چارٹس رجحان کی سمت کا فیصلہ اور Keltner چینل کے ساتھ استعمال کرتے ہیں
  3. چلتی اوسط حکمت عملی اختتامی سگنل بھیجتی ہے

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

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

خطرے کا تجزیہ

  1. متعدد اشارے کی انضمام پیرامیٹرز کی ترتیبات کو زیادہ پیچیدہ بناتی ہے اور محتاط جانچ کی ضرورت ہوتی ہے
  2. کلاؤڈ چارٹس کی تبادلوں کی لائن اور بیس لائن کا عبور ہمیشہ قابل اعتماد تجارتی سگنل نہیں ہوتا ہے
  3. Keltner چینل مختلف اسٹاک کی خصوصیات کے مطابق کرنے کے لئے پیرامیٹرز کو ایڈجسٹ کرنے کی ضرورت ہے

اصلاح کی ہدایات

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

مزید