شرح تبادلہ ٹریڈنگ کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-09-28 11:26:44
ٹیگز:

جائزہ

یہ حکمت عملی خرید / فروخت کے اشاروں کا تعین کرنے کے لئے وقت کے ساتھ ساتھ تبدیلی کی شرح کا حساب لگاتی ہے۔ یہ تاجروں کو قلیل مدتی قیمتوں میں اتار چڑھاؤ میں مواقع حاصل کرنے میں مدد دے سکتی ہے۔

حکمت عملی منطق

یہ حکمت عملی بنیادی طور پر مندرجہ ذیل اشارے پر مبنی ہے:

  1. تیز سادہ چلتی اوسط (ڈیفالٹ 14 دن): قلیل مدتی رجحان کا اندازہ لگانے کے لئے
  2. سست سادہ چلتی اوسط (ڈیفالٹ 100 دن): طویل مدتی رجحان کا اندازہ کرنے کے لئے
  3. ریفرنس سادہ چلتی اوسط (ڈیفالٹ 30 دن): مجموعی سمت کا تعین کرنے کے لئے
  4. تبدیلی کی شرح: قیمتوں میں اتار چڑھاؤ کی شدت کا فیصلہ کرنے کے لئے نظرثانی کی مدت کے دوران سب سے زیادہ / سب سے کم قیمت (ڈیفالٹ 12 بار) کی بنیاد پر شمار کیا جاتا ہے

داخلے کے مخصوص قوانین:

  1. ریفرنس ایس ایم اے سے نیچے کی قیمت
  2. پہلے سے طے شدہ کم ROC حد سے زیادہ ROC (ڈیفالٹ 2.3٪)
  3. تیز رفتار ایس ایم اے میں اضافہ اور سست رفتار ایس ایم اے میں کمی، ممکنہ کراس اوور کا اشارہ

باہر نکلنے کے مخصوص قوانین:

  1. ریفرنس SMA سے اوپر کی قیمت
  2. پہلے سے طے شدہ اعلی ROC حد سے زیادہ ROC (ڈیفالٹ 4.7٪)
  3. 3 مسلسل بڑھتی ہوئی باریں
  4. موجودہ منافع > 0
  5. سست SMA پر تیز SMA

پوزیشن کا سائز لیول کے لئے کل ایکویٹی کا فیصد (ڈیفالٹ 96٪) ہے۔

فوائد کا تجزیہ

اس حکمت عملی کے مندرجہ ذیل فوائد ہیں:

  1. اتار چڑھاؤ کا پتہ لگانے کے لئے ROC کا استعمال کرتے ہوئے اعلی واپسی کے لئے اوپر / نیچے کی حرکتوں کو پکڑنے کی اجازت دیتا ہے.

  2. تیز رفتار / سست SMA کا امتزاج کم / اعلی نقطہ کی زیادہ درست شناخت میں مدد کرتا ہے۔

  3. ریفرنس ایس ایم اے مختصر مدت کے شور سے مشغول ہونے سے بچنے کے لئے مجموعی سمت فراہم کرتا ہے.

  4. اسٹاپ نقصان کی پیروی منافع میں تالے لگاتا ہے اور نیچے کی طرف خطرے کو کم کرتا ہے.

  5. پوزیشن سائزنگ سے فائدہ اٹھانا منافع کو بڑھا دیتا ہے۔

مجموعی طور پر ، یہ حکمت عملی قیمتوں میں اتار چڑھاؤ سے فائدہ اٹھانے کے لئے ROC ، SMA اور دیگر ٹولز کو موثر انداز میں استعمال کرتی ہے۔ یہ اتار چڑھاؤ والی منڈیوں میں اچھے نتائج حاصل کرسکتی ہے۔

خطرے کا تجزیہ

