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

লেখক:চাওঝাং, তারিখঃ 2023-12-08 11:54:02
ট্যাগঃ

img

সারসংক্ষেপ

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

কৌশলগত যুক্তি

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

  2. ব্রেকআউট এন্ট্রিঃ যখন দাম আপলোড চ্যানেলটি ভেঙে যায় তখন দীর্ঘ যান এবং যখন এটি ডাউনলোড চ্যানেলটি ভেঙে যায় তখন সংক্ষিপ্ত যান। ঝুঁকি হ্রাস করার জন্য স্টপ অর্ডার ব্যবহার করুন।

  3. ড্রডাউন প্রস্থানঃ সর্বাধিক ড্রডাউনের রিয়েল-টাইম মনিটরিং। একবার ড্রডাউন প্রস্থান পয়েন্ট পৌঁছে গেলে, এটি পজিশন বন্ধ করার জন্য সক্রিয়ভাবে ক্ষতি বন্ধ করবে। ড্রডাউন প্রস্থান পয়েন্টটি বাজারের অবস্থার অনুযায়ী সামঞ্জস্য করা যেতে পারে।

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

সুবিধা

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

  2. স্টপ লস এবং লাভ নেওয়ার প্রক্রিয়া কার্যকরভাবে একক ক্ষতি নিয়ন্ত্রণ করে।

  3. বাজারের ঝুঁকি কমাতে অ্যাকাউন্টের ব্যবহারের রিয়েল-টাইম মনিটরিং এবং পজিশনের আকারের সক্রিয় সমন্বয়।

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

ঝুঁকি

  1. অস্থির বাজারে ড্রডাউন কন্ট্রোল ব্যর্থ হতে পারে, যা বৃহত্তর ক্ষতির দিকে পরিচালিত করে।

  2. যখন দ্রুত লাইন নিরপেক্ষ অঞ্চলে প্রবেশ করে তখন একাধিক অবৈধ সূচক দেখা দিতে পারে।

  3. ধীর রেখাটি সময়ের সাথে দ্রুত বিপরীত প্রবণতা ক্যাপচার করার জন্য খুব মসৃণ।

  4. মিশ্র লং ও শর্ট পজিশনে লক-ইন হওয়ার ঝুঁকি রয়েছে।

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

  1. স্টপ লস এড়ানোর জন্য অস্থির বাজারের জন্য উচ্চতর ড্রাউন টলারেন্স সেট করুন।

  2. অবৈধ সংকেত এড়াতে নিরপেক্ষ অঞ্চল ফিল্টারিং যোগ করুন।

  3. দ্রুত বাজারে প্রতিক্রিয়া গতি উন্নত করতে ধীর চ্যানেলের পরামিতিগুলি অনুকূলিত করুন।

  4. দুই দিকের অবস্থানের সাথে লক-ইন এড়ানোর জন্য খোলার আদেশ বাছাইয়ের নিয়ম যোগ করুন।

সিদ্ধান্ত

সামগ্রিকভাবে, এটি একটি কার্যকর কৌশল যা মাঝারি এবং দীর্ঘমেয়াদী প্রবণতা ট্রেডিংয়ের জন্য উপযুক্ত। কৌশলটির সবচেয়ে বড় সুবিধা হ'ল রিয়েল-টাইম ড্রডাউন মনিটরিং এবং অবস্থানের গতিশীল সমন্বয়। এটি কৌশলটিকে বাজারের সাথে শক্তিশালী অভিযোজনযোগ্যতার সাথে স্বয়ংক্রিয়ভাবে অবস্থান আকার সামঞ্জস্য করতে দেয়। যখন বাজারে তীব্র পরিবর্তন বা দামের ওঠানামা হয়, তখন কৌশলটি ক্ষতির কার্যকরভাবে প্রসারিত হওয়া রোধ করতে স্বয়ংক্রিয়ভাবে অবস্থান আকার হ্রাস করতে পারে। এটি অনেক 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)


আরো