কৌশল অনুসরণ করে মাল্টি-টাইম ফ্রেম প্রবণতা


সৃষ্টির তারিখ: 2024-01-26 15:54:45 অবশেষে সংশোধন করুন: 2024-01-26 15:54:45
অনুলিপি: 0 ক্লিকের সংখ্যা: 614
1
ফোকাস
1617
অনুসারী

কৌশল অনুসরণ করে মাল্টি-টাইম ফ্রেম প্রবণতা

ওভারভিউ

এই কৌশলটি বিভিন্ন সময়কালের মধ্যে সর্বোচ্চ এবং সর্বনিম্ন দামগুলি গণনা করে ((50 বার এবং 200 বার) একটি প্রধান মূল্য চ্যানেল গঠন করে, যা দীর্ঘমেয়াদী প্রবণতার দিক নির্দেশ করে। দ্রুত সংকেত লাইন এবং ধীর সংকেত লাইনের সংমিশ্রণে স্বল্পমেয়াদী প্রবণতার দিক নির্ণয় করে। দীর্ঘমেয়াদী প্রবণতার দিকটি সামঞ্জস্যপূর্ণ হলে কৌশলটি প্রবেশের জন্য অনুরোধ করে।

কৌশল নীতি

প্রথমত, শেষ ৫০ বার সর্বোচ্চ ও সর্বনিম্ন এবং শেষ ২০০ বার সর্বোচ্চ ও সর্বনিম্ন গণনা করে দুটি মূল্য চ্যানেল তৈরি করা হয় যা দীর্ঘমেয়াদী প্রবণতার দিক নির্দেশ করে।

দ্বিতীয়ত, সর্বশেষ 7 বার সর্বোচ্চ এবং সর্বনিম্ন মূল্য দ্রুত সংকেত চ্যানেল গঠন করে যা স্বল্পমেয়াদী প্রবণতা নির্ণয় করে; সর্বশেষ 20 বার সর্বোচ্চ এবং সর্বনিম্ন মূল্য ধীর সংকেত চ্যানেল গঠন করে যা স্বল্পমেয়াদী প্রবণতা নির্ণয় করে।

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

সামর্থ্য বিশ্লেষণ

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

এছাড়াও, কৌশলটি একাধিক সময় ফ্রেম বিচার ব্যবহার করে, এমনকি যদি স্বল্পমেয়াদী মূল্যের বিপর্যয় ঘটে তবে সংকেতটি সহজেই পরিবর্তিত হয় না, যা সংকেতের স্থায়িত্ব নিশ্চিত করে।

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

এই কৌশলটির প্রধান ঝুঁকি হ’ল দীর্ঘ এবং স্বল্পমেয়াদী প্রবণতা বিপরীত হওয়ার সময়, একাধিক সময়কালীন চ্যানেল নিশ্চিতকরণের প্রয়োজনের কারণে সংকেত তৈরির কিছুটা বিলম্ব হবে। এই সময়ে যদি অন্ধ অনুসরণ করা হয় তবে ক্ষতির বিস্তার হতে পারে।

এছাড়াও, উচ্চ-ফ্রিকোয়েন্সি লেনদেনের জন্য বন্ধুত্বপূর্ণ নয় এবং স্বল্পমেয়াদী মূল্যের ওঠানামার প্রতি দ্রুত প্রতিক্রিয়া জানাতে পারে না।

অপ্টিমাইজেশান দিক

আপনি একটি স্বনির্ধারিত গতিশীল স্টপ কৌশল অন্তর্ভুক্ত করার কথা বিবেচনা করতে পারেন, যখন দামটি একটি নির্দিষ্ট অনুপাতকে বিপরীত দিকের দিকে অতিক্রম করে তখন স্টপ আউট কার্যকরভাবে ঝুঁকি নিয়ন্ত্রণ করে।

এছাড়াও, বিভিন্ন দৈর্ঘ্যের মূল্য চ্যানেল যুক্ত করা যেতে পারে, যাতে ভোটের মাধ্যমে চূড়ান্ত সংকেত নির্ধারণ করা যায়, যা বিচারযোগ্যতার উন্নতি করে।

অথবা মেশিন লার্নিং অ্যালগরিদম ব্যবহার করে স্বয়ংক্রিয়ভাবে প্রতিটি চ্যানেলের প্যারামিটারগুলিকে অপ্টিমাইজ করুন, যাতে প্যারামিটারগুলি বর্তমান বাজারের পরিবেশের সাথে আরও উপযুক্ত হয়।

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2023-12-26 00:00:00
end: 2024-01-25 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/
// © ZoomerXeus

//@version=4
strategy("Swing High Low Price Channel V.1", overlay=true)

//========================= variable =================================//
dead_channel_source = input(title="Main swing channel source", defval="H/L", options=["H/L"])
fast_signal_length = input(title="Fast Slow Length", type=input.integer, defval=7, maxval=49, minval=1)
slow_signal_length = input(title="Slow Slow Length", type=input.integer, defval=20, maxval=49, minval=1)
is_show_only_dead_channel = input(title="Show main channel only", defval=true)
main_channel_width = input(title="Main line width", defval=2, minval=1)
signal_channel_width = input(title="Signal line width", defval=1, minval=1)

//========================= indicator function =================================//
dead_cross_high_50 = highest(high, 50) 
dead_cross_high_200 = highest(high, 200) 
//========================================
dead_cross_low_50 = lowest(low, 50) 
dead_cross_low_200 = lowest(low, 200) 
//========================================
medain_dead_cross_50 = ((dead_cross_high_50-dead_cross_low_50)*0.5)+dead_cross_low_50
medain_dead_cross_200 = ((dead_cross_high_200-dead_cross_low_200)*0.5)+dead_cross_low_200


//========================================
fasthighest = highest(high, fast_signal_length)
fastlowest = lowest(low, fast_signal_length)
//========================================
slowhighest = highest(high, slow_signal_length)
slowlowest = lowest(low, slow_signal_length)
//========================================

    
//========================= plot =================================//
plot(dead_channel_source == "H/L" ? dead_cross_high_50 : na,title="50 bar highest", color=color.red, linewidth=main_channel_width)
plot(dead_channel_source == "H/L" ? dead_cross_high_200 : na,title="200 bar highest", color=color.aqua, linewidth=main_channel_width)
plot(dead_channel_source == "H/L" ? dead_cross_low_50 : na,title="50 bar lowest", color=color.red, linewidth=main_channel_width)
plot(dead_channel_source == "H/L" ? dead_cross_low_200 : na,title="200 bar lowest", color=color.aqua, linewidth=main_channel_width)
plot(dead_channel_source == "H/L" ? medain_dead_cross_200 : na,title="200 bar middle lowest", color=color.orange, linewidth=main_channel_width)
plot(dead_channel_source == "H/L" ? medain_dead_cross_50 : na,title="50 bar middle lowest", color=color.lime, linewidth=main_channel_width)
//===========================================
plot(is_show_only_dead_channel == false ? fasthighest : na,title="fast signal highest", color=#ff00f9, linewidth=signal_channel_width)
plot(is_show_only_dead_channel == false ? fastlowest : na,title="fast signal lowest", color=#ff00f9, linewidth=signal_channel_width)
plot(is_show_only_dead_channel == false ? slowhighest : na,title="slow signal highest", color=color.white, linewidth=signal_channel_width)
plot(is_show_only_dead_channel == false ? slowlowest : na,title="slow signal lowest", color=color.white, linewidth=signal_channel_width)
//===========================================
plot(crossover(medain_dead_cross_50, medain_dead_cross_200) ? medain_dead_cross_200 : na, title="Dead cross buy plot", style=plot.style_circles, linewidth=6, color=color.lime)
plot(crossunder(medain_dead_cross_50, medain_dead_cross_200) ? medain_dead_cross_200 : na, title="Dead cross sell plot", style=plot.style_circles, linewidth=6, color=color.red)
plot(is_show_only_dead_channel and (medain_dead_cross_50 < medain_dead_cross_200) and high == slowhighest ? high : na, title="Follow trend short term  sell plot zone", style=plot.style_circles, linewidth=3, color=color.orange)
plot(is_show_only_dead_channel and (medain_dead_cross_50 > medain_dead_cross_200) and low == slowlowest ? low : na, title="Follow trend short term buy plot zone", style=plot.style_circles, linewidth=3, color=color.green)
plot(is_show_only_dead_channel and high == slowhighest and (high == dead_cross_high_200) ? high : na, title="Not follow trend short term  sell plot zone", style=plot.style_circles, linewidth=3, color=color.orange)
plot(is_show_only_dead_channel and low == slowlowest and (low == dead_cross_low_200) ? low : na, title="Not follow trend short term buy plot zone", style=plot.style_circles, linewidth=3, color=color.green)

//===================== open close order condition =========================================================//
strategy.entry("strong buy", true, 1, when=low == dead_cross_low_200)
strategy.exit("close strong buy 50%", "strong buy", qty_percent=50, when=high==slowhighest)
strategy.entry("strong sell", false, 1, when=high == dead_cross_high_200)
strategy.exit("close strong sell 50%", "strong sell", qty_percent=50, when=low==slowlowest)