اس حکمت عملی میں مندرجہ ذیل خطرات بھی ہیں:

  1. غلط آر او سی اور ایس ایم اے پیرامیٹرز سے غائب سگنل یا خراب تجارت ہوسکتی ہے۔ مختلف منڈیوں کے لئے اصلاح کی ضرورت ہے۔

  2. پوزیشن کا زیادہ سائز خطرے میں اضافہ کرتا ہے۔ آرڈر فیصد کی جانچ اور ایڈجسٹ کرنا چاہئے۔

  3. ٹریلنگ اسٹاپ نقصان متزلزل مارکیٹوں میں قبل از وقت باہر نکل سکتا ہے۔ اسٹاپ نقصان کا فیصد ایڈجسٹ کیا جاسکتا ہے۔

  4. مختلف مارکیٹوں میں وِپساؤس کا شکار۔ رجحان فلٹرز اور رسک مینجمنٹ کو شامل کرنا چاہئے۔

  5. بیک ٹیسٹ اوور فٹنس کا خطرہ۔ مضبوطی کو مارکیٹوں میں براہ راست تجارت کے ذریعے تصدیق کی جانی چاہئے۔

خطرات کو پیرامیٹر کی اصلاح، پوزیشن سائزنگ، سٹاپ نقصان کی ایڈجسٹمنٹ، استحکام کی جانچ وغیرہ کے ذریعے منظم کیا جا سکتا ہے.

اصلاح کی ہدایات

اسٹریٹیجی کو مندرجہ ذیل پہلوؤں میں بہتر بنایا جاسکتا ہے:

  1. سگنل کی درستگی کو بہتر بنانے کے لیے دیگر تکنیکی اشارے جیسے اتار چڑھاؤ، حجم شامل کریں۔

  2. تجارت کی تعداد کو بہتر بنانے کے لئے تجارت کی فریکوئنسی کو کم سے کم کرنے کے لئے whipshaw اثرات کو کم سے کم کرنے کے لئے.

  3. اہم قیمت کی سطح کے ارد گرد توڑنے کی تکنیک شامل کریں.

  4. پیرامیٹرز کو خودکار طور پر بہتر بنانے کے لیے مشین لرننگ کا استعمال کریں۔

  5. مختلف مارکیٹوں اور وقت کے فریموں میں استحکام کی جانچ کریں۔

  6. اسٹاک، فاریکس وغیرہ جیسے مختلف مصنوعات کے لئے خصوصی پیرامیٹرز کو ٹون کریں.

  7. براہ راست نتائج کی بنیاد پر مسلسل سگنل اور خطرے کے کنٹرول کو بہتر بنائیں.

خلاصہ

یہ حکمت عملی ROC اور SMA تجزیہ کا استعمال کرتے ہوئے قلیل مدتی اتار چڑھاؤ کے ارد گرد تجارتی مواقع کی نشاندہی کرتی ہے۔ اس سے تیز رفتار جھولوں پر سرمایہ کاری کرنے میں مدد ملتی ہے لیکن مناسب رسک کنٹرول کی بھی ضرورت ہوتی ہے۔ ٹھیک ٹیوننگ پیرامیٹرز ، پوزیشن سائزنگ ، اسٹاپ نقصانات اور استحکام کی جانچ اس کے استحکام اور موافقت کو بڑھا سکتی ہے۔ حکمت عملی مقداری تجارت کے لئے ایک حوالہ ٹیمپلیٹ کی حیثیت رکھتی ہے لیکن مختلف مارکیٹوں کے لئے تخصیص کی ضرورت ہے۔


/*backtest
start: 2022-09-21 00:00:00
end: 2023-09-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// @version=4
// Author: Sonny Parlin (highschool dropout)
// Best if run on 5m timeframe
strategy(shorttitle="ROC+Strategy", title="Rate of Change 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.023, "ROC Low (%)", minval=0, step=0.01)
highOffset = input(0.047, "ROC High (%)", minval=0, step=0.01)
orderStake = input(0.96, "Order Stake (%)", minval=0, step=0.01)
lookback = input(12, "Lookback Candles", minval=1, step=1) 

// SMA
smaFast = sma(close, ss)
smaSlow = sma(close, ff)
smaRef = sma(close, ref)
ROC = (max(close[lookback],close) - min(close[lookback],close)) / max(close[lookback],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 Reference line 
// Guard that the rate of change over the lookback period is greater than our 
// ROC lowOffset %, default is 0.023. (low < smaRef) and (ROC > 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 (ROC > lowOffset) and (rising(smaFast,1)) and (falling(smaSlow,1)) 

// The sell Strategy:
// Guard that close is higher than our SMA reference line and that the rate of 
// change over the lookback period is greater than our highOffset %, default
// is 0.047. (close > smaRef) and (ROC > 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 (ROC > 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 2.62 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=3.62) * 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)

مزید