টার্টল ব্রেকআউট রিট্রেসমেন্ট অ্যাডাপ্টিভ ট্রেডিং কৌশল


সৃষ্টির তারিখ: 2023-12-08 11:54:02 অবশেষে সংশোধন করুন: 2023-12-08 11:54:02
অনুলিপি: 0 ক্লিকের সংখ্যা: 732
1
ফোকাস
1621
অনুসারী

টার্টল ব্রেকআউট রিট্রেসমেন্ট অ্যাডাপ্টিভ ট্রেডিং কৌশল

ওভারভিউ

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

কৌশল নীতি

  1. দ্রুত এবং ধীর লাইনের দ্বৈত রেলঃ যথাক্রমে দ্রুত এবং ধীর লাইন ব্যবহার করে একটি চ্যানেল তৈরি করা হয়েছে। দ্রুত লাইনটি দ্রুত প্রতিক্রিয়াশীল এবং ধীর লাইনটি মসৃণ। দ্বৈত রেলের সংমিশ্রণে ট্রেন্ডের দিকনির্দেশনা নির্ধারণ করা হয়েছে।

  2. ব্রেকআউট এন্ট্রিঃ যখন দাম উর্ধ্বমুখী চ্যানেল অতিক্রম করে তখন বেশি করে, যখন এটি নীচের দিকে যায় তখন খালি করে দেয়। স্টপ লস ওয়ান স্টপ লস পদ্ধতি ব্যবহার করে ঝুঁকি হ্রাস করুন।

  3. প্রত্যাহারের প্রস্থানঃ রিয়েল-টাইম সর্বাধিক প্রত্যাহারের পর্যবেক্ষণ। প্রত্যাহারের প্রস্থানটি পৌঁছে গেলে প্লেইন পজিশনটি সক্রিয়ভাবে বন্ধ করে দেওয়া হবে। প্রত্যাহারের প্রস্থানটি বাজারের পরিস্থিতি অনুসারে সামঞ্জস্য করা যেতে পারে।

  4. হোল্ডিং স্কেল স্বনির্ধারিতঃ হোল্ডিং পরিমাণ অ্যাকাউন্টের অধিকার এবং স্বার্থের সাথে রিয়েল-টাইমে সামঞ্জস্য করে, বাজার ঝুঁকি এড়ানো। অ্যাকাউন্ট প্রত্যাহার যত বেশি, হোল্ডিং তত কম। ঝুঁকি প্রতিরোধ ক্ষমতা আরও শক্তিশালী।

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

  1. ডাবল রেলওয়ে + ব্রেক-এন্ট্রি, প্রবণতা আরও সঠিকভাবে বিচার করা যায়।

  2. একক ক্ষতির কার্যকর নিয়ন্ত্রণের জন্য ক্ষতি প্রতিরোধ ব্যবস্থা।

  3. রিয়েল-টাইমে অ্যাকাউন্ট প্রত্যাহারের উপর নজরদারি করুন, স্বেচ্ছায় হোল্ডিং স্কেল সামঞ্জস্য করুন এবং বাজার ঝুঁকি হ্রাস করুন।

  4. পজিশনের আকার অ্যাকাউন্টের অধিকার ও স্বার্থের সাথে সংযুক্ত, ঝুঁকি-প্রতিরোধী, বাজারের পরিবর্তনের সাথে মোকাবিলা করতে পারে।

কৌশলগত ঝুঁকি

  1. বড় ধরনের ভূমিকম্পের সময়, প্রত্যাহার নিয়ন্ত্রণ কার্যকর হতে পারে না, যার ফলে ক্ষতির পরিমাণ বাড়তে পারে।

  2. ফাস্টলাইন যখন নিরপেক্ষ অঞ্চলে প্রবেশ করে, তখন একাধিক বার অবৈধ ব্রেকিং সিগন্যাল দেখা দিতে পারে।

  3. দ্রুত পাল্টাতে পারে এমন ঘটনাকে ধরতে অল্প সময়ের মধ্যে লাইনটি বেশ মসৃণ হয়ে যায়।

  4. মাল্টি-ফ্ল্যাশ মিশ্র ব্যবহারের সময়, দ্বি-মুখী হোল্ডিং কয়েদ ঝুঁকিপূর্ণ।

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

  1. বড় ধরনের ভূমিকম্পের ক্ষেত্রে, অতিরিক্ত ক্ষতি এড়ানোর জন্য একটি উচ্চ প্রত্যাহারের সহনশীলতা সেট করা যেতে পারে।

  2. নিউট্রাল জোন ফিল্টারিং যুক্ত করুন, যাতে নিউট্রাল জোনের অকার্যকর সংকেত এড়ানো যায়।

  3. ধীর লাইন চ্যানেলের জন্য প্যারামিটার অপ্টিমাইজেশন, দ্রুত গতির প্রতিক্রিয়া বাড়ানোর জন্য।

  4. একটি খোলা গুদাম সাজানোর নিয়ম যোগ করা হয়েছে যাতে দু’দিকে গুদাম রাখা যায় না।

