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

ایکسپونینشل موونگ ایوریج باؤنس حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-12-08 16:47:39
ٹیگز:

img

حکمت عملی کا جائزہ

ایکسپونینشل موونگ ایوریج (ای ایم اے) باؤنس حکمت عملی ایک حکمت عملی ہے جو موونگ ایوریج لائن کی قیمت کی پیشرفت کو ٹریک کرتی ہے۔ یہ چیک کرتی ہے کہ آیا موم بتیاں موونگ ایوریج لائن سے نیچے سے واپس اچھالتی ہیں۔ اگر ایسا ہے تو ، یہ ایک تیزی کا اشارہ ہے۔ اگر موم بتیاں موونگ ایوریج لائن سے اوپر سے نیچے کی طرف اچھالتی ہیں تو ، یہ ایک bearish اشارہ ہے۔

حکمت عملی کا نام

ایکسپونینشل موونگ ایوریج باؤنس حکمت عملی

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

یہ حکمت عملی ایکسپونینشل موونگ میڈین (ای ایم اے) لائن پر مبنی ہے۔ یہ حقیقی وقت میں ایک ای ایم اے لائن کا حساب لگاتا ہے۔ پھر یہ چیک کرتا ہے کہ کیا قیمت ای ایم اے لائن سے واپس اچھالتی ہے:

  • اگر قیمت پہلے ای ایم اے لائن کو توڑتی ہے اور پھر ای ایم اے لائن سے اوپر واپس لوٹتی ہے تو ، یہ ایک تیزی کا اشارہ ہے۔
  • اگر قیمت پہلے ای ایم اے لائن کو توڑتی ہے اور پھر ای ایم اے لائن سے نیچے گر جاتی ہے تو ، یہ ایک bearish سگنل ہے

اس طرح کی واپسی حکمت عملی کے لئے داخلہ سگنل ہے.

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

رجحان کے ساتھ تجارت کریں، پھنسنے سے بچیں

ای ایم اے باؤنس حکمت عملی صرف قیمت کی تبدیلی کی تصدیق کے بعد ہی شروع ہوتی ہے ، جس سے رجحان کے خلاف تجارت اور پھنس جانے سے بچتا ہے۔

چھوٹی سی واپسی، اچھی تاریخی واپسی

ایکسپونینشل چلتی اوسط کا استعمال کرتے ہوئے، حکمت عملی مؤثر طریقے سے قیمت کے اعداد و شمار کو ہموار اور مارکیٹ شور کو فلٹر کر سکتی ہے، جس کے نتیجے میں چھوٹے ڈراؤونگ اور اچھی تاریخی واپسی.

سمجھنے کے لئے آسان، لچکدار پیرامیٹر ایڈجسٹمنٹ

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

خطرے کا تجزیہ

جھوٹے اشاروں کا شکار

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

رجحان کے ساتھ ٹریڈنگ، موڑ کے مقامات کی پیش گوئی کرنے کے قابل نہیں

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

سٹاپ نقصان کا امکان

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

اصلاح

سگنل فلٹرنگ کے لئے دیگر اشارے شامل کریں

RSI اور MACD جیسے اشارے شامل کیے جا سکتے ہیں تاکہ قیمت کی تبدیلی کی تصدیق کی جاسکے اور جھوٹے سگنل کو فلٹر کیا جاسکے۔

سٹاپ نقصان کے طریقوں کو بہتر بنائیں

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

پیرامیٹر کی اصلاح

بہترین پیرامیٹر مجموعے تلاش کرنے کے لئے ای ایم اے مدت کے پیرامیٹرز کو بہتر بنائیں۔ مارکیٹ کے دوروں کو ٹریک کرنے کے لئے ای ایم اے پیرامیٹرز کو متحرک بھی بنایا جاسکتا ہے۔

نتیجہ

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


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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © tweakerID

// Simple strategy that checks for price bounces over an Exponential Moving Average. If the CLOSE of the candle bounces
// back from having it's LOW below the EMA, then it's a Bull Bounce. If the CLOSE of the candle bounces down from having it's
// high above the EMA, then it's a Bear Bounce. This logic can be reverted.

//@version=4
strategy("EMA Bounce", overlay=true, 
     default_qty_type=strategy.percent_of_equity, 
     default_qty_value=100, 
     initial_capital=10000, 
     commission_value=0.04, 
     calc_on_every_tick=false, 
     slippage=0)

