سی سی آئی اور ای ایم اے پر مبنی اسکیلپنگ حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-01-31 16:01:21
ٹیگز:

img

جائزہ

یہ ایک قلیل مدتی نوسازی ٹریڈنگ حکمت عملی ہے جس میں ای ایم اے اشارے اور سی سی آئی اشارے کو مل کر قلیل مدتی رجحانات اور مارکیٹ میں زیادہ خریدنے / زیادہ فروخت کی سطح کی نشاندہی کرنے کے لئے قلیل مدتی قیمتوں میں اتار چڑھاؤ سے مواقع حاصل کرنے کے لئے ملتا ہے.

حکمت عملی منطق

حکمت عملی بنیادی طور پر 10 دن کی EMA، 21 دن کی EMA اور 50 دن کی EMA لائنز اور CCI اشارے کو داخلہ اور باہر نکلنے کے وقت کا تعین کرنے کے لئے استعمال کرتی ہے.

مخصوص منطق یہ ہے: جب قلیل مدتی حرکت پذیر اوسط (10 دن کا ای ایم اے) درمیانی مدتی حرکت پذیر اوسط (21 دن کا ای ایم اے) سے اوپر عبور کرتا ہے اور قلیل مدتی حرکت پذیر اوسط طویل مدتی حرکت پذیر اوسط (50 دن کا ای ایم اے) سے زیادہ ہے ، اور اسی وقت سی سی آئی اشارے 0 سے زیادہ ہے ، تو اسے طویل عرصے تک جانے کا ایک تیزی کا اشارہ سمجھا جاتا ہے۔ جب قلیل مدتی حرکت پذیر اوسط درمیانی مدتی حرکت پذیر اوسط سے نیچے عبور کرتا ہے اور قلیل مدتی حرکت پذیر اوسط طویل مدتی حرکت پذیر اوسط سے کم ہوتا ہے ، اور اسی وقت سی سی آئی اشارے 0 سے کم ہوتا ہے ، تو اسے مختصر ہونے کا ایک bearish اشارہ سمجھا جاتا ہے۔

باہر نکلنے کا منطق پوزیشن کو بند کرنا ہے جب قلیل مدتی حرکت پذیر اوسط درمیانی مدت کے حرکت پذیر اوسط سے پیچھے کی طرف بڑھتا ہے.

فوائد

  1. چلتی اوسط نظام اور سی سی آئی اشارے کو یکجا کرنے سے قلیل مدتی قیمتوں کے رجحانات اور زیادہ خریدنے / زیادہ فروخت کی سطح کو مؤثر طریقے سے شناخت کیا جاسکتا ہے۔

  2. داخلہ اور باہر نکلنے کا تعین کرنے کے لئے چلتی اوسط کراس اوور کا استعمال آسان اور عملی ہے۔

  3. سی سی آئی پیرامیٹر اور سائیکل کی ترتیبات کچھ غلط سگنل کو فلٹر کرنے کے لئے زیادہ معقول ہیں.

  4. چلتی اوسط کے متعدد ٹائم فریم اپنانے سے اتار چڑھاؤ والے بازاروں میں بہتر تجارتی مواقع مل سکتے ہیں۔

خطرات

  1. مختصر مدت کے معاملات میں بڑے اتار چڑھاؤ کے نتیجے میں مسلسل سٹاپ نقصان ہوسکتا ہے۔

  2. غلط سی سی آئی پیرامیٹرز کی ترتیبات غلط سگنل کو بڑھا سکتے ہیں.

  3. حد سے محدود اور استحکام کی مدت کے دوران، یہ حکمت عملی کئی چھوٹے نقصانات کا سامنا کر سکتی ہے.

  4. صرف قلیل مدتی بار بار تجارت کرنے والوں کے لیے موزوں، طویل مدتی ہولڈنگ کے لیے موزوں نہیں۔

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

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

  1. پیرامیٹرز کو بہتر بنانے کے لئے ای ایم اے لمبائی کے مختلف مجموعوں کی جانچ کی جاسکتی ہے۔

  2. دیگر اشارے یا فلٹر حالات شامل کیے جا سکتے ہیں تاکہ کچھ غلط سگنل جیسے MACD، KDJ وغیرہ کو فلٹر کیا جا سکے۔

  3. واحد نقصان کو کنٹرول کرنے کے لئے متحرک پیچھے سٹاپ نقصان کا استعمال کریں.

  4. اعلی ٹائم فریم ٹرینڈ اشارے کا امتزاج رجحان کے خلاف تجارت سے بچ سکتا ہے۔

