کلاسک گولڈن کراس موونگ ایوریج ٹریڈنگ اسٹریٹجی


تخلیق کی تاریخ: 2023-12-11 11:37:36 آخر میں ترمیم کریں: 2023-12-11 11:37:36
کاپی: 0 کلکس کی تعداد: 606
1
پر توجہ دیں
1621
پیروکار

کلاسک گولڈن کراس موونگ ایوریج ٹریڈنگ اسٹریٹجی

جائزہ

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

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

یہ حکمت عملی تین مختلف ادوار پر مبنی سادہ منتقل اوسط (SMA) پر مبنی ہے: 50 دن کی لائن، 100 دن کی لائن اور 200 دن کی لائن۔ مخصوص ٹریڈنگ منطق مندرجہ ذیل ہے:

  1. داخلہ سگنل: جب 50 دن کی حرکت پذیری اوسط پر 100 دن کی حرکت پذیری اوسط پہنیں تو زیادہ داخلہ کریں۔

  2. باہر نکلنے کا اشارہ: جب 50 دن کی متحرک اوسط سے نیچے 100 دن کی متحرک اوسط سے ٹکرا جائے تو ، پوزیشن سے باہر نکلیں۔ یا جب اختتامی قیمت 100 دن کی متحرک اوسط سے نیچے ہو تو ، باہر نکلیں۔ یا جب 100 دن کی متحرک اوسط سے نیچے 200 دن کی متحرک اوسط سے ٹکرا جائے تو ، باہر نکلیں۔

  3. اسٹاپ نقصان: موبائل اسٹاپ اور فکسڈ اسٹاپ کو ترتیب دیں۔

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

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

  1. اس حکمت عملی کا استعمال آسان اور آسان ہے۔ اس حکمت عملی کی منطق کو صرف تین مختلف ادوار کی متحرک اوسط کے ساتھ بنایا جاسکتا ہے۔

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

  3. بڑے رجحانات پر قابو پانا آسان ہے۔ حرکت پذیر اوسط مارکیٹ کی اوسط قیمتوں میں تبدیلی کے رجحان کو مؤثر طریقے سے ظاہر کرتی ہے ، اور طویل اور مختصر دورانیہ کی لائنوں کے کراسنگ کے ذریعہ بڑے بازار میں تبدیلیوں کا فیصلہ کرتی ہے۔

  4. اعلی مرضی کے مطابق ڈگری. آپ کو اپنے آپ کو منتقل اوسط کے دورانیہ مجموعہ کا تعین کر سکتے ہیں، خطرے کے کنٹرول کی مختلف ڈگری کو لاگو کرنے کے لئے.

اسٹریٹجک رسک

  1. زیادہ جھوٹے سگنل پیدا ہوسکتے ہیں۔ جب قلیل مدتی اور طویل مدتی منتقل اوسط بہت قریب ہوجاتے ہیں تو ، کثرت سے کراسنگ ہوسکتی ہے ، جس سے بہت سارے غیر موثر سگنل پیدا ہوتے ہیں۔

  2. غیر متوقع واقعات پر فوری ردعمل دینے میں ناکامی۔ قیمتوں میں تبدیلی کے لئے متحرک اوسط کا ردعمل سست ہے ، مارکیٹ میں غیر متوقع خبروں اور اہم واقعات پر حقیقی وقت میں ردعمل دینے میں ناکامی۔

  3. مارکیٹ میں چھوٹے پیمانے پر اتار چڑھاؤ سے فائدہ اٹھانا ناممکن ہے۔ حرکت پذیر اوسط کی غیر شور کی خصوصیت کا مطلب یہ بھی ہے کہ مارکیٹ میں چھوٹے پیمانے پر اتار چڑھاؤ کو فائدہ اٹھانے کے لئے پکڑنا ناممکن ہے۔

  4. پیرامیٹرز کی ترتیب نسبتا subjective ذیلی ہے۔ متحرک اوسط کی مدت کا انتخاب نسبتا subjective ذیلی ہے۔ مختلف مارکیٹوں کے مطابق بہترین پیرامیٹرز کا تعین کرنے کی ضرورت ہے۔

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

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

  2. دوسرے اشارے کے ساتھ مل کر استعمال کریں۔ مثال کے طور پر ، اتار چڑھاؤ کی شرح ، ٹرانزیکشن کی مقدار ، وغیرہ کے ساتھ مل کر استعمال کرنے سے سگنل کی درستگی میں اضافہ ہوسکتا ہے۔

  3. ایڈجسٹمنٹ آپٹیمائزیشن ماڈیول شامل کریں۔ مشین لرننگ اور دیگر ٹیکنالوجیز کے ذریعہ متحرک طور پر متحرک اوسط کی مدت کے پیرامیٹرز کو بہتر بنائیں تاکہ وہ بیرونی مارکیٹ کے ماحول میں تبدیلیوں کو اپنانے کے قابل ہو۔

  4. گہری سیکھنے کے ماڈل کے ساتھ مل کر. ایک زیادہ اعلی درجے کی گہری سیکھنے کے ماڈل کے ساتھ منتقل اوسط کی جگہ لے لے، زیادہ طاقتور خصوصیت نکالنے اور ماڈلنگ کی صلاحیتوں کے ساتھ.

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-12-03 00:00:00
end: 2023-12-10 00:00:00
period: 1m
basePeriod: 1m
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/
// © CJDeegan

