এটি চ্যানেলের ব্রেকআউটের উপর ভিত্তি করে একটি স্বল্পমেয়াদী ট্রেডিং কৌশল। এটি চ্যানেলের উপরের এবং নীচের রেলের ব্রেকআউটগুলি ট্রেন্ডের শুরু এবং শেষ নির্ধারণ করতে এবং সেই অনুযায়ী ট্রেডিং সিদ্ধান্ত নিতে ব্যবহার করে। শক্তিশালী ট্রেন্ডিং বাজারে, এই ব্রেকআউট কৌশলটি শালীন মুনাফা তৈরি করতে পারে।
কৌশলটি প্রথমে একটি নির্দিষ্ট সময়ের মধ্যে সর্বোচ্চ উচ্চ এবং সর্বনিম্ন নিম্ন গণনা করে খালের উপরের এবং নীচের রেল তৈরি করতে।
যদি দাম উপরের রেলের উপরে ভেঙে যায়, তাহলে লম্বা করুন। যদি দাম নিম্ন রেলের নিচে ভেঙে যায়, তাহলে শর্ট করুন।
ঝুঁকি নিয়ন্ত্রণের জন্য একটি চলমান স্টপ লস ব্যবহার করুন। স্টপ লস চ্যানেলের মাঝারি লাইনে সেট করা হয়।
দুইটি অপশনাল এক্সট্রি রুল আছে: মিডল লাইনে ফিরে যান অথবা চলমান স্টপ লস অনুসরণ করুন। প্রথমটি দ্রুত মুনাফা অর্জন করে যখন দ্বিতীয়টি ঝুঁকি নিয়ন্ত্রণ করে।
চ্যানেলের সময়কাল এবং অন্যান্য পরামিতিগুলি বিভিন্ন বাজারের অবস্থার জন্য কৌশলটি অনুকূল করার জন্য সামঞ্জস্য করা যেতে পারে।
বাস্তবায়ন সহজ, শুধু দাম-চ্যানেল সম্পর্ক পর্যবেক্ষণ করুন এবং ব্যবসার নিয়ম অনুসরণ করুন।
ট্রেড করুন প্রবণতা অনুসারে, কোন বিপরীত প্রবণতা ঝুঁকি নেই।
স্পষ্ট এবং স্বজ্ঞাত চ্যানেল স্পষ্ট প্রবেশ সংকেত দেয়।
ভাল মুনাফা মার্জিন, বেশিরভাগ ক্ষেত্রে সন্তোষজনক রিটার্ন অর্জন করতে পারে।
বিভিন্ন বাজারে অপ্টিমাইজেশনের জন্য অনেকগুলি সামঞ্জস্যযোগ্য পরামিতি।
ব্রেকআউট ব্যর্থ হতে পারে, ফাঁদে পড়ার ঝুঁকি আছে। সময়মত স্টপ লস প্রয়োজন।
চ্যানেল গঠনের জন্য একটি সময় প্রয়োজন, যা ব্যাপ্তিযুক্ত বাজারের জন্য উপযুক্ত নয়।
মাঝের স্টপ লস-এ ফেরত যাওয়া খুব সংরক্ষণশীল হতে পারে, ট্রেন্ড ধরে রাখতে অক্ষম।
প্যারামিটার অপ্টিমাইজেশনের জন্য ঐতিহাসিক তথ্য প্রয়োজন, লাইভ ট্রেডিংয়ে ওভারফিটিং সম্ভব।
ব্রেকআউট পয়েন্টের যান্ত্রিক ট্রেডিং ট্রেডিং ফ্রিকোয়েন্সি এবং স্লিপিং খরচ বাড়িয়ে তুলতে পারে।
বিভিন্ন সময়ের চ্যানেলগুলি মূল্যায়ন করুন এবং সর্বোত্তম চ্যানেলটি নির্বাচন করুন।
একটি ভাল প্রস্থান প্রক্রিয়া খুঁজে পেতে মধ্যম এবং চলন্ত স্টপ ক্ষতি ফিরে পরীক্ষা করুন।
স্টপ লস শতাংশ অপ্টিমাইজ করুন যাতে স্টপ আউট হওয়ার সম্ভাবনা কম হয়।
অপ্রয়োজনীয় ব্রেকআউট ট্রেড এড়াতে ট্রেন্ড ফিল্টার যুক্ত করুন।
পজিশনের আকার বাড়ানোর কথা বিবেচনা করুন কিন্তু ঝুঁকি নিয়ন্ত্রণ করুন।
সামগ্রিকভাবে এটি একটি পরিপক্ক স্বল্পমেয়াদী ব্রেকআউট কৌশল। এর স্পষ্ট প্রবেশের নিয়ম রয়েছে, যথাযথ ঝুঁকি নিয়ন্ত্রণ রয়েছে এবং সাধারণভাবে ভাল কাজ করে। প্যারামিটার টিউনিংয়ের মাধ্যমে আরও উন্নতি অর্জন করা যেতে পারে। তবে অন্তর্নিহিত সীমাবদ্ধতাগুলি উল্লেখ করা উচিত, বিভিন্ন বাজারের জন্য প্রয়োজনীয় সমন্বয়। যদি এটি পদ্ধতিগতভাবে ব্যবহৃত হয় তবে এটি সামগ্রিকভাবে ধারাবাহিক মুনাফা প্রদান করবে।
/*backtest start: 2022-10-18 00:00:00 end: 2023-10-24 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/ // Strategy testing and optimisation for free Bitmex trading bot // © algotradingcc //@version=4 strategy("Channel Break [for free bot]", overlay=true, default_qty_type= strategy.percent_of_equity, initial_capital = 1000, default_qty_value = 20, commission_type=strategy.commission.percent, commission_value=0.075) //Options buyPeriod = input(13, "Channel Period for Long position") sellPeriod = input(18, "Channel Period for Short position") isMiddleExit = input(true, "Is exit on Base Line?") takeProfit = input(46, "Take Profit (%) for position") stopLoss = input(9, "Stop Loss (%) for position") // Test Start startYear = input(2005, "Test Start Year") startMonth = input(1, "Test Start Month") startDay = input(1, "Test Start Day") startTest = timestamp(startYear,startMonth,startDay,0,0) //Test End endYear = input(2050, "Test End Year") endMonth = input(12, "Test End Month") endDay = input(30, "Test End Day") endTest = timestamp(endYear,endMonth,endDay,23,59) timeRange = time > startTest and time < endTest ? true : false // Long&Short Levels BuyEnter = highest(buyPeriod) BuyExit = isMiddleExit ? (highest(buyPeriod) + lowest(buyPeriod)) / 2: lowest(buyPeriod) SellEnter = lowest(sellPeriod) SellExit = isMiddleExit ? (highest(sellPeriod) + lowest(sellPeriod)) / 2: highest(sellPeriod) // Plot Data plot(BuyEnter, style=plot.style_line, linewidth=2, color=color.blue, title="Buy Enter") plot(BuyExit, style=plot.style_line, linewidth=1, color=color.blue, title="Buy Exit", transp=50) plot(SellEnter, style=plot.style_line, linewidth=2, color=color.red, title="Sell Enter") plot(SellExit, style=plot.style_line, linewidth=1, color=color.red, title="Sell Exit", transp=50) // Calc Take Profits & Stop Loss TP = 0.0 SL = 0.0 if strategy.position_size > 0 TP := strategy.position_avg_price*(1 + takeProfit/100) SL := strategy.position_avg_price*(1 - stopLoss/100) if strategy.position_size > 0 and SL > BuyExit BuyExit := SL if strategy.position_size < 0 TP := strategy.position_avg_price*(1 - takeProfit/100) SL := strategy.position_avg_price*(1 + stopLoss/100) if strategy.position_size < 0 and SL < SellExit SellExit := SL // Long Position if timeRange and strategy.position_size <= 0 strategy.entry("Long", strategy.long, stop = BuyEnter) strategy.exit("Long Exit", "Long", stop=BuyExit, limit = TP, when = strategy.position_size > 0) // Short Position if timeRange and strategy.position_size >= 0 strategy.entry("Short", strategy.short, stop = SellEnter) strategy.exit("Short Exit", "Short", stop=SellExit, limit = TP, when = strategy.position_size < 0) // Close & Cancel when over End of the Test if time > endTest strategy.close_all() strategy.cancel_all()