ট্রেন্ডিং দারভাস বক্স পরিমাণগত ট্রেডিং কৌশল

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

img

সারসংক্ষেপ

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

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

  • ডারভাস বক্সের আকার সেট করতে দৈর্ঘ্য পরামিতি ব্যবহার করুন, যা এই কৌশলটিতে ডিফল্টরূপে 5 বার।
  • উচ্চ/নিম্ন ব্রেকআউটের উপর ভিত্তি করে প্রবণতার দিকনির্দেশনা নির্ধারণ করুন এবং সংশ্লিষ্ট লং/শর্ট পজিশন নিন।
  • যখন দাম বক্স টপ এর উপরে ভাঙে, তখন একটি সবুজ টপবক্স লাইন অঙ্কিত হয়। এটি দীর্ঘ সংকেত।
  • যখন দাম বাক্সের নীচের অংশের নিচে ভাঙে, তখন একটি লাল BottomBox লাইন অঙ্কিত হয়। এটি হ'ল সংক্ষিপ্ত সংকেত।
  • সহায়ক সূচক হিসাবে মুভিং গড় সিস্টেম ব্যবহার করুন। যখন দাম এমএসের উপরে থাকে তখন দীর্ঘ যান এবং এমএসের নীচে থাকলে সংক্ষিপ্ত যান।
  • অতিরিক্ত ক্রয় / অতিরিক্ত বিক্রয় অঞ্চল চিহ্নিত করতে RVI ব্যবহার করুন। সিগন্যাল লাইনের উপরে RVI অতিরিক্ত ক্রয় প্রস্তাব করে; নীচে RVI অতিরিক্ত বিক্রয় প্রস্তাব করে।

উপরের সমস্ত সূচক সম্মতি দিলে এন্ট্রি নেওয়া হয়। স্টপ লসটি দারভাস বক্সের বিপরীত ব্যান্ডে সেট করা হয়। আউটপুটগুলি আরভিআই দিকনির্দেশের সাথে পরিচালিত হয়।

সুবিধা বিশ্লেষণ

  • ডারভাস বক্স চ্যানেল বাজারের প্রবণতাকে কার্যকরভাবে ক্যাপচার করে।
  • বক্স থেকে বার বার সিগন্যাল বেরিয়ে আসছে।
  • যুক্তিসঙ্গত বক্স ক্ষতি সেটিং বন্ধ করে দেয়। ভাল একক বাণিজ্য ঝুঁকি নিয়ন্ত্রণ করে।
  • সহায়ক সূচক সঠিকতা বৃদ্ধি করে।

ঝুঁকি বিশ্লেষণ

  • বড় স্টপ লস রেঞ্জ, ট্রেড প্রতি ঝুঁকি বেশি।
  • ছোটখাটো প্রত্যাহারের সময় লং ট্রেড বন্ধ করা হতে পারে।
  • বক্সের দিকনির্দেশনা সবসময় সঠিক হয় না।
  • সহায়ক সূচকগুলি বাক্সের সাথে সারিবদ্ধ করার জন্য সূক্ষ্ম সুরক্ষা প্রয়োজন।

ঝুঁকি হ্রাস করার জন্য স্টপ লসকে শক্ত করতে পারে। সহায়ক পরামিতিগুলি কার্যকরভাবে স্ক্রিন সংকেতগুলির জন্য অপ্টিমাইজেশনের প্রয়োজন।

অপ্টিমাইজেশান নির্দেশাবলী

  • সর্বোত্তম আকার খুঁজে পেতে বাক্সের দৈর্ঘ্য পরীক্ষা করুন।
  • বক্সের সাথে সবচেয়ে ভালোভাবে ফিট করার জন্য সহায়ক পরামিতিগুলি অপ্টিমাইজ করুন।
  • আরও সংকেত যাচাইয়ের জন্য অন্যান্য সহায়ক সূচকগুলি চেষ্টা করুন, যেমন কেডিজে, এমএসিডি।
  • আরও স্থিতিশীলতার জন্য স্টপ লস এবং লাভের সেটিংস পরীক্ষা করুন।

সিদ্ধান্ত

