
এই কৌশলটি একটি প্রবণতা নির্দেশ করার জন্য ভিডাব্লুএমএ সূচক ব্যবহার করে এবং এটিআর সূচক ব্যবহার করে স্টপ লস লাইন সেট করে ট্রেন্ড ট্র্যাকিংয়ের জন্য। কৌশলটি স্পষ্ট প্রবণতাযুক্ত বাজারের পরিবেশে প্রযোজ্য।
ভিডাব্লুএমএ সূচক ব্যবহার করে ট্রেন্ডের দিকনির্দেশনা নির্ধারণ করুন। যখন দাম ভিডাব্লুএমএর উপরে থাকে তখন এটিকে একটি উত্থানের প্রবণতা হিসাবে বিবেচনা করুন, আরও বেশি করুন; যখন দাম ভিডাব্লুএমএর নীচে থাকে তখন এটিকে একটি পতনের প্রবণতা হিসাবে বিবেচনা করুন, খালি করুন।
জাল ব্রেকিং ফিল্টার করার জন্য, আরএসআই ওসিলিয়েটর যুক্ত করুন। আরএসআই 30 এর উপরে থাকলে কেবলমাত্র একটি মাল্টি সিগন্যাল দেওয়া হবে।
এটিআর সূচক ব্যবহার করে স্টপ লিনার গণনা করুন। এটিআর দৈর্ঘ্যটি ভিডাব্লুএমএর মতো একই সেট করা হয়েছে এবং গুণকটি 3.5 সেট করা হয়েছে। স্টপ লিনারটি দামের উপর নির্ভর করে রিয়েল-টাইমে আপডেট হবে।
এটিআর গুণকের সেটিংগুলি স্টপ লাইনের সংকোচনের পরিমাণকে প্রভাবিত করে। গুণক যত বেশি, স্টপ লাইনের আপডেটের ফ্রিকোয়েন্সি তত কম, ট্রেন্ড অনুসরণ করার জন্য আরও ভাল।
পজিশনের আকারের হিসাব করা হয় কৌশল অনুযায়ী স্টপ লস শতাংশ এবং অ্যাকাউন্টের ওয়ারেন্টি অনুযায়ী।
যখন দাম স্টপ লস লাইন অতিক্রম করে তখন স্টপ লস থেকে বেরিয়ে পজিশনে যান।
ভিডাব্লুএমএ সূচকগুলি প্রবণতার দিকনির্দেশের জন্য ব্যবহৃত হয়, যা প্রবণতার সুযোগগুলি ক্রমাগত ধরতে পারে।
আরএসআই ফিল্টার যোগ করা হয়েছে, যা কিছু মিথ্যা ব্রেকআউট সংকেত ফিল্টার করতে পারে।
ATR স্টপ লাইন প্রবণতা অনুসরণ করে, বিপরীত হওয়া এড়াতে স্টপিং আউট
অ্যাকাউন্টের ক্রেডিট এবং স্টপ লস শতাংশের উপর ভিত্তি করে পজিশন গণনা করা, যা ঝুঁকি নিয়ন্ত্রণের পক্ষে সহায়ক।
প্রবণতা পরিবর্তনের সময় ক্ষতির ঝুঁকি রয়েছে। একক ক্ষতি হ্রাস করার জন্য পজিশনগুলি যথাযথভাবে সংক্ষিপ্ত করা উচিত।
এটিআর প্যারামিটারগুলি ভুলভাবে সেট করা হয়েছে, যার ফলে থামার লাইনটি সংবেদনশীল বা অলস হয়ে যায়। উপযুক্ত প্যারামিটারগুলি পরীক্ষা করে দেখা উচিত।
যদি ট্রেন্ডটি খুব তাড়াতাড়ি বিপরীত হয়, তাহলে স্টপ লিনের আপডেটটি আসতে পারে না, যা ক্ষতির পরিমাণ বাড়িয়ে তুলবে।
নিম্ন ওঠানামার বাজারে, অবস্থানগুলি হ্রাস করা উচিত এবং স্টপ লিন সংকীর্ণকরণের ফ্রিকোয়েন্সি বাড়ানো উচিত।
বিভিন্ন VWMA প্যারামিটার সমন্বয় পরীক্ষা করা যেতে পারে, সিগন্যাল উৎপন্ন করার জন্য সর্বোত্তম প্যারামিটার নির্বাচন করা যায়।
আরএসআই ওসিলিয়েটরের অন্যান্য প্যারামিটার সেটিং পরীক্ষা করা যেতে পারে, যেমন ওভার-বই ওভার-সেল লাইন ইত্যাদি।
এটিআর-এর গুণিতক পরামিতি পরীক্ষা করে দেখা যায় যে, প্রত্যাহার এবং ট্র্যাকিংয়ের মধ্যে ট্রেড অফ করার সর্বোত্তম স্থান কোথায়।
সিগন্যালের গুণমান উন্নত করতে অন্যান্য সূচক যেমন MACD, KD ইত্যাদি সংযুক্ত করা যেতে পারে।
বাজারের অস্থিরতার উপর ভিত্তি করে পজিশন ম্যানেজমেন্ট এবং স্টপ লস শতাংশ অপ্টিমাইজ করা যেতে পারে।
এই কৌশলটি সামগ্রিকভাবে প্রবণতাযুক্ত, যা স্পষ্ট মূল্যের প্রবণতা ক্যাপচার করার জন্য উপযুক্ত। কৌশলটির প্রবণতা বিচার, সংকেত ফিল্টারিং, স্টপ লস ট্র্যাকিং ইত্যাদির সুবিধাগুলি রয়েছে, তবে প্রবণতা বিপরীত হওয়ার ঝুঁকিও রয়েছে। অপ্টিমাইজড প্যারামিটার সেট এবং পজিশন ম্যানেজমেন্টের মাধ্যমে কৌশলটির আরও ভাল প্রভাব পাওয়া যায়।
/*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 )