এই কৌশলটি চ্যানেল ব্রেকআউট তত্ত্বের উপর ভিত্তি করে ডিজাইন করা একটি প্রবণতা ট্র্যাকিং কৌশল। এটি একটি নির্দিষ্ট সময়ের মধ্যে সর্বোচ্চ মূল্য এবং সর্বনিম্ন মূল্য ব্যবহার করে একটি চ্যানেল তৈরি করে এবং যখন দাম চ্যানেল থেকে বেরিয়ে আসে তখন ট্রেডিং সংকেত তৈরি করে। এই কৌশলটি ট্রেন্ডিং বাজারের জন্য উপযুক্ত এবং প্রবণতা ট্র্যাকিংয়ের জন্য দামের প্রবণতা দিকটি ক্যাপচার করতে পারে।
কৌশলটি প্রথমে চ্যানেলের উপরের ব্যান্ড এবং নীচের ব্যান্ড নির্মাণের জন্য একটি দীর্ঘ সময়ের মধ্যে সর্বোচ্চ মূল্য এবং সর্বনিম্ন মূল্য গণনা করে। যখন বন্ধের দাম উপরের ব্যান্ডটি ভেঙে যায়, তখন একটি দীর্ঘ অবস্থান খোলা হয়। যখন বন্ধের মূল্য নীচের ব্যান্ডটি ভেঙে যায়, তখন একটি শর্ট অবস্থান খোলা হয়। যখন মূল্য চ্যানেলে ফিরে আসে তখন অবস্থানটি বন্ধ হয়ে যাবে।
কৌশলটি প্রবণতা দিক নির্ধারণের জন্য দৈর্ঘ্য * 2 সহ একটি ইএমএ সূচকও গ্রাফ করে। যখন দাম উপরের ব্যান্ডটি ভেঙে দেয়, যদি ইএমএ একটি আপগ্রেড প্রবণতায় থাকে, তবে দীর্ঘ সিদ্ধান্তটি শক্তিশালী হয়।
সংক্ষেপে, এটি ট্রেন্ডগুলি ক্যাপচার করার জন্য চ্যানেলের ব্রেকআউটের উপর ভিত্তি করে একটি সহজ ট্রেন্ড ট্র্যাকিং কৌশল। এটির শক্তিশালী ট্রেন্ড ট্র্যাকিং ক্ষমতা রয়েছে এবং ট্রেন্ডিং মার্কেটে ভাল রিটার্ন অর্জন করতে পারে। তবে এর কিছু ঝুঁকিও রয়েছে এবং স্থিতিশীলতা উন্নত করতে আরও অপ্টিমাইজেশনের প্রয়োজন। প্যারামিটার টিউনিং, স্টপ লস সেটিং এবং অন্যান্য সূচকগুলির সাথে একত্রিত করে এই কৌশলটি লাইভ ট্রেডিংয়ে প্রয়োগ করা যেতে পারে।
/*backtest start: 2023-11-15 00:00:00 end: 2023-11-22 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 initial_capital = 1000, default_qty_value = 90, default_qty_type = strategy.percent_of_equity, pyramiding = 0, commission_value = 0.002, commission_type = strategy.commission.percent, calc_on_every_tick = true length_val = 2 max_bars_back = 1440 risk_max_drawdown = 9 strategy("Channel Break",max_bars_back=max_bars_back,initial_capital = initial_capital,default_qty_value = default_qty_value,default_qty_type = default_qty_type,pyramiding = pyramiding,commission_value = commission_value,commission_type = commission_type,calc_on_every_tick = calc_on_every_tick) // strategy.risk.max_drawdown(risk_max_drawdown, strategy.percent_of_equity) length = input(title="Length", minval=1, maxval=1000, defval=length_val) upBound = highest(high, length) downBound = lowest(low, length) //plot (upBound) //plot (downBound) //plot (close, color=red) //plot (ema(close,length * 2), color=green) // if (not na(close[length]) and time>timestamp(2018, 02, 24, 0, 00) ) strategy.entry("Buy", strategy.long, stop=upBound + syminfo.mintick, comment="Buy") strategy.entry("Short", strategy.short, stop=downBound - syminfo.mintick, comment="Short") position = strategy.position_size //plot(position , title="equity", color=red,style=cross,linewidth=4) plot(variance(position,2)>0?1:0,style=circles,linewidth=4) message = "" if (position > 0) message = "BTCUSD L: " + tostring(strategy.position_size) na(position) if (position < 0) message = "BTCUSD S: " + tostring(strategy.position_size) na(position) alertcondition(variance(strategy.position_size,2) > 0, "test", message )