ভিডব্লিউএমএ এবং এটিআর ট্রেন্ড অনুসরণকারী কৌশল

লেখক:চাওঝাং, তারিখঃ ২০২৩-১১-০৭ ১৬ঃ৩৯ঃ৪৭
ট্যাগঃ

img

সারসংক্ষেপ

এই কৌশলটি প্রবণতা দিক নির্ধারণের জন্য ভিডব্লিউএমএ ব্যবহার করে এবং প্রবণতা অনুসরণ করার জন্য এটিআর দিয়ে স্টপ লস সেট করে। এটি সুস্পষ্ট প্রবণতা সহ বাজারগুলির জন্য উপযুক্ত।

কৌশলগত যুক্তি

  1. প্রবণতা দিক নির্ধারণের জন্য VWMA ব্যবহার করুন। যখন দাম VWMA এর উপরে থাকে তখন দীর্ঘ যান, যখন দাম VWMA এর নীচে থাকে তখন সংক্ষিপ্ত যান।

  2. মিথ্যা ব্রেকআউট সংকেত এড়ানোর জন্য আরএসআই দোলক ফিল্টার যুক্ত করুন। আরএসআই ৩০ এর বেশি হলেই দীর্ঘ সংকেত নিন।

  3. স্টপ লস লাইন গণনা করতে ATR ব্যবহার করুন। ATR দৈর্ঘ্য VWMA এর সাথে একই সেট করা হয়, গুণক 3.5। রিয়েল টাইমে স্টপ লস লাইন আপডেট।

  4. এটিআর গুণক স্টপ লস লাইনের টাইটনেস নিয়ন্ত্রণ করে। বৃহত্তর গুণকের অর্থ কম ঘন ঘন আপডেট, যা প্রবণতা অনুসরণ করার জন্য ভাল।

  5. পজিশনের আকার অ্যাকাউন্টের মূলধন এবং স্টপ লস শতাংশের ভিত্তিতে গণনা করা হয়।

  6. যখন দাম স্টপ লস লাইনের নিচে পড়ে তখন লং পজিশন থেকে বেরিয়ে আসা।

সুবিধা

  1. প্রবণতা নির্ধারণের জন্য ভিডব্লিউএমএ ব্যবহার করে ধারাবাহিকভাবে প্রবণতার সুযোগগুলি ধরা হয়।

  2. আরএসআই ফিল্টার কিছু মিথ্যা ব্রেকআউট সিগন্যাল এড়ায়।

  3. এটিআর ট্রেলিং স্টপ প্রবণতা অনুসরণ করে এবং বিপরীত দ্বারা বন্ধ করা এড়াতে।

  4. অ্যাকাউন্ট ইক্যুইটি এবং স্টপ লস ভিত্তিক পজিশন সাইজিং ঝুঁকি ব্যবস্থাপনার পক্ষে।

ঝুঁকি

  1. ট্রেন্ড টার্নিং পয়েন্টে সম্ভাব্য ক্ষতি।

  2. ভুল ATR পরামিতি সেটিং খুব টাইট বা আলগা স্টপ ক্ষতি লাইন হতে পারে। পরামিতি পরীক্ষা করা উচিত।

  3. দ্রুত প্রবণতা বিপরীতমুখী হ'লে স্টপ লস আপডেট বিলম্বিত হতে পারে, যা ক্ষতি বাড়িয়ে তুলতে পারে।

  4. কম অস্থিরতার পরিবেশে, পজিশনের আকার হ্রাস করুন এবং স্টপ লস আপডেটের ফ্রিকোয়েন্সি বাড়ান।

উন্নতকরণ

  1. সর্বোত্তম সংকেত পরামিতি খুঁজে পেতে বিভিন্ন ভিডব্লিউএমএ পরামিতি সমন্বয় পরীক্ষা করুন।

  2. অতিরিক্ত ক্রয়/অতিরিক্ত বিক্রয় লাইন মত অন্যান্য RSI সেটিংস পরীক্ষা করুন।

  3. ড্রাউনডাউন এবং ট্র্যাকিং ক্ষমতার মধ্যে সর্বোত্তম ভারসাম্য খুঁজে পেতে এটিআর গুণক পরীক্ষা করুন।

  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 )

আরো