direction = input(0, title = "Strategy Direction", type=input.integer, minval=-1, maxval=1)
strategy.risk.allow_entry_in(direction == 0 ? strategy.direction.all : (direction < 0 ? strategy.direction.short : strategy.direction.long))

/////////////////////// STRATEGY INPUTS ////////////////////////////////////////
title1=input(true, "-----------------Strategy Inputs-------------------")  

i_EMA=input(20, title="EMA Length")

/////////////////////// BACKTESTER /////////////////////////////////////////////
title2=input(true, "-----------------General Inputs-------------------")  

// Backtester General Inputs
i_SL=input(true, title="Use Swing Stop Loss and Take Profit")
i_SPL=input(defval=10, title="Swing Point Loopback")
i_PercIncrement=input(defval=.2, step=.1, title="Swing Point SL Perc Increment")*0.01
i_TPRRR = input(1.2, step=.1, title="Take Profit Risk Reward Ratio")

// Bought and Sold Boolean Signal
bought = strategy.position_size > strategy.position_size[1] 
 or strategy.position_size < strategy.position_size[1]

// Price Action Stop and Take Profit
LL=(lowest(i_SPL))*(1-i_PercIncrement)
HH=(highest(i_SPL))*(1+i_PercIncrement)
LL_price = valuewhen(bought, LL, 0)
HH_price = valuewhen(bought, HH, 0)
entry_LL_price = strategy.position_size > 0 ? LL_price : na 
entry_HH_price = strategy.position_size < 0 ? HH_price : na 
tp=strategy.position_avg_price + (strategy.position_avg_price - entry_LL_price)*i_TPRRR
stp=strategy.position_avg_price - (entry_HH_price - strategy.position_avg_price)*i_TPRRR


/////////////////////// STRATEGY LOGIC /////////////////////////////////////////

EMA=ema(close, i_EMA)
LowAboveEMA=low > EMA
LowBelowEMA=low < EMA
HighAboveEMA=high > EMA
HighBelowEMA=high < EMA
BullBounce=LowAboveEMA[1] and LowBelowEMA and close > EMA //and close > open
BearBounce=HighBelowEMA[1] and HighAboveEMA and close < EMA //and close < open
plot(EMA)

BUY=BullBounce
SELL=BearBounce

//Inputs
DPR=input(false, "Allow Direct Position Reverse")
reverse=input(false, "Reverse Trades")

// Entries
if reverse
    if not DPR
        strategy.entry("long", strategy.long, when=SELL and strategy.position_size == 0)
        strategy.entry("short", strategy.short, when=BUY and strategy.position_size == 0)
    else     
        strategy.entry("long", strategy.long, when=SELL)
        strategy.entry("short", strategy.short, when=BUY)
else
    if not DPR 
        strategy.entry("long", strategy.long, when=BUY and strategy.position_size == 0)
        strategy.entry("short", strategy.short, when=SELL and strategy.position_size == 0)
    else
        strategy.entry("long", strategy.long, when=BUY)
        strategy.entry("short", strategy.short, when=SELL)


SL=entry_LL_price
SSL=entry_HH_price
TP=tp
STP=stp

strategy.exit("TP & SL", "long", limit=TP, stop=SL, when=i_SL)
strategy.exit("TP & SL", "short", limit=STP, stop=SSL, when=i_SL)

/////////////////////// PLOTS //////////////////////////////////////////////////

plot(strategy.position_size > 0 ? SL : na , title='SL', style=plot.style_cross, color=color.red)
plot(strategy.position_size < 0 ? SSL : na , title='SSL', style=plot.style_cross, color=color.red)
plot(strategy.position_size > 0 ? TP : na, title='TP', style=plot.style_cross, color=color.green)
plot(strategy.position_size < 0 ? STP : na, title='STP', style=plot.style_cross, color=color.green)
// Draw price action setup arrows
plotshape(BUY ? 1 : na, style=shape.triangleup, location=location.belowbar, 
 color=color.green, title="Bullish Setup", transp=80, size=size.auto)
plotshape(SELL ? 1 : na, style=shape.triangledown, location=location.abovebar, 
 color=color.red, title="Bearish Setup", transp=80, size=size.auto)


مزید