ডনচিয়ান চ্যানেলের উপর ভিত্তি করে টার্টল ট্রেডিং কৌশল


সৃষ্টির তারিখ: 2023-12-25 10:57:52 অবশেষে সংশোধন করুন: 2023-12-25 10:57:52
অনুলিপি: 3 ক্লিকের সংখ্যা: 888
1
ফোকাস
1621
অনুসারী

ডনচিয়ান চ্যানেলের উপর ভিত্তি করে টার্টল ট্রেডিং কৌশল

ওভারভিউ

এই কৌশলটি ডনচিয়ান চ্যানেলের উপর ভিত্তি করে সাগর সৈকত ট্রেডিং কৌশল নামে পরিচিত। এই কৌশলটি বিখ্যাত সাগর সৈকত ট্রেডিং ফ্যান্টাসির মূল ধারণাগুলিকে তুলে ধরেছে, যা ডনচিয়ান চ্যানেলের মাধ্যমে বাজারের প্রবণতা নির্ধারণ করে এবং একটি সরল প্রবণতা অনুসরণ করার জন্য চলমান গড়ের সাথে মিলিতভাবে ফিল্টার করে।

কৌশল নীতি

এই কৌশলটির প্রধান বিচারক সূচক হ’ল ডোনচিয়ান চ্যানেল। ডোনচিয়ান চ্যানেলটি সর্বোচ্চ মূল্য এবং সর্বনিম্ন মূল্যের N দিনের মধ্যে চলাচলকারী পরিসরের সমন্বয়ে গঠিত, যদি দামটি চ্যানেলের উপরের ট্র্যাকটি ভেঙে যায় তবে দীর্ঘ সংকেত; যদি এটি নীচের ট্র্যাকটি ভেঙে যায় তবে সংক্ষিপ্ত সংকেত। এই কৌশলটি দ্রুত ডোনচিয়ান চ্যানেল (10 দিন) ব্যবহার করে সংকেত দেয় এবং ধীর ডোনচিয়ান চ্যানেল (20 দিন) ব্যবহার করে বন্ধ করে দেয়।

এছাড়াও, এই কৌশলটি দুটি চলমান গড় (৫০-দিনের লাইন এবং ১২৫-দিনের লাইন) সংকেতগুলি ফিল্টার করার জন্য প্রবর্তন করে। কেবলমাত্র যখন দ্রুত চলমান গড়ের উপরে ধীর চলমান গড় অতিক্রম করা হয় তখনই মাল্টিহেড ট্রেডিং করা হয়; যখন দ্রুত চলমান গড়ের নীচে ধীর চলমান গড় অতিক্রম করা হয় তখনই খালি হেড ট্রেডিং করা হয়। এটি কিছু মিথ্যা সংকেতকে কার্যকরভাবে ফিল্টার করতে পারে।

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

কৌশলগত শক্তি বিশ্লেষণ

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

  1. Donchian channel ব্যবহার করে ট্রেন্ডের দিক নির্ণয় করা হয়, যা বড় ট্রেন্ডকে ধরতে সাহায্য করে।

  2. মুভিং এভারেজের জন্য ফিল্টারিং যুক্ত করা হয়েছে, যা কিছু মিথ্যা সংকেত ফিল্টার করে ক্ষতি এড়াতে পারে।

  3. ট্রেডিং ফ্রিকোয়েন্সি এবং স্টপ লস নির্ভুলতার মধ্যে ভারসাম্য আনতে দ্রুত এবং ধীর Donchian চ্যানেল এবং একটি ধীর চলমান গড়ের সমন্বয় ব্যবহার করা হয়;

  4. ঝুঁকি নিয়ন্ত্রণ করা হয়েছে এবং একক ক্ষতি নিয়ন্ত্রণের জন্য একটি স্টপ লস ব্যবস্থা রয়েছে।

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

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

  1. এই ধরনের পরিস্থিতিতে, কম ক্ষতিগ্রস্ত ইউনিটগুলি হতে পারে;

  2. ট্রেন্ডের বিপরীতমুখী হওয়ার সময়, চলমান গড়ের ফিল্টারগুলি স্টোর তৈরির খরচ বাড়িয়ে তোলে;

  3. এই ক্ষেত্রে, ক্ষতিপূরণ প্রদানের ক্ষেত্রে ক্ষতিপূরণ প্রদানের ক্ষেত্রে ক্ষতিপূরণ প্রদান করা হতে পারে।

