اس حکمت عملی میں خرید / فروخت پوائنٹس کا تعین کرنے کے لئے سادہ حرکت پذیر اوسط (ایس ایم اے) اور کچھ ریاضی کے حساب کتاب کا استعمال کیا جاتا ہے۔ ہم اپنی بنیاد کے طور پر 100 دن کی ایس ایم اے لائن رکھتے ہیں۔ اگر اختتامی قیمت اس لائن سے نیچے ہے تو ، ہم اس فیصد کی بنیاد پر افتتاحی پوزیشن کا تعین کرتے ہیں جس کی بنیاد پر قیمت لائن سے نیچے ہے (کم آفسیٹ) ، جو تشکیل پذیر ہے۔ اسی طرح ، ہم طویل پوزیشنوں کو بند کرنے سے پہلے 100 دن کے ایس ایم اے کے اوپر ایک اعلی آفسیٹ فیصد مقرر کرتے ہیں۔ اگر ہم بہت جلد بند کرنے کی کوشش کرتے ہیں جبکہ قیمت اب بھی بڑھ رہی ہے تو ، ٹریلنگ اسٹاپ نقصان کو متحرک کیا جائے گا۔
حکمت عملی میں تین ایس ایم اے لائنیں استعمال کی جاتی ہیں: فاسٹ لائن (ڈیفالٹ 14 دن) ، سست لائن (ڈیفالٹ 100 دن) ، اور ریفرنس لائن (ڈیفالٹ 30 دن) ۔
یہ طویل ہوتا ہے جب اختتامی قیمت حوالہ لائن سے نیچے ہوتی ہے ، سست لائن سے نیچے فیصد (کم آفسیٹ) تشکیل شدہ قیمت سے زیادہ ہوتا ہے ، تیز لائن بڑھ رہی ہے اور سست لائن گر رہی ہے۔ جب یہ شرط پوری ہوتی ہے تو ، تیز اور سست لائن جلد ہی عبور کرنے کا امکان بہت زیادہ ہوتا ہے ، لہذا یہ ایک اچھا انٹری پوائنٹ ہے۔
یہ طویل بند ہوجاتا ہے جب بندش کی قیمت حوالہ لائن سے اوپر ہوتی ہے ، سست لائن (اعلی آفسیٹ) سے زیادہ فیصد تشکیل شدہ قیمت سے زیادہ ہوتا ہے ، بندش کی قیمت 3 لگاتار موم بتیوں کے لئے بڑھتی ہے ، ہمارے پاس کھلی منافع ہے ، اور تیز لائن سست لائن سے اوپر ہے۔ اگر طویل بندش کے بعد قیمت میں اضافہ ہوتا رہتا ہے تو ، ٹریلنگ اسٹاپ نقصان شروع ہوجائے گا۔
آرڈر کا سائز کل ایکویٹی کے فیصد پر مبنی ہے، یہ ہماری پوزیشن کا سائز کنٹرول کرتا ہے۔
متعلقہ بہتری:
ایس ایم اے آفسیٹ اتار چڑھاؤ ٹریڈنگ حکمت عملی مختلف ایس ایم اے لائنوں کی بنیاد پر آفسیٹس طے کرکے زیادہ سے زیادہ انٹری پوائنٹس کی نشاندہی کرتی ہے۔ باہر نکلنے کا طریقہ کار فوائد کو مقفل کرنے کے لئے ٹریلنگ اسٹاپ نقصان طے کرتا ہے۔ اس حکمت عملی کو سمجھنا اور نافذ کرنا آسان ہے۔ ایس ایم اے ادوار ، آفسیٹس ، اسٹاپ نقصان کی سطح جیسے پیرامیٹرز کو بہتر بنانے سے ، بہتر نتائج حاصل کیے جاسکتے ہیں۔ یہ مستحکم منافع کی تلاش میں درمیانی اور طویل مدتی سرمایہ کاروں کے لئے موزوں ہے۔
/*backtest start: 2022-12-12 00:00:00 end: 2023-12-18 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // @version=4 // Author: Sonny Parlin (highschool dropout) strategy(shorttitle="SMA+Strategy", title="SMA Offset Strategy", overlay=true, currency=currency.USD, initial_capital=10000) // Inputs and variables ss = input(14, minval=10, maxval=50, title="SMA Fast (days)") ff = input(100, minval=55, maxval=200, title="SMA Slow (days)") ref = input(30, minval=20, maxval=50, title="SMA Reference (days)") lowOffset = input(0.001, "Low Offset (%)", minval=0, step=0.001) highOffset = input(0.0164, "High Offset (%)", minval=0, step=0.0001) orderStake = input(0.96, "Order Stake (%)", minval=0, step=0.01) // SMA smaFast = sma(close, ss) smaSlow = sma(close, ff) smaRef = sma(close, ref) distanceLow = (close - smaSlow) / close distanceHigh = (close - smaSlow) / close // Set up SMA plot but don't show by default plot(smaFast, "smaFast", color=#00ff00, display = 0) plot(smaSlow, "smaSlow", color=#ff0000, display = 0) plot(smaRef, "smaRef", color=#ffffff, display = 0) // The buy stratey: // guard that the low is under our sma low reference line by our lowOffset %, // default is 0.001. (low < smaRef) and (distanceLow > lowOffset) // SMA fast is on the rise and SMA slow is falling and they are very likely // to cross. (rising(smaFast,1)) and (falling(smaSlow, 1)) enterLong = (low < smaRef) and (distanceLow > lowOffset) and (rising(smaFast,1)) and (falling(smaSlow, 1)) // The sell Strategy: // Guard that close is higher than our sma high reference line by our // highOffset %, default is 0.0164. (close > smaRef) and (distanceHigh > highOffset) // Guard that close has risen by 3 candles in a row (rising(close,3)) // Guard that we currently have profit (strategy.openprofit > 0) // Guard that SMA fast is higher than smaSlow (smaFast > smaSlow) // If it keeps going up past our close position the trailing stoploss will kick in! enterShort = (close > smaRef) and (distanceHigh > highOffset) and (rising(close,3)) and (strategy.openprofit > 0) and (smaFast > smaSlow) // Order size is based on total equity // Example 1: // startingEquity = 2000 // close = 47434.93 // orderStake = 0.45 // (2,000 × orderStake) / close = orderSize = 0.0189733599 = approx $900 // Example 2: // startingEquity = 2000 // close = 1.272 // orderStake = 0.45 // (startingEquity × orderStake) / close = orderSize = 707.5471698113 = approx $900 orderSize = (strategy.equity * orderStake) / close // Trailing Stoploss // I'm using 1.35 as my default value, play with this for different results. longTrailPerc = input(title="Trailing Stoploss (%)", type=input.float, minval=0.0, step=0.1, defval=1.35) * 0.01 longStopPrice = 0.0 longStopPrice := if (strategy.position_size > 0) stopValue = close * (1 - longTrailPerc) max(stopValue, longStopPrice[1]) else 0 if (enterLong) strategy.entry("Open Long Position", strategy.long, orderSize, when=strategy.position_size <= 0) if (enterShort) strategy.exit(id="Close Long Position", stop=longStopPrice) //plot(strategy.equity)