اس حکمت عملی میں اسٹاک کی طویل اور مختصر پوزیشنوں کے لئے سادہ چلتی اوسط کے گولڈ کراس اور ڈیڈ فورکس کا استعمال کیا جاتا ہے۔ جب تیز لائن نیچے کی طرف سے سست لائن کو توڑتی ہے تو زیادہ کام کریں اور جب تیز لائن اوپر کی طرف سے نیچے کی طرف سے سست لائن کو توڑتی ہے تو ، اس پر عمل نہ کریں۔
اس حکمت عملی میں سب سے پہلے ریٹرننگ کے آغاز اور اختتام کے وقت کی وضاحت کی گئی ہے اور پھر دو اوسط کے حساب سے پیرامیٹرز مقرر کیے گئے ہیں جن میں اوسط کی قسم اور دورانیہ کی لمبائی شامل ہے۔
getMAType ((() فنکشن کے ذریعے دو اوسطوں کی قیمتوں کا حساب لگائیں۔ جن میں fastMA قلیل مدتی اوسط ہے ، اور slowMA طویل مدتی اوسط ہے۔
اس حکمت عملی کی بنیادی منطق یہ ہے:
جب فاسٹ ایم اے پر سست ایم اے پہنایا جاتا ہے تو ، ایک کثیر سگنل لانگ جاری کیا جاتا ہے۔
جب فاسٹ ایم اے سست ایم اے کے نیچے سے گزرتا ہے تو ، ایک خالی سگنل مختصر ہوتا ہے۔
آخر میں ، پیمائش کی مدت کے دوران ، جب زیادہ سگنل ملتے ہیں تو طویل پوزیشن کی حکمت عملی اختیار کی جاتی ہے۔ جب خالی سگنل ملتے ہیں تو خالی پوزیشن کی حکمت عملی اختیار کی جاتی ہے۔
خطرے کے لحاظ سے ، مزید اصلاحات کی جاسکتی ہیں:
رجحانات کی نشاندہی کرنے کے لئے دیگر تکنیکی اشارے پر فلٹر شامل کریں۔
نقصان کو روکنے کے لئے حکمت عملی میں اضافہ کریں اور ایک بار نقصان کو کنٹرول کریں.
مارکیٹ میں اتار چڑھاؤ سے بچنے کے لئے توانائی کے اشارے وغیرہ متعارف کروائیں۔
پیرامیٹرز کی اصلاح کا طریقہ کار قائم کریں ، خود بخود بہترین پیرامیٹرز کا مجموعہ تلاش کریں۔
اس حکمت عملی کو مزید بہتر بنانے کے لیے مندرجہ ذیل نکات پر غور کیا جا سکتا ہے۔
اسٹاپ نقصان کی حکمت عملی میں اضافہ کریں ، جیسے کہ ایک مقررہ اسٹاپ نقصان کا مقام طے کریں یا اسٹاپ نقصان کو ٹریک کریں ، نقصان کو کنٹرول کریں۔
پوزیشن مینجمنٹ کی حکمت عملی میں اضافہ کریں ، جیسے فکسڈ پوزیشن ، متحرک پوزیشن ، اور ٹریڈنگ کے خطرے کو کنٹرول کریں۔
ٹرینڈز کی نشاندہی کرنے والے دیگر تکنیکی اشارے کے ساتھ مل کر ، فلٹرز کو شامل کریں اور جیت کی شرح کو بہتر بنائیں۔
پیرامیٹرز کی ترتیب کو بہتر بنائیں ، گرڈ سرچ ، لکیری رجعت وغیرہ کے ذریعہ زیادہ سے زیادہ پیرامیٹرز تلاش کریں۔
مزید ڈیفالٹ حکمت عملیوں کو بڑھانا ، جیسے کہ بریک آؤٹ ریورس ، بیچوں میں پوزیشنیں بنانا ، وغیرہ ، تجارت کی حکمت عملی کو فروغ دینا
زلزلے کی صورت حال میں اس کے استعمال سے بچنے کے لئے توانائی کی پیمائش میں اضافہ کریں۔
تجارت کی وسیع اقسام ، اسٹاک انڈیکس فیوچر ، غیر ملکی کرنسی ، ڈیجیٹل کرنسی وغیرہ۔
اس حکمت عملی میں اسٹاک کی طویل اور مختصر پوزیشنوں کا انتخاب چلنے والی اوسط کے کراس اصول پر مبنی ہے۔ اس حکمت عملی کا نظریہ آسان ، واضح ، وسیع پیمانے پر استعمال ، لچکدار ، اور اس کی کچھ عملی قدر ہے۔ لیکن اس حکمت عملی میں کچھ پسماندگی بھی ہے ، جس میں زلزلے کو مؤثر طریقے سے فلٹر کرنے کی اہلیت نہیں ہے۔ مستقبل میں اس کو بہتر بنانے ، روکنے ، پیرامیٹرز کو بہتر بنانے ، فلٹرز کو بڑھانے وغیرہ سے بہتر بنایا جاسکتا ہے ، تاکہ حکمت عملی کو زیادہ فائدہ مند بنایا جاسکے۔
/*backtest
start: 2023-09-10 00:00:00
end: 2023-10-10 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//strategy("Golden X BF Strategy", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.0)
/////////////// Time Frame ///////////////
testStartYear = input(2010, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay, 0, 0)
testStopYear = input(2019, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(31, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay, 0, 0)
testPeriod() => true
///////////// MA Params /////////////
source1 = input(title="MA Source 1", defval=close)
maType1 = input(title="MA Type 1", defval="sma", options=["sma", "ema", "swma", "wma"])
length1 = input(title="MA Length 1", defval=50)
source2 = input(title="MA Source 2", defval=close)
maType2 = input(title="MA Type 2", defval="sma", options=["sma", "ema", "swma", "wma"])
length2 = input(title="MA Length 2", defval=200)
///////////// Get MA Function /////////////
getMAType(maType, sourceType, maLen) =>
res = sma(close, 1)
if maType == "ema"
res := ema(sourceType, maLen)
if maType == "sma"
res := sma(sourceType, maLen)
if maType == "swma"
res := swma(sourceType)
if maType == "wma"
res := wma(sourceType, maLen)
res
///////////// MA /////////////
fastMA = getMAType(maType1, source1, length1)
slowMA = getMAType(maType2, source2, length2)
long = crossover(fastMA, slowMA)
short = crossunder(fastMA, slowMA)
/////////////// Plotting ///////////////
checkColor() => fastMA > slowMA
colCheck = checkColor() ? color.lime : color.red
p1 = plot(fastMA, color = colCheck, linewidth=1)
p2 = plot(slowMA, color = colCheck, linewidth=1)
fill(p1, p2, color = checkColor() ? color.lime : color.red)
bgcolor(long ? color.lime : short ? color.red : na, transp=20)
/////////////// Execution ///////////////
if testPeriod()
strategy.entry("Long", strategy.long, when=long)
strategy.entry("Short", strategy.short, when=short)