প্রতিকার ও সমাধানঃ

  1. ডোনচিয়ান চক্রকে সংক্ষিপ্ত করতে এবং বিভিন্ন বাজারের সাথে খাপ খাইয়ে নেওয়ার জন্য চলমান গড় চক্রকে হ্রাস করার জন্য প্যারামিটারগুলি যথাযথভাবে সামঞ্জস্য করা যেতে পারে।

  2. এই প্রবণতাকে প্রতিহত করার জন্য, বড় আকারের প্রবণতা সম্পর্কে আরও বিচার করুন।

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

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

  1. উদাহরণস্বরূপ, ট্রেডিং ভলিউম প্রবর্তন করা, শুধুমাত্র ট্রেডিং ভলিউম বৃদ্ধি হলে পজিশন খোলার;

  2. হট জোনের বিচার বৃদ্ধি করুন। সমর্থনকারী চাপের স্তর, ব্যাপ্তি, প্যাটার্ন ইত্যাদির সাথে দামের হট পয়েন্টগুলি বিচার করুন, হট জোনের স্টোরেজ এড়ান;

  3. অপ্টিমাইজ করা স্টপ লস কৌশল। স্টপ লস আরও বুদ্ধিমান করার জন্য ট্র্যাকিং স্টপ, ভোল্টেজ স্টপ, টাইম স্টপ ইত্যাদি অন্তর্ভুক্ত করা যেতে পারে।

সারসংক্ষেপ

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

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

//@version=2
// Coded by Vladkos
strategy("Donchian strategy with filter", overlay=true,default_qty_type = strategy.percent_of_equity, default_qty_value = 4,pyramiding=5)

fromyear = input(2017, defval = 2018, minval = 1800, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(21, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")
term = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))
ATR=input(20,minval=1)
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
needstoploss= input(true,defval=true,title="Stop LOSS")
///////////ATR
tra=atr(ATR)


////////////Переменные
Donchian_slow=input(20,minval=1)
Donchian_fast=input(10,minval=1)
Slow_EMA=input(125,minval=1)
Fast_EMA=input(50,minval=1)

/////////// Медленный Дончан
lower = lowest(Donchian_slow)
upper = highest(Donchian_slow)
basis = avg(upper, lower)
plot(lower,color=blue)
plot(upper,color=blue)

/////////// быстрый Дончан
lowerF = lowest(Donchian_fast)
upperF = highest(Donchian_fast)
basisF = avg(upperF, lowerF)
plot(lowerF,color=red)
plot(upperF,color=red)

////////// Скользящие средние
ema_S=ema(close,Slow_EMA)
ema_F=ema(close,Fast_EMA)
plot(ema_S,color=red)
plot(ema_F,color=green)

///////// Условия сделок
long_condition= close>=upper[1] and ema_F>ema_S  
long_exit= close<lowerF[1]

short_condition=close<=lower[1] and ema_F<ema_S
short_exit=close>upperF[1]

////////// Отправка ордеров
strategy.entry("Long",strategy.long,when=long_condition and term and needlong==true)
strategy.exit("stop loss","Long",stop=strategy.position_avg_price-(tra*2),when= (needstoploss==true))
strategy.close("Long",when=long_exit and (time < timestamp(toyear, tomonth, today, 23, 59)))
    
strategy.entry("Short",strategy.short,when=short_condition and term and (needshort==true))
strategy.exit("stoploss","Short",stop=strategy.position_avg_price+(tra*2),when= (needstoploss==true))
strategy.close("Short",when=short_exit and (time < timestamp(toyear, tomonth, today, 23, 59)))

if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()