یہ حکمت عملی رجحان کی سمت کا تعین کرنے کے لئے اشارے کے طور پر وی ڈبلیو اے پی اور ای ایم اے کا استعمال کرتی ہے۔ جب قیمت وی ڈبلیو اے پی اور ای ایم اے 200 دونوں سے اوپر ہوتی ہے تو یہ طویل ہوجاتی ہے ، اور جب قیمت وی ڈبلیو اے پی اور ای ایم اے 200 دونوں سے نیچے ہوتی ہے تو مختصر ہوجاتی ہے۔ یہ ایک عام رجحان کی پیروی کرنے والی حکمت عملی ہے۔
حکمت عملی کا بنیادی منطق قیمت کے رجحان کا اندازہ کرنے کے لئے VWAP اور EMA کا استعمال کرنا ہے.
وی ڈبلیو اے پی عام قیمت کی نمائندگی کرتا ہے اور مارکیٹ کے شرکاء کی اوسط لاگت کی عکاسی کرتا ہے۔ جب قیمت وی ڈبلیو اے پی سے اوپر ہوتی ہے تو ، اس کا مطلب ہے کہ خریداری کی طاقت میں اضافہ ہوتا ہے اور اسے لمبا ہونا چاہئے۔ جب قیمت وی ڈبلیو اے پی سے نیچے ہوتی ہے تو ، اس کا مطلب ہے کہ فروخت کی طاقت مضبوط ہوتی ہے اور اسے مختصر ہونا چاہئے۔
ای ایم اے 200 قیمت کے درمیانی اور طویل مدتی رجحان کی نمائندگی کرتا ہے۔ جب قیمت ای ایم اے 200 سے اوپر ہوتی ہے تو ، اس کا مطلب یہ ہے کہ درمیانی اور طویل مدتی نقطہ نظر تیزی سے بڑھ رہا ہے اور طویل عرصے تک جانا چاہئے۔ جب قیمت ای ایم اے 200 سے نیچے ہوتی ہے تو ، اس کا مطلب یہ ہے کہ درمیانی اور طویل مدتی نقطہ نظر bearish ہے اور مختصر ہونا چاہئے۔
لہذا ، یہ حکمت عملی پہلے یہ فیصلہ کرتی ہے کہ اگر قیمت VWAP اور EMA200 دونوں سے اوپر ہے تو ، اگر ہاں تو پھر لمبی ہو جاتی ہے۔ اگر قیمت VWAP اور EMA200 دونوں سے نیچے ہے تو ، پھر مختصر ہو۔ ہم دیکھ سکتے ہیں کہ یہ حکمت عملی بنیادی طور پر VWAP اور EMA پر انحصار کرتی ہے تاکہ تجارتی فیصلے کیے جاسکیں۔
اس کے علاوہ ، حکمت عملی منافع اور اسٹاپ نقصان کے نکات بھی طے کرتی ہے۔ طویل عرصے کے بعد ، ٹی پی کو اندراج کی قیمت کا 3.5٪ اور ایس ایل کو اندراج کی قیمت کا 1.4٪ مقرر کیا جاتا ہے۔ مختصر ہونے کے بعد ، ٹی پی اندراج کی قیمت کا 2.5٪ اور ایس ایل اندراج کی قیمت کا 0.9٪ ہے۔ اس سے بڑے نقصانات سے بچتا ہے۔
اس حکمت عملی کا سب سے بڑا فائدہ یہ ہے کہ رجحانات کا تعین کرنے کے لئے VWAP اور EMA کا استعمال بہت قابل اعتماد ہے.
لہذا ، رجحانات کا اندازہ کرنے کے لئے VWAP اور EMA کا امتزاج انتہائی قابل اعتماد ہے۔ جب دونوں اشارے مستقل سگنل دیتے ہیں تو ، تجارت کی کامیابی کی شرح بہت زیادہ ہوتی ہے۔
اس حکمت عملی کا بنیادی خطرہ یہ ہے کہ وی ڈبلیو اے پی اور ای ایم اے غلط سگنل دے سکتے ہیں۔
اس کے علاوہ، غلط ٹی پی/ایس ایل کی ترتیبات اب بھی تجارت فی زیادہ نقصانات کا خطرہ لاحق ہے.
مذکورہ بالا مسائل کو حل کرنے کے لئے ، ہم وی ڈبلیو اے پی اور ای ایم اے کے پیرامیٹرز کو بہتر بناسکتے ہیں تاکہ وہ نئے رجحانات کے آغاز کا پتہ لگانے میں بہتر ہوں۔ نیز ہم ان کی قیمت میں اتار چڑھاؤ کے مطابق ان کو ایڈجسٹ کرنے کے لئے موافقت پذیر ٹی پی / ایس ایل بھی ترتیب دے سکتے ہیں۔
آخر میں ، یہ ایک بہت ہی قابل اعتماد رجحان کی پیروی کرنے والی حکمت عملی ہے۔ یہ رجحان کی سمتوں کا تعین کرنے کے لئے VWAP اور EMA کی سادہ منطق کا استعمال کرتا ہے۔ جب دونوں اشارے مستقل سگنل دیتے ہیں تو کامیابی کی شرح بہت زیادہ ہوتی ہے۔ مناسب TP / SL ترتیب دے کر ، خطرے کو کنٹرول کیا جاسکتا ہے۔ اس حکمت عملی کو مزید بہتر بنانے اور اس کی کارکردگی کو اور بھی بہتر بنانے کے لئے ابھی بھی بہت سارے طریقے (پیرامیٹر کی اصلاح ، اشارے شامل کرنا ، انکولی TP / SL ، پوزیشن سائزنگ وغیرہ) موجود ہیں۔
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //26m Binance BTCUSDTPERP //@version=4 strategy("VWAP Trend Follower", initial_capital=100, overlay=true, commission_type=strategy.commission.percent, commission_value=0.04, default_qty_type = strategy.percent_of_equity, default_qty_value = 90, currency = currency.USD ) /// INITIALISE STRATEGY /// price=close[1] vprice=vwap(price) trend=ema(price, 200) /// RISK MANAGEMENT /// long_tp_inp = input(3.5, title='Long Take Profit %',step=0.1)/100 long_sl_inp = input(1.4, title='Long Stop Loss %',step=0.1)/100 short_tp_inp = input(2.5, title='Short Take Profit %',step=0.1)/100 short_sl_inp = input(0.9, title='Short Stop Loss %',step=0.1)/100 long_take_level = strategy.position_avg_price * (1 + long_tp_inp) long_stop_level = strategy.position_avg_price * (1 - long_sl_inp) short_take_level = strategy.position_avg_price * (1 - short_tp_inp) short_stop_level = strategy.position_avg_price * (1 + short_sl_inp) //long_trailing = input(5, title='Trailing Stop Long',step=0.1) / 100 //short_trailing = input(5, title='Trailing Stop short',step=0.1) / 100 /// STRATEGY CONDITIONS /// aLong= price > trend and price > vprice entry_long = aLong and aLong[2] and aLong[1] aShort= price < trend and price < vprice entry_short = aShort and aShort[2] and aShort[1] //exit_long = //exit_short = //entry_price_long=valuewhen(entry_long,close,0) //entry_price_short=valuewhen(entry_short,close,0) /// PLOTTING /// plot(vprice, color=#5875E1, linewidth=2) plot(trend, color=#D965E1, linewidth=1) plotshape(series=aLong, color=#71E181,style=shape.labelup) plotshape(series=aShort, color=#E18BA5,style=shape.labeldown) //plot(long_take_level, color=#00E676, linewidth=2) //plot(long_stop_level, color=#FF5252, linewidth=1) //plot(short_take_level, color=#4CAF50, linewidth=2) //plot(short_stop_level, color=#FF5252, linewidth=1) /// PERIOD /// testStartYear = input(2019, "Backtest Start Year") testStartMonth = input(1, "Backtest Start Month") testStartDay = input(1, "Backtest Start Day") testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0) testStopYear = input(2020, "Backtest Stop Year") testStopMonth = input(12, "Backtest Stop Month") testStopDay = input(31, "Backtest Stop Day") testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0) testPeriod() => true //// STRATEGY EXECUTION //// if testPeriod() if strategy.position_size == 0 or strategy.position_size > 0 strategy.entry(id="Long", long=true, when=entry_long, comment="Long") strategy.exit("Take Profit/ Stop Loss","Long", limit=long_take_level, stop=long_stop_level,comment="Exit Long")//,trail_points=entry_price_long * long_trailing / syminfo.mintick, trail_offset=entry_price_long * long_trailing / syminfo.mintick) // strategy.close(id="Long", when=exit_long, comment = "Exit Long") if strategy.position_size == 0 or strategy.position_size < 0 strategy.entry(id="Short", long=false, when=entry_short, comment = "Short") strategy.exit("Take Profit/ Stop Loss","Short", limit=short_take_level , stop=short_stop_level,comment = "Exit Short")//, trail_points=entry_price_short * short_trailing / syminfo.mintick, trail_offset=entry_price_short * short_trailing / syminfo.mintick) // strategy.close(id="Short", when=exit_short, comment = "Exit Short")