یہ حکمت عملی ہر گرڈ کی پرت کے درمیان ابتدائی قیمت اور فیصد مقرر کرکے فکسڈ گرڈ ٹریڈنگ نقطہ نظر کو اپناتی ہے۔ پھر یہ کم خرید-اعلی فروخت گرڈ ٹریڈنگ حکمت عملی کو نافذ کرنے کے لئے فیصد کی بنیاد پر 10 فکسڈ خرید اور فروخت کی قیمتوں کا حساب لگاتا ہے۔
اسٹریٹجی میں سب سے پہلے ابتدائی قیمت اور گرڈ فاصلے کا فیصد مقرر کیا جاتا ہے۔ پھر یہ ابتدائی قیمت اور فیصد کی بنیاد پر خرید و فروخت کی 10 تہوں کا حساب لگاتا ہے۔
خرید قیمت کا فارمولا:
b1=اسپریس-(اسپریس*p1)
b2=اسپریس-(اسپریس*p2)
b3=اسپریس-(اسپریس*p3)
…
جہاں p1 ~ p10 فیصد ہیں جو گرڈ فی صد کی بنیاد پر پرت کے مطابق حساب لگاتے ہیں۔
فروخت کی قیمت کا فارمولا:
s1=b1+(sprice*p1)
s2=b2+(sprice*p1)
s3=b3+(sprice*p1)
…
خریدنے کی شرط اس وقت شروع ہوتی ہے جب بند ہونے کی قیمت خریدنے کی قیمت سے کم ہو:
if (close
strategy.entry ((
اسی طرح، فروخت کی شرط ٹرگر ہوتی ہے جب بند ہونے کی قیمت فروخت کی قیمت سے زیادہ ہوتی ہے:
if (close>s1)
strategy.exit("b1"، جب=(close>s1))
اس سے کم خرید-زیادہ فروخت گرڈ ٹریڈنگ کی حکمت عملی کو لاگو کیا جاتا ہے.
فکسڈ نیٹ ورک کی حکمت عملی میں مندرجہ ذیل فوائد ہیں:
مارکیٹ کے وقت کے بغیر آٹو کم خریدیں اعلی فروخت حاصل کرتا ہے، تجارتی مشکل کو کم کرتا ہے.
مناسب گریڈ فاصلہ مقرر کرنے سے مؤثر طریقے سے خطرے کو کنٹرول کیا جاتا ہے اور پیچھا کرنے سے بچتا ہے.
منافع بخش چاہے مارکیٹ اوپر جائے یا نیچے.
مختلف مارکیٹ کے حالات کے لئے نیٹ ورک پیرامیٹرز کو ایڈجسٹ کرنے کی لچک.
گرڈ تہوں کو شامل کرکے پوزیشن سائز کو بڑھانا۔
سٹاپ نقصان کو شامل کرنے سے انتہائی مارکیٹ کے واقعات میں بڑے نقصان سے بچتا ہے۔
اس حکمت عملی میں کچھ خطرات بھی ہیں:
ٹریڈنگ فیس رینج محدود مارکیٹ کے دوران منافع کھاتا ہے.
غلط ابتدائی قیمت اور گرڈ کی ترتیبات نقصان کا باعث بنتی ہیں.
انتہائی واقعات کے دوران قیمت کا فرق نقصان کا سبب بن سکتا ہے۔
میکانکی ٹریڈنگ میں آرڈر داخل کرنے کا خطرہ ہوتا ہے۔
مرکوز واقعات نقصانات کو بڑھا سکتے ہیں.
حل:
منافع > فیس کو یقینی بنانے کے لئے گرڈ پیرامیٹرز کو بہتر بنائیں.
بہترین شروعاتی قیمت اور گرڈ فاصلہ تلاش کرنے کے لئے بیک ٹیسٹ.
خطرات کو کنٹرول کرنے کے لئے سٹاپ نقصان شامل کریں.
داخل کرنے سے بچنے کے لئے آرام سے آرڈر کی قیمت.
زیادہ سے زیادہ نقصان کو محدود کرنے کے لئے خطرہ کنٹرول مقرر کریں.
اسٹریٹیجی کو مندرجہ ذیل طریقوں سے بہتر بنایا جاسکتا ہے:
متحرک طور پر اتار چڑھاؤ کی بنیاد پر گرڈ فاصلے کو ایڈجسٹ کریں.
متحرک طور پر شروعاتی قیمت مقرر کرنے کے لئے قیمت کی حد کا حساب لگائیں.
قیمت کی پیشن گوئی اور گرڈ کو ایڈجسٹ کرنے کے لئے ایم ایل ماڈل شامل کریں.
تاریخی سٹاپ نقصان پوائنٹس کی بنیاد پر سٹاپ نقصان کو بہتر بنائیں.
منافع کی سطح کی بنیاد پر پوزیشن سائزنگ شامل کریں.
سرمایہ کے استعمال کو زیادہ سے زیادہ کرنے کے لئے پوزیشن مینجمنٹ کو بہتر بنائیں.
اثرات کی لاگت کو کم کرنے کے لئے TWAP کا استعمال کرتے ہوئے عملدرآمد کو بہتر بنائیں۔
یہ حکمت عملی شروعاتی قیمت اور گرڈ فیصد کی بنیاد پر خرید و فروخت کی قیمتوں کا تعین کرکے فکسڈ گرڈ ٹریڈنگ کو نافذ کرتی ہے ، جس سے آٹو کم خرید-اعلی فروخت حاصل ہوتی ہے۔ منافع کو مقفل کرنے اور نقصان پر قابو پانے کے لئے پیرامیٹرز ، متحرک ایڈجسٹمنٹ اور اسٹاپ نقصان کو بہتر بنا کر خطرات کا انتظام کرنا ضروری ہے۔ جدید ML اور منی مینجمنٹ کی تکنیکوں کو شامل کرنا حکمت عملی کی منافع بخش اور جیت کی شرح کو مزید بہتر بنا سکتا ہے۔
/*backtest start: 2022-11-09 00:00:00 end: 2023-11-15 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/ // © Lionkind //@version=5 strategy("Grid HW", overlay = true, margin_long = 1, margin_short = 1) // Fix 35k price as starting point and 1% as a distance sprice=input(40500,"Starting price") gridpercent=input(1,"Percent") // calculate the % of the 10 layers p1=((gridpercent*1)/100) p2=((gridpercent*2)/100) p3=((gridpercent*3)/100) p4=((gridpercent*4)/100) p5=((gridpercent*5)/100) p6=((gridpercent*6)/100) p7=((gridpercent*7)/100) p8=((gridpercent*8)/100) p9=((gridpercent*9)/100) p10=((gridpercent*10)/100) //set buy prices b1=sprice-(sprice*p1) b2=sprice-(sprice*p2) b3=sprice-(sprice*p3) b4=sprice-(sprice*p4) b5=sprice-(sprice*p5) b6=sprice-(sprice*p6) b7=sprice-(sprice*p7) b8=sprice-(sprice*p8) b9=sprice-(sprice*p9) b10=sprice-(sprice*p10) //set sell prices s1=b1+(sprice*p1) s2=b2+(sprice*p1) s3=b3+(sprice*p1) s4=b4+(sprice*p1) s5=b5+(sprice*p1) s6=b6+(sprice*p1) s7=b7+(sprice*p1) s8=b8+(sprice*p1) s9=b9+(sprice*p1) s10=b10+(sprice*p1) //Long conditions lc1=close<b1 lc2=close<b2 lc3=close<b3 lc4=close<b4 lc5=close<b5 lc6=close<b6 lc7=close<b7 lc8=close<b8 lc9=close<b9 lc10=close<b10 //exit conditions ec1=close>s1 ec2=close>s2 ec3=close>s3 ec4=close>s4 ec5=close>s5 ec6=close>s6 ec7=close>s7 ec8=close>s8 ec9=close>s9 ec10=close>s10 //long orders if (lc1) strategy.entry("b1", strategy.long, when=(lc1)) if (lc2) strategy.entry("b2", strategy.long, when=(lc2)) if (lc3) strategy.entry("b3", strategy.long, when=(lc3)) if (lc4) strategy.entry("b4", strategy.long, when=(lc4)) if (lc5) strategy.entry("b5", strategy.long, when=(lc5)) if (lc6) strategy.entry("b6", strategy.long, when=(lc6)) if (lc7) strategy.entry("b7", strategy.long, when=(lc7)) if (lc8) strategy.entry("b8", strategy.long, when=(lc8)) if (lc9) strategy.entry("b9", strategy.long, when=(lc9)) if (lc10) strategy.entry("b10", strategy.long, when=(lc10)) //exit orders if (ec1) strategy.exit("b1", when=(ec1), limit=1) if (ec2) strategy.exit("b2", when=(ec2), limit=1) if (ec3) strategy.exit("b3", when=(ec3), limit=1) if (ec4) strategy.exit("b4", when=(ec4), limit=1) if (ec5) strategy.exit("b5", when=(ec5), limit=1) if (ec6) strategy.exit("b6", when=(ec6), limit=1) if (ec7) strategy.exit("b7", when=(ec7), limit=1) if (ec8) strategy.exit("b8", when=(ec8), limit=1) if (ec9) strategy.exit("b9", when=(ec9), limit=1) if (ec10) strategy.exit("b10", when=(ec10), limit=1) plot(b1,color=color.green) plot(s1, color=color.red) plot(b2, color=color.purple)