موونگ ایوریج گولڈن کراس پر مبنی بریک تھرو مومینٹم کی حکمت عملی


تخلیق کی تاریخ: 2024-02-06 14:39:22 آخر میں ترمیم کریں: 2024-02-06 14:39:22
کاپی: 2 کلکس کی تعداد: 593
1
پر توجہ دیں
1617
پیروکار

موونگ ایوریج گولڈن کراس پر مبنی بریک تھرو مومینٹم کی حکمت عملی

جائزہ

یہ حکمت عملی 12 دن کی اشاریہ کی حرکت پذیری اوسط ((EMA) اور 26 دن کی EMA پر مبنی ہے جس میں گولڈ فورک داخلہ سگنل کے طور پر استعمال کیا جاتا ہے۔ جعلی توڑنے کو فلٹر کرنے کے لئے ، حکمت عملی مارکیٹ میں رجحانات کا تعین کرنے کے لئے MACD اشارے اور RSI اشارے کا تعین کرنے کے لئے بھی متعارف کروائی گئی ہے۔ اس کے علاوہ ، حکمت عملی اس بات کا بھی تعین کرتی ہے کہ آیا قیمت مزاحمت کی حد کو توڑنے کے لئے رجحان کی تصدیق کرتی ہے۔

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

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

  1. داخلہ سگنل

    • 12th EMA پر 26th EMA پر گولڈ فورک
    • MACD اشارے مثبت ہے اور MACD لائن سگنل لائن سے اوپر ہے
    • RSI اشارے کی قیمتوں کے درمیان مقررہ حد کے اندر
    • اختتامی قیمت 21 ویں ای ایم اے اور 7 ویں ایس ایم اے سے زیادہ ہے
  2. داخلے کی تصدیق

    • اختیاری فیصلہ: قیمت متحرک مزاحمت کی سطح کو توڑ دیتی ہے
  3. نقصان کو روکنے کے طریقے

    • ٹریکنگ اسٹاپ نقصان: ٹریکنگ اسٹاپ نقصان فی صد ٹریکنگ اسٹاپ نقصان کی قیمت اور سیٹ کی بنیاد پر
    • میڈین لائن اسٹاپ: اختتامی قیمت 7 ویں ایس ایم اے اسٹاپ سے نیچے
    • اوسط لکیری فورک: 12 دن ای ایم اے کے نیچے 26 دن ای ایم اے اسٹاپ نقصان
  4. روک تھام کا طریقہ

    • دو ترتیب بندش کے اہداف مقرر کریں ، جب پہلا اسٹاپ ٹرگر ہوتا ہے تو اس کی کچھ مقدار فروخت ہوجاتی ہے ، اور جب دوسرا اسٹاپ ٹرگر ہوتا ہے تو پوری مقدار فروخت ہوجاتی ہے

اسٹریٹجک فوائد

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

اسٹریٹجک رسک

  1. مارکیٹ میں ہلچل کے دوران ، ای ایم اے اشارے زیادہ غلط سگنل دیتے ہیں
  2. ٹریکنگ سٹاپ نقصان کو توڑنے کے بعد توڑ دیا جا سکتا ہے
  3. اوسط لکیری فورک اسٹاپ جب رجحان الٹ جاتا ہے تو وقت پر اسٹاپ نقصان نہیں ہوتا ہے

اس کے جواب میں:

  1. MACD اشارے کے ساتھ مل کر مارکیٹ کے حقیقی رجحانات کا تعین کرنا
  2. ٹریکنگ سٹاپ نقصان کی مقدار کو ایڈجسٹ کریں
  3. دوسرے سٹاپ کا انتخاب یا سٹاپ کا مجموعہ

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

  1. EMA پیرامیٹرز کو بہتر بنانے کے لئے بہترین پیرامیٹرز کا مجموعہ تلاش کریں
  2. مختلف روک تھام کے طریقوں اور پیرامیٹرز کی جانچ اور بہترین روک تھام کا حل تلاش کریں
  3. مختلف روک تھام کے پیرامیٹرز کی جانچ اور روک تھام کے اثر کو بہتر بنانا
  4. دوسرے اشارے کے ساتھ وقت کا تعین
  5. مختلف اقسام کے مطابق ایڈجسٹ کریں، دورانیہ پیرامیٹرز

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-01-30 00:00:00
end: 2024-02-05 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/
// © AbdulRahimShama
//@version=5


strategy('12/26-IT strategy', overlay=true,initial_capital = 100000)



Show_Only_12_26_Crossover_Entry = input.bool(true, group = "Entry_Exit Criteria")
Show_12_26_Crossover_and_resistance_Entry = input.bool(false, group = "Entry_Exit Criteria")


Show_TSL_StopLoss = input.bool(true, group = "Entry_Exit Criteria")
Show_Crossdown_StopLoss = input.bool(true, group = "Entry_Exit Criteria")
Show_SMA7_StopLoss = input.bool(false, group = "Entry_Exit Criteria")



////////////////////////////////////////////////
////////////////TARGETS INPUT
////////////////////////////////////////////////

////////Target1

TargetPerc1 = input.float(title="Target (%)", minval=0,defval=5, group="Target-1") / 100
TargetPrice1 = strategy.position_avg_price * (1 + TargetPerc1)
Target1_exit_qty = input.int(50, group="Target-1",tooltip = "% qty to sell when Target1 is reached")



////////Target2

TargetPerc2 = input.float(title="Target (%)", minval=0,defval=10, group="Target-2") / 100
TargetPrice2 = strategy.position_avg_price * (1 + TargetPerc2)
Target2_exit_qty = input.int(100, group="Target-2",tooltip = "% qty to sell when Target2 is reached")



////////////////////////////////////////////////
////////////////TRAILING STOP LOSS
////////////////////////////////////////////////


TSLsource = input(low, title="TSL Source", group="Trailing StopLoss")

longTrailPerc = input.float(title='Trail Long Loss (%)', minval=0.0, step=0.1, defval=1, group="Trailing StopLoss") * 0.01

TrailStopPrice = 0.0

TrailStopPrice := if strategy.position_size > 0
    sPIVOT_highValue = TSLsource * (1 - longTrailPerc)
    math.max(sPIVOT_highValue, TrailStopPrice[1])
else
    0

TSL = close < TrailStopPrice
plot(series=strategy.position_size > 0 and Show_TSL_StopLoss ? TrailStopPrice : na, color=color.new(color.fuchsia, 0), style=plot.style_linebr, linewidth=2, title='Trailing StopLoss')




////////////////////////////////////////////////
////////////////Moving Averages
////////////////////////////////////////////////



EMA_12=ta.ema(close, 12)
EMA_26=ta.ema(close, 26)
EMA_21=ta.ema(close,21)

plot(EMA_12, title="EMA_12", color=color.rgb(0, 255, 0), offset=0, linewidth=1)
plot(EMA_26, title="EMA_26", color=color.rgb(0, 0, 255), offset=0, linewidth=1)
plot(Show_SMA7_StopLoss ? ta.sma(close,7) : na, title="SMA_7", color=color.rgb(255, 0, 0), offset=0, linewidth=1)



////////////////////////////////////////////////
////////////////RESISTANCE INPUT and PLOTTING
////////////////////////////////////////////////

CrossOverLookbackCandles = input.int(10, group= "RESISTANCE")

resistanceSRC = input(high, group= "RESISTANCE")
resistanceLEFT = input(10, group= "RESISTANCE")
resistanceRIGHT = input(10, group= "RESISTANCE")

hih = ta.pivothigh(resistanceSRC, resistanceLEFT, resistanceRIGHT)
top = ta.valuewhen(hih, resistanceSRC[resistanceRIGHT], 0)

res = plot(top, color=top != top[1] ? na : color.new(#00ff00, 50), offset=-resistanceLEFT, linewidth=2, title="Resistance Line")

EMA_12_Low = ta.lowest(EMA_12, CrossOverLookbackCandles)
EMA_26_Low = ta.lowest(EMA_26, CrossOverLookbackCandles)


////////////////////////////////////////////////
////////////////RSI INPUT and PLOTTING
////////////////////////////////////////////////
RSI = ta.rsi(close, 14)
RSILowerRange = input.int(50, tooltip = "RSI value should be ABOVE this value for entry", group = "RSI")
RSIUpperRange = input.int(70, tooltip = "RSI value should be BELOW this value for entry", group = "RSI")



////////////////////////////////////////////////
////////////////MACD
////////////////////////////////////////////////
fast_length = 12
slow_length = 26
MACD_src = close
signal_length = 9

fast_ma = ta.ema(MACD_src, fast_length)
slow_ma = ta.ema(MACD_src, slow_length)
macd = fast_ma - slow_ma
signal = ta.ema(macd, signal_length)
hist = macd - signal



////////////////////////////////////////////////
////////////////ENTRY CRITERIA
////////////////////////////////////////////////


BUYVALUE= input(100000, tooltip = "Buy qty displayed on chart will be based on this value")

BASEENTRY = macd > signal and RSI > RSILowerRange and RSI < RSIUpperRange and close > EMA_21 and close > ta.sma(close, 7)


Entry= ta.crossover(EMA_12, EMA_26) and BASEENTRY
Entry2 = ta.crossover(close, top) and EMA_12_Low < EMA_26_Low and EMA_12 > EMA_26 and RSI < 70

////////////////////////////////////////////////
////////////////BUY SELL STRATEGY
////////////////////////////////////////////////

if ((Entry and Show_Only_12_26_Crossover_Entry))
    strategy.entry("buy", strategy.long, qty=BUYVALUE/close)

if (Entry2 and Show_12_26_Crossover_and_resistance_Entry)
    strategy.entry("buy", strategy.long, qty=BUYVALUE/close)

strategy.exit("Tg1", "buy", limit=TargetPrice1, qty_percent = Target1_exit_qty)
strategy.exit("Tg2", "buy", limit=TargetPrice2, qty_percent = Target2_exit_qty)



if TSL and Show_TSL_StopLoss and close < EMA_12 
    strategy.close_all ("sl")

if ta.crossunder(EMA_12, EMA_26) and Show_Crossdown_StopLoss
    strategy.close_all ("sl")

if ta.crossunder(close, ta.sma(close, 7)) and Show_SMA7_StopLoss
    strategy.close_all ("sl")