মুভিং এভারেজ চ্যানেল ব্রেকআউট ট্রেডিং কৌশল


সৃষ্টির তারিখ: 2024-01-29 14:31:25 অবশেষে সংশোধন করুন: 2024-01-29 14:31:25
অনুলিপি: 0 ক্লিকের সংখ্যা: 631
1
ফোকাস
1617
অনুসারী

মুভিং এভারেজ চ্যানেল ব্রেকআউট ট্রেডিং কৌশল

ওভারভিউ

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

কৌশল নীতি

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

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

এছাড়াও, কৌশলটি লাভের জন্য লকিং এবং ঝুঁকি নিয়ন্ত্রণের জন্য স্টপ লস, স্টপ স্টপ এবং ট্র্যাকিং স্টপ সেট করে। নির্দিষ্ট পরামিতিগুলি ফিডব্যাকের ফলাফলের উপর ভিত্তি করে অপ্টিমাইজ করা যেতে পারে।

কৌশলগত সুবিধা

এই কৌশলটির সুবিধাগুলো হলঃ

  1. নিয়মগুলি সহজ, পরিষ্কার, সহজেই বোঝা যায় এবং নতুনদের জন্য উপযুক্ত।
  2. সমান্তরাল ক্রস নীতি কার্যকর, এবং বিজয়ী হার বেশি;
  3. স্টপ লস, স্টপ থাম এবং ট্র্যাকিং লস, যা কার্যকরভাবে ঝুঁকি নিয়ন্ত্রণ করতে পারে;
  4. কম প্যারামিটার, সহজেই পরীক্ষা এবং অপ্টিমাইজ করা যায়।

ঝুঁকি ও প্রতিকার

এই কৌশলটির কিছু ঝুঁকিও রয়েছেঃ

  1. যখন প্রবণতা পরিবর্তিত হয়, সমান্তরাল ক্রস সিগন্যাল বিলম্বিত হয়, সময়মত প্রতিক্রিয়াশীল প্রবণতা পরিবর্তন করতে পারে না, যা বড় ক্ষতির কারণ হতে পারে;
  2. গুরুতর ওভারহেড বাজারগুলিতে, মিডলাইনের ক্রস সিগন্যালগুলি প্রায়শই ঘটে থাকে, যা কৌশলগত কার্যকারিতা প্রভাবিত করে আরও মিথ্যা সংকেত তৈরি করে।

উপরের ঝুঁকি মোকাবেলায়, নিম্নলিখিত প্রতিকারগুলি বিবেচনা করা যেতে পারেঃ

  1. অন্যান্য সূচক যেমন MACD, KDJ ইত্যাদির সাথে মিলিয়ে ফিল্টার সমান্তরাল ক্রস সিগন্যাল, যাতে প্রবণতা পরিবর্তনের সময় ভুল সংকেত এড়ানো যায়;
  2. একক ক্ষতির প্রভাব হ্রাস করার জন্য স্টপ ল্যাম্প বৃদ্ধি এবং হোল্ডিং পিরিয়ড সংক্ষিপ্ত করা;
  3. বিভিন্ন বাজারের অবস্থার উপর ভিত্তি করে গড় লাইন প্যারামিটারগুলিকে অনুকূলিত করুন, ক্রস সিগন্যালের ঘনত্ব হ্রাস করার জন্য ওভারহেড মার্কেটে গড় লাইন চক্রটি যথাযথভাবে বৃদ্ধি করুন।

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

এই কৌশলটি নিম্নলিখিত দিকগুলি থেকে অপ্টিমাইজ করা যেতে পারেঃ

  1. বিভিন্ন সমান্তরাল সংমিশ্রণ এবং পরামিতি পরীক্ষা করে, সর্বোত্তম পরামিতি খুঁজে বের করা;
  2. অন্যান্য সূচক যুক্ত করা যাতে কৌশলটি আরও কার্যকর হতে পারে এবং সংকেতগুলি ফিল্টার করা যায়।
  3. স্টপ লস, স্টপ-অফ প্যারামিটারগুলিকে অপ্টিমাইজ করুন, প্রত্যাহার হ্রাস করুন এবং রিটার্ন হার বাড়ান;
  4. বিভিন্ন জাত এবং ট্রেডিং সময়ের উপর ভিত্তি করে প্যারামিটারগুলিকে সূক্ষ্মভাবে সামঞ্জস্য করুন।

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © bensonsuntw

strategy("Strategy Template[Benson]", pyramiding=1, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

backtest_year = input(2019, type=input.integer, title='backtest_year')
backtest_month = input(01, type=input.integer, title='backtest_month', minval=1, maxval=12)
backtest_day = input(01, type=input.integer, title='backtest_day', minval=1, maxval=31)
start_time = timestamp(backtest_year, backtest_month, backtest_day, 00, 00)
stop_loss_and_tp = input(title="Enable Stop Loss and Take Profit", type=input.bool, defval=true)
trail_stop = input(title="Enable Trail Stop", type=input.bool, defval=true)
buy_stop_loss = input(0.2, type=input.float, title='buy_stop_loss')
sell_stop_loss = input(0.1, type=input.float, title='sell_stop_loss')
buy_tp = input(0.4, type=input.float, title='buy_tp')
sell_tp =input(0.2, type=input.float, title='sell_tp')
trail_stop_long = input(1.1, type=input.float, title='trail_stop_long')
trail_stop_short = input(0.9, type=input.float, title='trail_stop_short')
trail_stop_long_offset = input(0.05, type=input.float, title='trail_stop_long_offset')
trail_stop_short_offset = input(0.05, type=input.float, title='trail_stop_short_offset')


// you can set your own logic here
shortCondition = crossunder(sma(close,7),sma(close,14))
longCondition = crossover(sma(close,7),sma(close,14))

strategy.entry("Buy", strategy.long, when=longCondition  )
strategy.close("Buy", when=shortCondition)
strategy.exit("Close Buy","Buy", limit= stop_loss_and_tp?strategy.position_avg_price * (1+buy_tp):na, stop = stop_loss_and_tp?strategy.position_avg_price * (1-buy_stop_loss):na,trail_price=trail_stop?strategy.position_avg_price *trail_stop_long:na,trail_offset=trail_stop?-strategy.position_avg_price *trail_stop_long_offset:na)

strategy.entry("Sell", strategy.short, when=shortCondition)
strategy.close("Sell", when=longCondition)
strategy.exit("Close Sell","Sell", limit= stop_loss_and_tp?strategy.position_avg_price * (1-sell_tp):na, stop = stop_loss_and_tp?strategy.position_avg_price * (1+sell_stop_loss):na,trail_price=trail_stop?strategy.position_avg_price *trail_stop_short:na,trail_offset=trail_stop?strategy.position_avg_price *trail_stop_short_offset:na)


net_profit = strategy.netprofit + strategy.openprofit

plot(net_profit, title="Net Profit", linewidth=2, style=plot.style_area, transp=50, color=net_profit >= 0 ? #26A69A : color.red)