وی ڈبلیو ایم اے اور اے ٹی آر رجحان کی پیروی کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-11-07 16:39:47
ٹیگز:

img

جائزہ

یہ حکمت عملی رجحان کی سمت کا تعین کرنے کے لئے وی ڈبلیو ایم اے کا استعمال کرتی ہے اور رجحان کی پیروی کرنے کے لئے اے ٹی آر کے ساتھ اسٹاپ نقصان طے کرتی ہے۔ یہ واضح رجحانات والے بازاروں کے لئے موزوں ہے۔

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

  1. رجحان کی سمت کا تعین کرنے کے لئے VWMA کا استعمال کریں۔ جب قیمت VWMA سے اوپر ہو تو لمبی ہو ، جب قیمت VWMA سے نیچے ہو تو مختصر ہو۔

  2. غلط بریک آؤٹ سگنل سے بچنے کے لئے آر ایس آئی آسکیلیٹر فلٹر شامل کریں۔ صرف اس وقت طویل سگنل لیں جب آر ایس آئی 30 سے زیادہ ہو۔

  3. سٹاپ نقصان لائن کا حساب کرنے کے لئے اے ٹی آر کا استعمال کریں۔ اے ٹی آر کی لمبائی وی ڈبلیو ایم اے کے برابر ہے ، ضرب 3.5 ہے۔ اسٹاپ نقصان لائن کو حقیقی وقت میں اپ ڈیٹ کریں۔

  4. اے ٹی آر ضارب اسٹاپ نقصان لائن کی تنگی کو کنٹرول کرتا ہے۔ بڑے ضارب کا مطلب کم بار بار اپ ڈیٹ ہوتا ہے ، جو رجحان کی پیروی کے لئے بہتر ہوتا ہے۔

  5. پوزیشن کا سائز اکاؤنٹ کے ایکویٹی اور سٹاپ نقصان فیصد کی بنیاد پر شمار کیا جاتا ہے۔

  6. جب قیمت سٹاپ نقصان لائن سے نیچے ہو تو طویل پوزیشن سے باہر نکلیں۔

فوائد

  1. رجحان کا تعین کرنے کے لئے VWMA کا استعمال کرتے ہوئے رجحان کے مواقع کو مستقل طور پر پکڑتا ہے.

  2. آر ایس آئی فلٹر کچھ جھوٹے بریک آؤٹ سگنل سے بچتا ہے۔

  3. اے ٹی آر ٹریلنگ اسٹاپ رجحان کی پیروی کرتا ہے اور الٹ کی طرف سے روکنے سے بچتا ہے۔

  4. اکاؤنٹ کی ایکویٹی اور سٹاپ نقصان پر مبنی پوزیشن سائزنگ خطرے کے انتظام کو ترجیح دیتی ہے۔

خطرات

  1. رجحان موڑ کے مقامات پر ممکنہ نقصان۔ نقصانات کو محدود کرنے کے لئے پوزیشن کا سائز کم کرنا چاہئے۔

  2. غلط ATR پیرامیٹر کی ترتیب بہت تنگ یا لچکدار سٹاپ نقصان لائن کی طرف جاتا ہے. پیرامیٹرز ٹیسٹ کیا جانا چاہئے.

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

  4. کم اتار چڑھاؤ کے ماحول میں پوزیشن کا سائز کم کریں اور اسٹاپ نقصان کی تازہ کاری کی تعدد میں اضافہ کریں۔

بہتری

  1. بہترین سگنل پیرامیٹرز تلاش کرنے کے لئے مختلف VWMA پیرامیٹرز کے مجموعے کی جانچ کریں.

  2. RSI کی دیگر ترتیبات کی جانچ کریں جیسے overbought/oversold لائنز۔

  3. ٹیسٹ ATR ضرب کرنے کے لئے بہترین توازن تلاش کرنے کے لئے کم کرنے اور ٹریکنگ کی صلاحیت کے درمیان.

  4. سگنل کے معیار کو بہتر بنانے کے لئے MACD، KD جیسے دیگر فلٹرز شامل کریں.

  5. مارکیٹ کی اتار چڑھاؤ کی بنیاد پر پوزیشن سائزنگ اور سٹاپ نقصان فیصد کو بہتر بنائیں.

