یہ حکمت عملی گرڈ کی حکمت عملی کے بعد ایک رجحان ہے جو صرف لمبا ہوتا ہے اور مختصر نہیں ہوتا ہے ، وقت کے ادوار کا انتخاب کرتا ہے جب اہم رجحان اوپر ہوتا ہے۔ ڈیفالٹ گرڈ کا سائز 1xATR ہے ، جس میں آرڈر کا پیچھا کرنے کے لئے 1 ، 2 ، 3 گرڈ کی سطحیں نیچے کی طرف بنائی جاتی ہیں ، اور 5 واں گرڈ نقصان کو روکتا ہے۔ جب خالی پوزیشن پچھلے گرڈ تک پہنچ جاتی ہے تو ، پوری گرڈ قیمت کو ٹریک کرنے کے لئے اوپر کی طرف بڑھتی ہے۔
یہ حکمت عملی قیمت کو ٹریک کرنے کے لئے اہم رجحان کی سمت اور گرڈ ٹریڈنگ کا تعین کرنے کے لئے ای ایم اے کو جوڑتی ہے۔ یہ ایک اپ ٹرینڈ میں زیادہ منافع حاصل کرسکتا ہے۔ گرڈ الگ الگ پوزیشن کھولنے کے لئے متعدد قیمت پوائنٹس طے کرتا ہے ، جس سے ہر پوزیشن کا خطرہ کم ہوجاتا ہے۔ اسٹاپ نقصان اور منافع کی ترتیبات منافع میں مقفل ہوتی ہیں اور زیادہ سے زیادہ نقصانات کو بھی محدود کرتی ہیں۔ تمام پوزیشنوں کو بند کرنے کے بعد ، حکمت عملی دوبارہ پوزیشن کھولنے کے لئے گرڈ کی نئی اعلی سطحوں کا دوبارہ حساب کرسکتی ہے ، منافع کو زیادہ سے زیادہ کرتی ہے۔
اہم فائدہ ٹرینڈ ٹریڈنگ اور گرڈ ٹریڈنگ کا امتزاج ہے ، جو ٹرینڈ کی سمت کی درستگی کو یقینی بناتا ہے اور گرڈ ٹریڈنگ کے خطرے کی بازیابی کو بھی حاصل کرتا ہے۔ اس کے علاوہ ، پوزیشنوں کی بندش کے بعد گرڈ کا دوبارہ حساب لگانے سے لامحدود پیچھا کرنے کی اجازت ملتی ہے ، جب بڑی ریلی ہوتی ہے تو بہت زیادہ منافع حاصل ہوتا ہے۔
اہم خطرہ اہم رجحان کی سمت کا غلط فیصلہ ہے ، جس کی وجہ سے رجحان کے خلاف پوزیشنیں کھلیں گی اور بڑے نقصانات ہوں گے۔ نیز ، اگر متعدد گرڈز پھنس جانے کے ساتھ سائیڈ ویز اتار چڑھاؤ زیادہ ہے تو ، نقصانات میں اضافہ ہوگا۔ اس کے علاوہ ، تیزی سے قیمت میں کمی اسٹاپ نقصان کو متحرک کرسکتی ہے اور تمام پوزیشنوں کو بند کرسکتی ہے ، جس سے منافع کے بعد کے مواقع ضائع ہوجاتے ہیں۔ pullbacks کے بعد ابتدائی زیادہ سے زیادہ گرڈ کی سطحوں میں دوبارہ داخل ہونا مشکل ہوگا۔
ای ایم اے پیرامیٹرز کو بہتر بنانے سے اہم رجحانات کے فیصلے کی درستگی کو بہتر بنایا جاسکتا ہے۔ گرڈ کے وقفے اور پہلی اندراج کے سائز کو ایڈجسٹ کرنے سے مجموعی نقصانات کو بھی کنٹرول کیا جاسکتا ہے۔ اسٹاپ نقصان کی پوزیشن کو مارکیٹ میں اتار چڑھاؤ کی تعدد پر غور کرنے کی ضرورت ہے۔ نیز ، تمام پوزیشنوں کو بند کرنے کے بجائے جزوی پوزیشنوں کے لئے منافع لینے پر غور کیا جاسکتا ہے۔
اس حکمت عملی کو مندرجہ ذیل پہلوؤں میں بھی بہتر بنایا جاسکتا ہے:
ان اصلاحی اقدامات کے ساتھ، حکمت عملی اہم رجحانات کے دوران زیادہ منافع حاصل کر سکتی ہے، جبکہ خطرات کو کنٹرول کرنے اور عام ضمنی اتار چڑھاؤ میں نقصانات کو کم کرنے میں بھی.
یہ حکمت عملی رجحان کی تجارت اور گرڈ ٹریڈنگ کو نامیاتی طور پر جوڑتی ہے۔ یہ اہم سمت کا تعین کرنے کے لئے ای ایم اے کا استعمال کرتی ہے اور رجحانات کا پیچھا کرنے کے لئے الگ الگ پوزیشنیں کھولنے کے لئے گرڈ ٹریڈنگ کا استعمال کرتی ہے۔ اسٹاپ نقصان ، منافع اور گرڈ دوبارہ حساب کتاب کے طریقہ کار سمیت مناسب رسک مینجمنٹ کے ساتھ ، یہ حکمت عملی بڑے رجحانات کے دوران مہذب منافع پیدا کرسکتی ہے ، جبکہ خطرات کو بھی کنٹرول کرسکتی ہے۔ پیرامیٹرز اور فیصلے کی درستگی پر مزید اصلاحات سے زیادہ منافع مل سکتا ہے۔ یہ براہ راست تجارت کے لئے تفصیلی جانچ اور اصلاح کے قابل ہے۔
/*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/ // © zxcvbnm3260 //@version=5 strategy("grid strategy long", overlay=true) // 版本更新记录: // v1.0 2021/11/09 只做多、不做空,选择大趋势向上的时间段。网格大小默认为1倍ATR,往下1、2、3个网格吃单,第5个网格止损。空仓时到达往上一个网格则网格整体抬升。(Only go long, not short, choose a time period when the general trend is up. The default grid size is 1x ATR, the next one, two, and three grids will take orders, and the fifth grid will stop loss. When the empty position reaches the upper grid, the grid as a whole rises.) X_ATR = input.float(title='网格大小是多少倍ATR?', defval = 1) // 1.基础变量 ema169 = ta.ema(close, 169) ema144 = ta.ema(close, 144) ema12 = ta.ema(close, 12) ema576 = ta.ema(close, 576) ema676 = ta.ema(close, 676) plot(ema169, color=color.new(color.orange, 0), linewidth=2) // plot(ema144, color=color.orange) plot(ema12, color=color.blue) // plot(ema676, color=color.orange, linewidth=1) mtr = math.max(high - low, math.abs(close[1] - high), math.abs(close[1] - low)) atr = ta.ema(mtr, 30) is_0930 = hour(time, 'GMT-4') == 9 and minute(time, 'GMT-4') == 30 is_1500 = hour(time, 'GMT-4') == 15 and minute(time, 'GMT-4') == 00 is_1530 = hour(time, 'GMT-4') == 15 and minute(time, 'GMT-4') == 30 is_yangxian = close>open is_yinxian = close<open // 2.基本趋势标记 big_trend = ema12 >= ema169 ? 1 : 0 big_trend2 = ema12 <= ema169 ? 1 : 0 // 背景的变色处理: bgcolor(big_trend == 1 ? color.new(color.green, 90) : color.new(color.red, 90) ) // 3.网格点位初始化 grid_size = atr * X_ATR // 网格大小 price_entry1 = open - grid_size*1 price_entry2 = open - grid_size*2 price_entry3 = open - grid_size*3 price_stop_loss = open - grid_size*5 price_exit1 = price_entry1 + grid_size*1 price_exit2 = price_entry2 + grid_size*1 price_exit3 = price_entry3 + grid_size*1 qty1 = int(1000/price_entry1) qty2 = int(1000/price_entry2) qty3 = int(1000/price_entry3) // 标出各种点位 slm_lines_time(time, price_entry1, price_entry2, price_entry3, price_stop_loss, price_exit1)=> time2 = time + 1000*3600*24*5 line.new(time, price_stop_loss, time2, price_stop_loss, color=color.red, xloc = xloc.bar_time, width=2) // 止损位 line.new(time, price_entry1, time2, price_entry1, color=color.green, xloc = xloc.bar_time) // line.new(time, price_entry2, time2, price_entry2, color=color.green, xloc = xloc.bar_time) // line.new(time, price_entry3, time2, price_entry3, color=color.green, xloc = xloc.bar_time) // line.new(time, price_exit1, time2, price_exit1, color=color.green, xloc = xloc.bar_time, width=2) // slm_lines(time, price_entry1, price_entry2, price_entry3, price_stop_loss, price_exit1)=> line.new(bar_index, price_stop_loss, bar_index[5], price_stop_loss, color=color.red, xloc = xloc.bar_index, width=2) // 止损位 line.new(bar_index, price_entry1, bar_index[5], price_entry1, color=color.green, xloc = xloc.bar_index) // line.new(bar_index, price_entry2, bar_index[5], price_entry2, color=color.green, xloc = xloc.bar_index) // line.new(bar_index, price_entry3, bar_index[5], price_entry3, color=color.green, xloc = xloc.bar_index) // line.new(bar_index, price_exit1, bar_index[5], price_exit1, color=color.green, xloc = xloc.bar_index, width=2) // // 4.网格点位更新和下单 is_entry0 = big_trend==1 and year>=2020 var is_entry = false // 未进场时: if is_entry0 and not is_entry is_entry := true grid_size := atr * X_ATR // 网格大小 price_entry1 := close - grid_size*1 price_entry2 := close - grid_size*2 price_entry3 := close - grid_size*3 price_stop_loss := close - grid_size*5 price_exit1 := price_entry1 + grid_size*1 price_exit2 := price_entry2 + grid_size*1 price_exit3 := price_entry3 + grid_size*1 qty1 := int(1000/price_entry1) qty2 := int(1000/price_entry2) qty3 := int(1000/price_entry3) // slm_lines(time, price_entry1, price_entry2, price_entry3, price_stop_loss, price_exit1) strategy.entry("open1", strategy.long, qty1, limit = price_entry1) strategy.entry("open2", strategy.long, qty2, limit = price_entry2) strategy.entry("open3", strategy.long, qty3, limit = price_entry3) strategy.exit("close1", qty = qty1, limit = price_exit1, stop = price_stop_loss) strategy.exit("close2", qty = qty2, limit = price_exit2, stop = price_stop_loss) strategy.exit("close3", qty = qty3, limit = price_exit3, stop = price_stop_loss) // 已进场的各类情况 // 1.止损 if is_entry and close <= price_stop_loss strategy.close_all() is_entry := false // 2.网格抬升 if is_entry and close >= price_exit1 is_entry := false