সারসংক্ষেপ

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

কৌশল সোর্স কোড
//Noro
//2020

//Original idea from «Way of the Turtle: The Secret Methods that Turned Ordinary People into Legendary Traders» (2007, CURTIS FAITH, ISBN: 9780071486644) 

//@version=4
strategy("Noro's Turtles Strategy", shorttitle = "Turtles str", overlay = true, default_qty_type = strategy.percent_of_equity, initial_capital = 100, default_qty_value = 100, commission_value = 0.1)

//Settings
needlong = input(true, title = "Long")
needshort = input(false, title = "Short")
sizelong = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot long, %")
sizeshort = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot short, %")
needfast = input(true, title = "Fast")
needslow = input(true, title = "Slow")
enter_fast = input(20, minval=1)
exit_fast = input(10, minval=1)
enter_slow = input(55, minval=1)
exit_slow = input(20, minval=1)
showof = input(true, title = "Show offset")
showll = input(false, title = "Show lines")
showlabel = input(true, defval = true, title = "Show label")
fromyear = input(1900, defval = 1900, minval = 1900, 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(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Fast
fastL = highest(enter_fast)
fastLC = lowest(exit_fast)
fastS = lowest(enter_fast)
fastSC = highest(exit_fast)

//Slow
slowL = highest(enter_slow)
slowLC = lowest(exit_slow)
slowS = lowest(enter_slow)
slowSC = highest(exit_slow)

//Lines
offset = showof ? 1 : 0
col1 = showll and needlong and needfast ? color.blue : na
col2 = showll and needshort and needfast ? color.red : na
col3 = showll and needlong and needslow ? color.blue : na
col4 = showll and needshort and needslow ? color.red : na
plot(fastL, color = col1, offset = offset)
plot(fastLC, color = col1, offset = offset)
plot(fastS, color = col2, offset = offset)
plot(fastSC, color = col2, offset = offset)
plot(slowL, color = col3, offset = offset)
plot(slowLC, color = col3, offset = offset)
plot(slowS, color = col4, offset = offset)
plot(slowSC, color = col4, offset = offset)

//Orders
truetime = time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)
size = strategy.position_size
lotlong = 0.0
lotlong := size != size[1] ? strategy.equity / close * sizelong / 100 : lotlong[1]
lotshort = 0.0
lotshort := size != size[1] ? strategy.equity / close * sizeshort / 100 : lotshort[1]

//Fast
strategy.entry("fast L", strategy.long, lotlong, stop = fastL, when = needfast and needlong and strategy.position_size == 0 and truetime)
strategy.entry("fast S", strategy.short, lotshort, stop = fastS, when = needfast and needshort and strategy.position_size == 0 and truetime)
strategy.exit("fast L", stop = fastLC, when = needfast and needlong and strategy.position_size > 0)
strategy.exit("fast S", stop = fastSC, when = needfast and needshort and strategy.position_size < 0)

//Slow
strategy.entry("slow L", strategy.long, lotlong, stop = slowL, when = needslow and needlong and strategy.position_size == 0 and truetime)
strategy.entry("slow S", strategy.short, lotshort, stop = slowS, when = needslow and needshort and strategy.position_size == 0 and truetime)
strategy.exit("slow L", stop = slowLC, when = needslow and needlong and strategy.position_size > 0)
strategy.exit("slow S", stop = slowSC, when = needslow and needshort and strategy.position_size < 0)

if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()
    strategy.cancel("fast L")
    strategy.cancel("fast S")
    strategy.cancel("slow L")
    strategy.cancel("slow S")
    
if showlabel

    //Drawdown
    max = 0.0
    max := max(strategy.equity, nz(max[1]))
    dd = (strategy.equity / max - 1) * 100
    min = 100.0
    min := min(dd, nz(min[1]))
    
    //Label
    min := round(min * 100) / 100
    labeltext = "Drawdown: " + tostring(min) + "%"
    var label la = na
    label.delete(la)
    tc = min > -100 ? color.white : color.red
    osx = timenow + round(change(time)*10)
    osy = highest(100)