রিসোর্স লোড হচ্ছে... লোডিং...

কৌশল অনুসরণ করে ভিডাব্লুএপি ট্রেন্ড

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

img

সারসংক্ষেপ

এই কৌশলটি প্রবণতা দিক নির্ধারণের জন্য সূচক হিসাবে ভিডাব্লুএপি এবং ইএমএ ব্যবহার করে। যখন দাম ভিডাব্লুএপি এবং ইএমএ 200 এর উপরে থাকে তখন এটি দীর্ঘ হয় এবং যখন দাম ভিডাব্লুএপি এবং ইএমএ 200 এর নীচে থাকে তখন এটি সংক্ষিপ্ত হয়। এটি একটি সাধারণ প্রবণতা অনুসরণকারী কৌশল।

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

এই কৌশলটির মূল যুক্তি হল দামের প্রবণতা নির্ধারণের জন্য ভিডাব্লুএপি এবং ইএমএ ব্যবহার করা।

  • ভিডাব্লুএপি সাধারণ মূল্যের প্রতিনিধিত্ব করে এবং বাজারের অংশগ্রহণকারীদের গড় ব্যয়কে প্রতিফলিত করে। যখন দাম ভিডাব্লুএপি এর উপরে থাকে, এর অর্থ ক্রয় ক্ষমতা বৃদ্ধি পায় এবং দীর্ঘ যেতে হবে। যখন দাম ভিডাব্লুএপি এর নীচে থাকে, এর অর্থ বিক্রয় ক্ষমতা শক্তিশালী হয় এবং সংক্ষিপ্ত হওয়া উচিত।

সুতরাং, এই কৌশলটি প্রথমে মূল্যায়ন করে যদি দামটি VWAP এবং EMA200 উভয়ের উপরে থাকে, যদি হ্যাঁ হয় তবে দীর্ঘ যান; যদি দামটি VWAP এবং EMA200 উভয়ের নীচে থাকে তবে শর্ট যান। আমরা দেখতে পাচ্ছি যে এই কৌশলটি মূলত VWAP এবং EMA এর উপর নির্ভর করে ট্রেডিং সিদ্ধান্ত নিতে।

এছাড়াও, কৌশলটি লাভ এবং স্টপ লস পয়েন্টগুলিও সেট করে। দীর্ঘ যাওয়ার পরে, টিপি প্রবেশ মূল্যের 3.5% এবং এসএল প্রবেশ মূল্যের 1.4% এ সেট করা হয়। সংক্ষিপ্ত হওয়ার পরে, টিপি প্রবেশ মূল্যের 2.5% এবং এসএল প্রবেশ মূল্যের 0.9%। এটি বিশাল ক্ষতি এড়ায়।

সুবিধা

এই কৌশলটির সবচেয়ে বড় সুবিধা হল যে প্রবণতা নির্ধারণের জন্য ভিডাব্লুএপি এবং ইএমএ ব্যবহার করা খুব নির্ভরযোগ্য।

  • ভিডাব্লুএপি বাজারের অংশগ্রহণকারীদের গড় খরচ সঠিকভাবে প্রতিফলিত করতে পারে, এটি প্রবণতা বিচার করার জন্য একটি খুব ভাল সূচক।
  • EMA200 মধ্যম ও দীর্ঘমেয়াদী প্রবণতা স্পষ্টভাবে প্রতিফলিত করতে পারে এবং প্রধান প্রবণতার দিক খুব সঠিকভাবে নির্ধারণ করতে পারে।

সুতরাং, প্রবণতা বিচার করার জন্য ভিডাব্লুএপি এবং ইএমএ একত্রিত করা অত্যন্ত নির্ভরযোগ্য। যখন উভয় সূচক ধারাবাহিক সংকেত দেয়, তখন ব্যবসায়ের সাফল্যের হার খুব বেশি।

ঝুঁকি

এই কৌশলটির প্রধান ঝুঁকি হল যে ভিডাব্লুএপি এবং ইএমএ ভুল সংকেত দিতে পারে।

  • যখন বাজারে তীব্র ওঠানামা হয়, তখন মূল্য স্বল্পমেয়াদে ভিডাব্লুএপি থেকে বিচ্যুত হতে পারে এবং ভুল সংকেত দিতে পারে।
  • যখন একটি নতুন প্রবণতা শুরু হয়, EMA মূল্য পরিবর্তনে বিলম্ব করতে পারে এবং সেরা প্রবেশের সময়টি মিস করতে পারে।

এছাড়াও, ভুল টিপি/এসএল সেটিং এখনও ট্রেড প্রতি অত্যধিক ক্ষতির ঝুঁকি সৃষ্টি করে।

উপরের সমস্যাগুলি সমাধান করার জন্য, আমরা নতুন প্রবণতার সূচনা সনাক্তকরণে আরও ভাল করার জন্য ভিডাব্লুএপি এবং ইএমএর পরামিতিগুলি অনুকূল করতে পারি। এছাড়াও আমরা দামের ওঠানামা অনুসারে এগুলি সামঞ্জস্য করতে অভিযোজিত টিপি / এসএল সেট করতে পারি।

উন্নতকরণ

এই কৌশলকে আরও শক্তিশালী করার জন্য প্রধান দিকগুলিঃ

  • সঠিকতা বাড়াতে VWAP এবং EMA এর সাথে মিশ্রিত করার জন্য বোলিংজার ব্যান্ড, KDJ ইত্যাদির মতো অন্যান্য প্রবণতা সূচক যুক্ত করুন।
  • দামের ওঠানামা অনুযায়ী গতিশীলভাবে সামঞ্জস্য করার জন্য নির্দিষ্ট নিয়মের উপর ভিত্তি করে অভিযোজিত লাভ এবং স্টপ লস সেট করুন।
  • সামগ্রিক ঝুঁকি নিয়ন্ত্রণের জন্য ড্রাউনডাউন, ধারাবাহিক ক্ষতি ইত্যাদির উপর ভিত্তি করে পজিশন সাইজিং অন্তর্ভুক্ত করুন।

সিদ্ধান্ত


/*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")

আরো