রিসোর্স লোড হচ্ছে... লোডিং...

স্মার্ট টাইম-ভিত্তিক লং-কোর্ট রোটেশন ব্যালেন্সড ট্রেডিং স্ট্র্যাটেজি

লেখক:চাওঝাং, তারিখঃ ২০২৪-১১-১২ ১৬ঃ৩৩ঃ৪৩
ট্যাগঃএটিআরএসএমএআরএসআইবি বিএমএ

img

সারসংক্ষেপ

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

কৌশল নীতি

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

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

  1. উচ্চ নমনীয়তাঃ খাঁটি দীর্ঘ, খাঁটি সংক্ষিপ্ত বা দ্বি-নির্দেশমূলক ট্রেডিং মোড সমর্থন করে
  2. নিয়ন্ত্রিত ঝুঁকিঃ দীর্ঘমেয়াদী ঝুঁকি এড়ানোর জন্য সময়সীমার মধ্যে অবস্থান ধরে রাখার সময়সীমা
  3. ভাল অভিযোজনযোগ্যতাঃ বাজারের অবস্থার উপর ভিত্তি করে স্বয়ংক্রিয়ভাবে ট্রেডিং দিক সামঞ্জস্য করে
  4. সহজ অপারেশনঃ স্পষ্ট ট্রেডিং লজিক, সহজেই বোঝা এবং বাস্তবায়ন
  5. উচ্চ মূলধন দক্ষতাঃ ঘন ঘন ঘুরার মাধ্যমে মূলধন ব্যবহার উন্নত করে
  6. সামঞ্জস্যযোগ্য পরামিতিঃ মূল পরামিতিগুলি প্রকৃত প্রয়োজন অনুযায়ী নমনীয়ভাবে সামঞ্জস্য করা যেতে পারে

কৌশলগত ঝুঁকি

  1. ঘন ঘন ট্রেডিং উচ্চ কমিশন খরচ হতে পারে
  2. ঘূর্ণনশীল বাজারে ঘন ঘন মিথ্যা সংকেত তৈরি করতে পারে
  3. নির্দিষ্ট সময় ধরে রাখা গুরুত্বপূর্ণ বাজার সুযোগ হারাতে পারে
  4. বাজার প্রবণতা বিবেচনা করা হয় না, প্রাথমিক প্রবণতা বিরুদ্ধে ট্রেড করতে পারেন
  5. স্টপ-লস মেকানিজমের অভাব চরম বাজারের পরিস্থিতিতে উল্লেখযোগ্য ক্ষতি হতে পারে

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

  1. ধারণকালকে গতিশীলভাবে সামঞ্জস্য করার জন্য অস্থিরতা সূচক (যেমন ATR) প্রবর্তন করুন
  2. ট্রেডিং দিকনির্দেশের সঠিকতা উন্নত করতে প্রবণতা বিচার সূচক যোগ করুন
  3. ঝুঁকি নিয়ন্ত্রণ বাড়ানোর জন্য স্টপ লস এবং লাভ নেওয়ার ব্যবস্থা অন্তর্ভুক্ত করুন
  4. অনুপযুক্ত ট্রেডিং সময় এড়াতে প্রবেশের সময়সূচী অপ্টিমাইজ করুন
  5. পজিশনের আকারকে অপ্টিমাইজ করার জন্য অর্থ ব্যবস্থাপনা সিস্টেম চালু করুন
  6. ট্রেডিংয়ের নির্ভুলতা উন্নত করতে বাজারের আবেগ নির্দেশক যুক্ত করুন

সংক্ষিপ্তসার

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


/*backtest
start: 2024-10-12 00:00:00
end: 2024-11-11 00:00:00
period: 4h
basePeriod: 4h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Tickerly Test Strategy", overlay=true)

// Inputs
longEnabled = input.bool(true, "Enable Long Trades")
shortEnabled = input.bool(true, "Enable Short Trades")
swingEnabled = input.bool(false, "Enable Swing Trading")

// Variables
var positionHeld = 0
var barsHeld = 0
var barsPaused = 0
var lastAction = "none"

// Function to determine if we're in the last 500 bars
inActivePeriod() => 
    barIndex = bar_index
    lastBarIndex = last_bar_index
    barIndex >= (lastBarIndex - 499)

// Main strategy logic
if inActivePeriod()
    if swingEnabled
        if positionHeld == 0 and barstate.isconfirmed
            if lastAction != "long"
                strategy.entry("Long", strategy.long)
                positionHeld := 1
                barsHeld := 0
                lastAction := "long"
            else
                strategy.entry("Short", strategy.short)
                positionHeld := -1
                barsHeld := 0
                lastAction := "short"
        
        if positionHeld != 0
            barsHeld += 1
            if barsHeld >= 2
                if positionHeld == 1
                    strategy.entry("Short", strategy.short)
                    positionHeld := -1
                    barsHeld := 0
                    lastAction := "short"
                else
                    strategy.entry("Long", strategy.long)
                    positionHeld := 1
                    barsHeld := 0
                    lastAction := "long"
    else
        if positionHeld == 0 and barsPaused >= 1 and barstate.isconfirmed
            if longEnabled and shortEnabled
                if lastAction != "long"
                    strategy.entry("Long", strategy.long)
                    positionHeld := 1
                    barsHeld := 0
                    barsPaused := 0
                    lastAction := "long"
                else
                    strategy.entry("Short", strategy.short)
                    positionHeld := -1
                    barsHeld := 0
                    barsPaused := 0
                    lastAction := "short"
            else if longEnabled
                strategy.entry("Long", strategy.long)
                positionHeld := 1
                barsHeld := 0
                barsPaused := 0
                lastAction := "long"
            else if shortEnabled
                strategy.entry("Short", strategy.short)
                positionHeld := -1
                barsHeld := 0
                barsPaused := 0
                lastAction := "short"
        
        if positionHeld != 0
            barsHeld += 1
            if barsHeld >= 3
                strategy.close_all()
                positionHeld := 0
                barsHeld := 0
                barsPaused := 0  // Reset pause counter when exiting a position
        else
            barsPaused += 1

// Plotting active period for visual confirmation
plot(inActivePeriod() ? 1 : 0, "Active Period", color=color.new(color.blue, 80), style=plot.style_areabr)

সম্পর্কিত

আরো