//@version=4
strategy(title = "[LIVE] Golden Cross", overlay=true)

// ------------Functions------------

//Percent to Decimal Conversion
perToDec(a) => a * 0.01
//Price Difference to Tick
diffToTick(a,b) => (a - b) / syminfo.mintick 

    
// ------------Strategy Inputs------------
takeProfitInput = input(300, "Take Profit Price (% Gain)")
stopLossInput = input(25, "Stop Loss (% Loss)")


startDate = input(title="Start Date", type=input.integer,
     defval=1, minval=1, maxval=31)
startMonth = input(title="Start Month", type=input.integer,
     defval=1, minval=1, maxval=12)
startYear = input(title="Start Year", type=input.integer,
     defval=2018, minval=1800, maxval=2100)

endDate = input(title="End Date", type=input.integer,
     defval=1, minval=1, maxval=31)
endMonth = input(title="End Month", type=input.integer,
     defval=1, minval=1, maxval=12)
endYear = input(title="End Year", type=input.integer,
     defval=2031, minval=1800, maxval=2100)

inDateRange = (time >= timestamp(syminfo.timezone, startYear,
         startMonth, startDate, 0, 0)) and
     (time < timestamp(syminfo.timezone, endYear, endMonth, endDate, 0, 0))
     

// ------------Populate Indicators------------

//EMA
sma50 = sma(close,50)
sma100 = sma(close,100)
sma200 = sma(close,200)


// ------------Entry Logic------------
//Guards
entryGuard = true
//Triggers
entryTrigger = crossover(sma50,sma100)
//Conditions
entryCondition = entryGuard and entryTrigger
//Calculations
//Execution
if (inDateRange and entryCondition)
    strategy.entry("Long", strategy.long, when = entryCondition, comment = "Entry")

//------------Exit Logic------------

//Guards
//Triggers
exitTrigger = crossunder(sma50,sma100) or close < sma100 or crossunder(sma100,sma200)
//Conditions
exitCondition = exitTrigger

//Calculations
//Take Profit
takeProfitPrice = strategy.position_avg_price + (strategy.position_avg_price * perToDec(takeProfitInput))
//Take Profit Ticks
takeProfitTicks = diffToTick(takeProfitPrice, strategy.position_avg_price)
//StopLoss
stopLossPrice = strategy.position_avg_price - (strategy.position_avg_price * perToDec(stopLossInput))

//Execution
if (inDateRange)
    strategy.close("Long", when = exitCondition, comment = "Sell Trigger")
    strategy.exit("Exit", "Long", comment="Stop", profit=takeProfitTicks, stop=stopLossPrice)

//Plots
plot(sma50, "SMA 50", color = color.blue)
plot(sma100, "SMA 100", color = color.green)
plot(sma200, "SMA 200", color = color.yellow)
entry = plot(strategy.position_size <= 0 ? na : strategy.position_avg_price, "Entry Price", color = color.yellow, style = plot.style_linebr)
profit = plot(strategy.position_size <= 0 ? na : takeProfitPrice, "Take Profit (Price)", color = color.green, style = plot.style_linebr)
stop = plot(strategy.position_size <= 0 ? na : stopLossPrice, "Stop Loss", color = color.red, style = plot.style_linebr)
fill(entry,profit, color=color.green)
fill(entry,stop, color=color.red)