چلتی اوسط کراس اوور پر مبنی حکمت عملی کے بعد رجحان

مصنف:چاؤ ژانگ، تاریخ: 2023-10-24 11:02:52
ٹیگز:

img

جائزہ

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

اصول

  1. مختلف ادوار کے ساتھ دو حرکت پذیر اوسط ، ای ایم اے 1 اور ای ایم اے 2 کا حساب لگائیں۔ ای ایم اے 1 کی مدت کم ہے اور ای ایم اے 2 کی مدت زیادہ ہے۔

  2. اس بات کا تعین کریں کہ آیا EMA1 EMA2 سے عبور کرتا ہے، اگر ہاں، تو طویل سفر کریں۔

  3. اس بات کا تعین کریں کہ آیا EMA1 EMA2 سے نیچے گزرتا ہے، اگر ہاں، تو مختصر ہوجائیں۔

  4. اس بات کا تعین کریں کہ آیا اختتامی قیمت داخلہ سگنل کے طور پر EMA1 کو توڑتی ہے۔

  5. باہر نکلنے کا طریقہ کار: سٹاپ نقصان مقرر کریں یا سٹاپ نقصان مقرر کرنے کے لئے ڈونچیان چینل کا استعمال کریں.

استعمال شدہ اہم افعال:

  • ایما ((): ایکسپونینشل چلتی اوسط کا حساب لگائیں
  • کراس اوور ((): اس بات کا تعین کریں کہ آیا EMA1 EMA2 سے عبور کرتا ہے
  • crossunder ((): معلوم کریں کہ آیا EMA1 EMA2 سے نیچے عبور کرتا ہے
  • بڑھتی ہوئی (() / گرتی ہوئی ((): اس بات کا تعین کریں کہ قیمت بڑھ رہی ہے یا گر رہی ہے
  • valuewhen(): شرط کی بنیاد پر مختلف اقدار واپس

فوائد

  1. سادہ منطق، سمجھنے اور لاگو کرنے کے لئے آسان.

  2. مؤثر طریقے سے رجحانات کو ٹریک کرنے کے لئے چلتی اوسط کی رجحان کی پیروی کی خصوصیت کا استعمال کریں.

  3. شمعدان بند قیمت کی پیشرفت کو یکجا کرنے سے غلط پیشرفتوں سے بچنے میں مدد ملتی ہے۔

  4. مختلف متحرک اوسط مجموعوں کا لچکدار استعمال مختلف ادوار کے مطابق۔

  5. سٹاپ نقصان کا طریقہ کار خطرے کو کنٹرول کرتا ہے۔

خطرات

  1. مارکیٹ کی توسیع کے دوران اکثر گولڈن کراسز اور مردہ کراسز کی وجہ سے وِپساؤز ہوتے ہیں۔

  2. مقررہ سٹاپ نقصان کے پوائنٹس مارکیٹ کی تبدیلیوں کی بنیاد پر ایڈجسٹ کرنے کے لئے بہت سخت ہو سکتے ہیں.

  3. چلتی اوسطوں میں تاخیر ہوتی ہے اور موڑ کے مقامات پر الٹ جانے کے سگنل کو یاد کر سکتے ہیں۔

  4. جھوٹے انکشافات کو فلٹر کرنے کے لئے ضروری اوسط چلتی ڈھال کا عین مطابق فیصلہ.

  5. پیرامیٹرز کے انتخاب میں احتیاط کی ضرورت ہے، نامناسب تعدد یا تاخیر حکمت عملی کی کارکردگی کو متاثر کرسکتی ہے۔

اصلاح

  1. ایم اے سی ڈی صفر لائن کراس اوور رجحانات اور فلٹر کنسولڈیشنز کا تعین کرنے میں مدد کرسکتا ہے۔

  2. مقررہ سٹاپ نقصان کو بہتر بنانے کے لئے متحرک سٹاپ نقصان لائن کے لئے Donchian چینل شامل کریں.

  3. مضبوط یا کمزور رجحانات کا اندازہ کرنے کے لئے بولنگر بینڈ شامل کریں، مارکیٹ کی توسیع کے دوران غیر موثر تجارت سے بچنے کے لئے.

  4. چلتی اوسط پیرامیٹر کے مجموعے کو بہتر بنائیں اور مختلف مدت کی حکمت عملیوں کی اصل کارکردگی کی جانچ کریں۔

  5. تاخیر کو کم کرنے کے لئے لنگر چلتی اوسط شامل کرنے پر غور کریں.

نتیجہ

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


/*backtest
start: 2023-09-01 00:00:00
end: 2023-10-23 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy(title='Mega crypto bot strategy', shorttitle='megacryptobot_Strategy', overlay=true, pyramiding=0, initial_capital=10000, currency=currency.USD)

//Candle body resistance Channel-----------------------------//
len = 34
src = input(close, title="Candle body resistance Channel")
out = sma(src, len)
last8h = highest(close, 13)
lastl8 = lowest(close, 13)
bearish = cross(close,out) == 1 and falling(close, 1)
bullish = cross(close,out) == 1 and rising(close, 1)
channel2=input(false, title="Bar Channel On/Off")
ul2=plot(channel2?last8h:last8h==nz(last8h[1])?last8h:na, color=black, linewidth=1, style=linebr, title="Candle body resistance level top", offset=0)
ll2=plot(channel2?lastl8:lastl8==nz(lastl8[1])?lastl8:na, color=black, linewidth=1, style=linebr, title="Candle body resistance level bottom", offset=0)
//fill(ul2, ll2, color=black, transp=95, title="Candle body resistance Channel")

//-----------------Support and Resistance 
RST = input(title='Support / Resistance length:',  defval=10) 
RSTT = valuewhen(high >= highest(high, RST), high, 0)
RSTB = valuewhen(low <= lowest(low, RST), low, 0)
RT2 = plot(RSTT, color=RSTT != RSTT[1] ? na : red, linewidth=1, offset=+0)
RB2 = plot(RSTB, color=RSTB != RSTB[1] ? na : green, linewidth=1, offset=0)

//--------------------Trend colour ema------------------------------------------------// 
src0 = close, len0 = input(13, minval=1, title="EMA 1")
ema0 = ema(src0, len0)
direction = rising(ema0, 2) ? +1 : falling(ema0, 2) ? -1 : 0
plot_color = direction > 0  ? lime: direction < 0 ? red : na
plot(ema0, title="EMA", style=line, linewidth=1, color = plot_color)

//-------------------- ema 2------------------------------------------------//
src02 = close, len02 = input(21, minval=1, title="EMA 2")
ema02 = ema(src02, len02)
direction2 = rising(ema02, 2) ? +1 : falling(ema02, 2) ? -1 : 0
plot_color2 = direction2 > 0  ? lime: direction2 < 0 ? red : na
plot(ema02, title="EMA Signal 2", style=line, linewidth=1, color = plot_color2)

//=============Hull MA//
show_hma = input(false, title="Display Hull MA Set:")
hma_src = input(close, title="Hull MA's Source:")
hma_base_length = input(8, minval=1, title="Hull MA's Base Length:")
hma_length_scalar = input(5, minval=0, title="Hull MA's Length Scalar:")
hullma(src, length)=>wma(2*wma(src, length/2)-wma(src, length), round(sqrt(length)))
plot(not show_hma ? na : hullma(hma_src, hma_base_length+hma_length_scalar*6), color=black, linewidth=2, title="Hull MA")

//============ signal Generator ==================================//
period = input('720')
ch1 = request.security(syminfo.tickerid, period, open)
ch2 = request.security(syminfo.tickerid, period, close)
longCondition = crossover(request.security(syminfo.tickerid, period, close),request.security(syminfo.tickerid, period, open))
if (longCondition)
    strategy.entry("BUY", strategy.long)
shortCondition = crossunder(request.security(syminfo.tickerid, period, close),request.security(syminfo.tickerid, period, open))
if (shortCondition)
    strategy.entry("SELL", strategy.short)

///////////////////////////////////////////////////////////////////////////////////////////

مزید