نتیجہ

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


/*backtest
start: 2023-12-31 00:00:00
end: 2024-01-30 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//study(title="Strat CCI EMA scalping", shorttitle="EMA-CCI-strat", overlay=true)
strategy("Strat CCI EMA scalping", shorttitle="EMA-CCI-strat", overlay=true)

exponential = input(true, title="Exponential MA")

// the risk management inputs
inpTakeProfit   = input(defval = 1000, title = "Take Profit", minval = 0)
inpStopLoss     = input(defval = 200, title = "Stop Loss", minval = 0)
inpTrailStop    = input(defval = 200, title = "Trailing Stop Loss", minval = 0)
inpTrailOffset  = input(defval = 0, title = "Trailing Stop Loss Offset", minval = 0)

// === RISK MANAGEMENT VALUE PREP ===
// if an input is less than 1, assuming not wanted so we assign 'na' value to disable it.
useTakeProfit   = inpTakeProfit  >= 1 ? inpTakeProfit  : na
useStopLoss     = inpStopLoss    >= 1 ? inpStopLoss    : na
useTrailStop    = inpTrailStop   >= 1 ? inpTrailStop   : na
useTrailOffset  = inpTrailOffset >= 1 ? inpTrailOffset : na

src = close

ma10 = exponential ? ema(src, 10) : sma(src, 10)
ma21 = exponential ? ema(src, 21) : sma(src, 21)
ma50 = exponential ? ema(src, 50) : sma(src, 50)

xCCI = cci(close, 200)

//buy_cond = cross(ma21, ma50) and ma10 > ma21 and (xCCI > 0)
//sell_cond = cross(ma21, ma50) and ma10 < ma21  and (xCCI < 0)

buy_cond = ma10 > ma21 and ma10 > ma50 and xCCI > 0
sell_cond = ma10 < ma21 and ma10 < ma50 and xCCI < 0



// === STRATEGY - LONG POSITION EXECUTION ===
enterLong() => buy_cond
exitLong() => ma10 < ma21
strategy.entry(id = "Long", long = true, when = enterLong()) // use function or simple condition to decide when to get in
strategy.close(id = "Long", when = exitLong()) // ...and when to get out
// === STRATEGY - SHORT POSITION EXECUTION ===
enterShort() => sell_cond
exitShort() => ma10 > ma21
strategy.entry(id = "Short", long = false, when = enterShort())
strategy.close(id = "Short", when = exitShort())

// === STRATEGY RISK MANAGEMENT EXECUTION ===
// finally, make use of all the earlier values we got prepped
//strategy.exit("Exit Long", from_entry = "Long", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)
//strategy.exit("Exit Short", from_entry = "Short", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)




//longCondition = buy_cond
//if(longCondition)
//    strategy.entry("Long", strategy.long)
//    strategy.exit("Close Long", "Long", when = exitLong())
    
//shortCondition = sell_cond
//if(shortCondition)
//    strategy.entry("Short", strategy.short)
//    strategy.exit("Close Short", "Short",  when = exitShort())

//plotshape(buy_cond, style=shape.flag, color=green, size=size.normal)
//plotshape(sell_cond, style=shape.flag, color=red, size=size.normal)

c1 = buy_cond==1 ? lime : sell_cond==1 ? red : #a3a3a3 // color

plot( ma10, color=red, style=line, title="10", linewidth=1)
plot( ma21, color=orange, style=line, title="21", linewidth=1)
plot( ma50, color=c1, style=line, title="50", linewidth=3)

//alertcondition(buy_cond, title = "Buy Condition", message = "Buy Condition Alert")
//alertcondition(sell_cond, title = "Sell Condition", message = "Sell Condition Alert")

مزید