خلاصہ

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


/*backtest
start: 2023-10-07 00:00:00
end: 2023-10-13 00:00:00
period: 1h
basePeriod: 15m
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/
// © mohanee

//@version=4
//strategy("", overlay=true)
strategy(title="VWMA_withATRstops_strategy V2", overlay=true, pyramiding=1,     default_qty_type=strategy.percent_of_equity,  default_qty_value=20, initial_capital=10000, currency=currency.USD)  //default_qty_value=10, default_qty_type=strategy.fixed,

float xATRTrailingStop=na
int pos=na

vwmalength = input(33, title="VWMA Length", minval=1, maxval=365)
//vwmalength2 = input(9, title="VWAM Short Term Length", minval=1, maxval=365)
nATRPeriod = input(33, title="ATR length", minval=1, maxval=365)
nATRMultip = input(3.5, title="ATR Multiplier")

rsiofVwmaLength=input(14, title="RSI of VWMA Length")

riskCapital = input(title="Risk % of capital", defval=10, minval=1)
stopLoss=input(5,title="Stop Loss",minval=1)

vwmaVal=vwma(close, vwmalength)
//vwmaVal2=vwma(close, vwmalength2)
//maVal=sma(close, vwmalength)

plot(vwmaVal, color=color.orange, linewidth=2,  title="VWMA")
//plot(vwmaVal2, color=color.blue, title="VWMA Short Term")
//plot(maVal, color=color.blue, title="MA")

//rsi of vwma Longterm
rsiofVwmaVal=rsi(vwmaVal,rsiofVwmaLength)

xATR = atr(nATRPeriod)
nLoss = nATRMultip * xATR

xATRTrailingStop:= iff(close > nz(xATRTrailingStop[1], 0) and close[1] > nz(xATRTrailingStop[1], 0), max(nz(xATRTrailingStop[1]), close - nLoss), iff(close < nz(xATRTrailingStop[1], 0) and close[1] < nz(xATRTrailingStop[1], 0), min(nz(xATRTrailingStop[1]), close + nLoss), iff(close > nz(xATRTrailingStop[1], 0), close - nLoss, close + nLoss)))

pos:=	iff(close[1] < nz(xATRTrailingStop[1], 0) and close > nz(xATRTrailingStop[1], 0), 1, 	    iff(close[1] > nz(xATRTrailingStop[1], 0) and close < nz(xATRTrailingStop[1], 0), -1, nz(pos[1], 0))) 

color1 = pos == -1 ? color.red: pos == 1 ? color.green : color.blue 

//plot(xATRTrailingStop, color=color1, title="ATR Trailing Stop")

//Entry--
//Echeck how many units can be purchased based on risk manage ment and stop loss
qty1 = (strategy.equity  * riskCapital / 100 ) /  (close*stopLoss/100)  

//check if cash is sufficient  to buy qty1  , if capital not available use the available capital only
qty1:= (qty1 * close >= strategy.equity ) ? (strategy.equity / close) : qty1


//Long Entry
//strategy.entry(id="VWMA LE", long=true, qty=qty1, when= close >vwmaVal and open>vwmaVal and close>open and close > xATRTrailingStop and xATRTrailingStop>  vwmaVal)

strategy.entry(id="VWMA LE", long=true, qty=qty1, when= rsiofVwmaVal>=30 and  close>open and close>vwmaVal and pos == 1 )    ///pos == 1 means ATRStop line is green    
//vwmaVal2>vwmaVal and

plot(strategy.position_size>=1  ? xATRTrailingStop : na, color=color1, style=plot.style_linebr, title="ATR Trailing Stop")
bgcolor(strategy.position_size>=1 ? color.blue : na )

//Exit
strategy.close(id="VWMA LE",  when= strategy.position_size>=1 and crossunder(close, xATRTrailingStop)  )
//strategy.close(id="VWMA LE",  when= strategy.position_size>=1 and close<vwmaVal and open<vwmaVal and close<open )

مزید