
اس حکمت عملی میں خرید و فروخت کے پوائنٹس کا تعین کرنے کے لئے سادہ حرکت پذیر اوسط اور کچھ ریاضی کے حساب کتاب کا استعمال کیا جاتا ہے۔ ہم 100 دن کی SMA کو بطور بیس لائن استعمال کرتے ہیں۔ اگر اختتامی قیمت اس لائن سے نیچے ہے تو ہم اس لائن سے نیچے پوزیشن کھولنے کا انتخاب کرتے ہیں ، اور یہ قدر (<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
یہ حکمت عملی تین ایس ایم اے لائنوں کا استعمال کرتی ہے: فاسٹ لائن ((ڈیفالٹ 14 دن) ، سست لائن ((ڈیفالٹ 100 دن) اور ریفرنس لائن ((ڈیفالٹ 30 دن)
جب اختتامی قیمت ریفرنس لائن سے کم ہو اور سست لائن کے مقابلے میں سست لائن کی کم نقل و حرکت ترتیب سے کم نقل و حرکت سے زیادہ ہو اور تیز لائن اوپر چڑھ جائے اور سست لائن نیچے چڑھ جائے تو کثیر سر میں داخل ہو۔ جب ان شرائط کو پورا کیا جائے تو تیز لائن اور سست لائن کے کراس ہونے کا امکان بہت زیادہ ہوتا ہے ، لہذا ایک اچھا نقطہ آغاز ہے۔
جب اختتامی قیمت حوالہ لائن سے زیادہ ہو ، اور سست لائن کے سلسلے میں اعلی انحراف ترتیب سے زیادہ ہو ، اور اختتامی قیمت میں مسلسل 3 K لائنوں میں اضافہ ہوا ہو ، منافع حاصل ہو گیا ہو ، اور تیز لائن سست لائن سے زیادہ ہو ، تو صف بندی بہت آسان ہے۔ اگر قیمت میں اضافہ ہوتا رہتا ہے تو ، ٹریکنگ اسٹاپ نقصان شروع ہوجائے گا۔
ہر تجارت میں پوزیشنوں کے حقوق اور مفادات کے ایک خاص تناسب کے مطابق داخل ہوتے ہیں ، اس طرح پوزیشنوں کو کنٹرول کرتے ہیں۔
بہتر بنانے کے اقدامات:
ایس ایم اے اتار چڑھاؤ کی نقل و حرکت ٹریڈنگ حکمت عملی مختلف ایس ایم اے میڈین لائنوں کے حوالہ سے نقل و حرکت کی ترتیب دے کر ، بہترین داخلے کا وقت تلاش کریں۔ اس کے ساتھ ہی ، واپسی کا طریقہ کار منافع کو مقفل کرنے کے لئے اسٹاپ نقصان کا سراغ لگانے کے لئے ترتیب دیا گیا ہے۔ یہ حکمت عملی آسان سمجھنے میں آسان ہے ، اور اس پر عمل درآمد کرنا آسان ہے۔ ایس ایم اے پیرامیٹرز ، نقل و حرکت کی ترتیب اور اسٹاپ نقصانات کی برابری کو بہتر بنانے کے ذریعہ ، بہتر نتائج حاصل کیے جاسکتے ہیں۔ یہ حکمت عملی درمیانے اور لمبے فاصلے پر چلنے والے سرمایہ کاروں کے لئے موزوں ہے ، جو مستحکم منافع کی تلاش میں ہیں۔
/*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)