সংক্ষেপে, ট্রেন্ডিং দারভাস বক্স কৌশলটি স্বল্পমেয়াদী প্রবণতাগুলিকে লক্ষ্য করে একটি আক্রমণাত্মক ট্রেডিং কৌশল। এটি দারভাস বক্স চ্যানেলের সাথে প্রবণতা পরিবর্তনগুলি দ্রুত ক্যাপচার করে, যখন সহায়ক সূচকগুলি নির্ভুলতা উন্নত করতে সহায়তা করে। এই কৌশলটির জন্য ঝুঁকি / পুরষ্কার প্রোফাইল ইতিবাচক, গ্রহণ এবং অবিচ্ছিন্ন অপ্টিমাইজেশানগুলির জন্য মূল্যবান।


/*backtest
start: 2023-11-26 00:00:00
end: 2023-12-26 00:00:00
period: 1d
basePeriod: 1h
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/
// © xxy_theone
// https://www.youtube.com/watch?v=YYxlnFOX9sQ
// This strategy script has been made to backtest the strategy explained in the video above


//@version=5
strategy(shorttitle = "Darvas Box Test", title="TradeIQ Darvas Box Test", overlay=true, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100, initial_capital=100, currency=currency.USD)

// === INPUT BACKTEST RANGE ===
var GRP1 = "Backtest Range"
fromDate = input(timestamp("7 Mar 2022 00:00 +0000"), "From", group=GRP1)
toDate = input(timestamp("19 Mar 2022 23:59 +0000"), "To", group=GRP1)
window() =>  true


var GRP3 = "Darvas Box"
boxp=input(5, "Box Length", group=GRP3)

LL = ta.lowest(low,boxp)
k1=ta.highest(high,boxp)
k2=ta.highest(high,boxp-1)
k3=ta.highest(high,boxp-2)

NH =  ta.valuewhen(high>k1[1],high,0)
box1 =k3<k2
TopBox = ta.valuewhen(ta.barssince(high>k1[1])==boxp-2 and box1, NH, 0)
BottomBox = ta.valuewhen(ta.barssince(high>k1[1])==boxp-2 and box1, LL, 0)


plot(TopBox, linewidth=3, color=color.green, title="TBbox") 
plot(BottomBox, linewidth=3, color=color.red, title="BBbox")


var GRP4 = "MavilimW"

fmal=input(3,"First Moving Average length", group=GRP4)
smal=input(5,"Second Moving Average length", group=GRP4)
tmal=fmal+smal
Fmal=smal+tmal
Ftmal=tmal+Fmal
Smal=Fmal+Ftmal

M1= ta.wma(close, fmal)
M2= ta.wma(M1, smal)
M3= ta.wma(M2, tmal)
M4= ta.wma(M3, Fmal)
M5= ta.wma(M4, Ftmal)
MAVW= ta.wma(M5, Smal)
col1= MAVW>MAVW[1]
col3= MAVW<MAVW[1]
colorM = col1 ? color.blue : col3 ? color.red : color.yellow

plot(MAVW, color=colorM, linewidth=2, title="MAVW")


var GRP5 = "Relative Vigor Index"
len = input.int(10, title="Length", minval=1, group=GRP5)
rvi = math.sum(ta.swma(close-open), len)/math.sum(ta.swma(high-low),len)
sig = ta.swma(rvi)
offset = input.int(0, "Offset", minval = -500, maxval = 500, group=GRP5)
//plot(rvi, color=#008000, title="RVGI", offset = offset)
//plot(sig, color=#FF0000, title="Signal", offset = offset)


var longStopSet = false

long = ta.crossover(close,TopBox) and close > MAVW ? true : false
longClose = strategy.opentrades.profit(strategy.opentrades-1)>0 and ta.crossunder(rvi,sig) ? true : false
strategy.entry("Long Position", strategy.long, when = long and window() and strategy.position_size==0 and strategy.closedtrades<100)
if(longStopSet==false and strategy.position_size > 0)
    strategy.exit("exit", "Long Position", stop=BottomBox)
    longStopSet := true
if(strategy.position_size==0)
    longStopSet := false
strategy.close("Long Position", when = longClose)

var shortStopSet = false

short = ta.crossunder(close,BottomBox) and close < MAVW ? true : false
shortClose = strategy.opentrades.profit(strategy.opentrades-1)>0 and ta.crossover(rvi,sig) ? true : false
strategy.entry("Short Position", strategy.short, when = short and window() and strategy.position_size==0 and strategy.closedtrades<100)
if(shortStopSet==false and strategy.position_size < 0)
    strategy.exit("exit", "Short Position", stop=TopBox)
    shortStopSet := true
if(strategy.position_size==0)
    shortStopSet := false
strategy.close("Short Position", when = shortClose)


আরো