দোলনশীল চ্যানেলের যুগান্তকারী কৌশল


সৃষ্টির তারিখ: 2023-11-15 16:01:09 অবশেষে সংশোধন করুন: 2023-11-15 16:01:09
অনুলিপি: 1 ক্লিকের সংখ্যা: 660
1
ফোকাস
1617
অনুসারী

দোলনশীল চ্যানেলের যুগান্তকারী কৌশল

ওভারভিউ

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

কৌশল নীতি

এই কৌশলটি প্রথমে এসএমএ গণনা করা চ্যানেলের মধ্যম অক্ষটি ব্যবহার করে, একটি প্যারামিটার মানকে উপরের রেল হিসাবে যুক্ত করে এবং একটি প্যারামিটার মানকে নিচের রেল হিসাবে হ্রাস করে একটি মূল্য চ্যানেল গঠন করে। তারপরে মূল্যটি উপরের-নিচের রেলটি ভেঙেছে কিনা তা বিচার করে এবং লেনদেনের পরিমাণের উত্থানের সাথে একত্রে পজিশন খোলার সংকেত হিসাবে কাজ করে। যখন দাম আবার চ্যানেলের মধ্যে ফিরে আসে তখন এটি একটি সমতল অবস্থানের সংকেত হিসাবে কাজ করে।

এই কৌশলটির লেনদেনের ধারণাগুলি হলঃ

  1. গণনা চ্যানেলের মধ্যম অক্ষঃ SMA ((প্রান্তিক মূল্য, N)

  2. কানালের উপ-কক্ষরেখাঃ মধ্যম অক্ষ + প্যারামিটার মান

  3. কানালের নিচের কক্ষপথঃ কেন্দ্রীয় অক্ষ - প্যারামিটার মান

  4. ট্রেডিং লাইনে প্রবেশের সময়, যদি পূর্ববর্তী চক্রের দ্বিগুণের চেয়ে বেশি লেনদেনের শর্ত পূরণ করা হয় তবে অতিরিক্ত প্রবেশ করুন

  5. প্যারিস, এপ্রিল ২৬, ২০১৭

  6. বিপর্যয়ের সময়, যদি লেনদেনের পরিমাণ পূর্ববর্তী চক্রের দ্বিগুণের চেয়ে বেশি হয় তবে শূন্য প্রবেশ করুন

  7. কানালের দিকে ফিরে, খালি মাথা অবস্থান

সামর্থ্য বিশ্লেষণ

এই কৌশলটির কিছু সুবিধা রয়েছেঃ

  1. চ্যানেল সূচক ব্যবহার করে, আপনি কার্যকরভাবে মূল্য প্রবণতা ট্র্যাক করতে পারেন।

  2. এর ফলে জাল-ব্রেকিং কার্যকরভাবে ফিল্টার করা যায়।

  3. ব্যাক-ইন চ্যানেল হল একটি ক্ষতি-নিরোধক এবং একক লেনদেনের ক্ষতি সীমাবদ্ধ করার জন্য একটি বহির্গমন ব্যবস্থা।

  4. শর্ট লাইন ট্রেন্ড ধরার জন্য কম্পন বৈশিষ্ট্যটি উপযুক্ত।

  5. বাস্তবায়ন লজিক সহজ, সহজে বোঝা যায় এবং বাস্তবায়ন করা যায়।

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

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

  1. যখন দাম দীর্ঘ সময় ধরে চ্যানেলের পাশে থাকে, তখন ক্রমাগতভাবে একই দিকে পজিশন খোলার জন্য ট্রিগার করা হয়, যার ফলে ক্ষতির ঝুঁকি থাকে।

  2. ভুলভাবে চ্যানেলের প্যারামিটার সেট করা হলে অনেক ভুল সংকেত দেখা দিতে পারে।

  3. কিন্তু এই ব্যবসায়িক প্রবৃদ্ধির জন্য সঠিক মানদণ্ড না থাকায়, এটি প্রকৃত ব্রেকিং সিগন্যালও মিস করতে পারে।

  4. তবে, এই ধরনের একটি পদ্ধতির ব্যবহারের ক্ষেত্রে, এটি একটি বড় ঘটনাকে মিস করতে পারে, যা খুব সংরক্ষণশীল।

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

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

  1. চ্যানেলের প্যারামিটারগুলিকে বিভিন্ন বাজারের বৈশিষ্ট্য অনুসারে অপ্টিমাইজ করা হয়েছে।

  2. পজিশন খোলার শর্তগুলি অনুকূলিতকরণ বা বৃদ্ধি করুন, যেমন গড় লাইনটি খালি বা ক্লাইন মোডের মতো, মিথ্যা ব্রেকডাউন এড়াতে।

  3. অপ্টিমাইজড স্টপ-ডু-এক্সিট মেকানিজম, যথাযথভাবে স্টপ-ডু-এর মাত্রা শিথিল করা, অকাল প্রস্থান এড়ানো।

  4. পজিশন ম্যানেজমেন্ট ব্যবস্থা বাড়ানো, বাজারের অবস্থার উপর ভিত্তি করে পজিশন এবং তহবিলের ব্যবহারের হারকে সামঞ্জস্য করা।

  5. এই প্রবণতাকে মূল্যায়ন করার জন্য আরও কিছু সূচক ব্যবহার করা হয়েছে।

সারসংক্ষেপ

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

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

//Copyright, 2022, Cache_that_pass.  You are free to use this script however you see fit and reproduce it in any manner.

//@version=5

            //////  Name the strategy between the 2 quotation marks.  Consider setting commission type and value in strategy header to match exchanges rates. //////

strategy("Oscillating SSL Channel Strategy", "O-SSL Strat", overlay=true, pyramiding=1, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, initial_capital = 100, calc_on_order_fills=true)



            //////  Inputs and calculations used by script  //////

period = input(title='Period', defval=25)
len = input(title='Period', defval=25)
smaHigh = ta.sma(high, len)
smaLow = ta.sma(low, len)
Hlv = int(na)
Hlv := close > smaHigh ? 1 : close < smaLow ? -1 : Hlv[1]
sslDown = Hlv < 0 ? smaHigh : smaLow
sslUp = Hlv < 0 ? smaLow : smaHigh

            //////  Show me the money  //////

plot(sslDown, linewidth=2, color=color.new(color.red, 0))
plot(sslUp, linewidth=2, color=color.new(color.lime, 0))


            //////  Trade execution logic  //////  
            
//pseudo-code//
        //Go long when high (or maybe close) breaks above the sslUp and volume is 2x or > Volume[1] and sslUp > sslDown
        //Close the above longs when sslUp crosses under sslDown (or set takeprofit and stop loss exits)
        //
        //Go short when low is lower than the sslUp and volume is 2x or > Volume[1] and sslDown > sslUp
        //Close shorts when sslDown crosses under sslUp

longCondition1 = (sslUp > sslDown)
longCondition2 = ta.crossover(high, sslUp)
//longCondition3 = (volume >= (volume[1]*1.89))
longCondition = ((longCondition1) and (longCondition2))// and (longCondition3))

longExit = ta.crossunder(sslUp, sslDown)

            //////  Bring It  //////
if (longCondition)
    strategy.entry("Bring It", strategy.long)

            //////  Sling It  //////
if (longExit)
    strategy.close("Bring It", comment="Sling It")


shortCondition1 = (sslDown) > (sslUp)
shortCondition2 = ta.crossunder(low, sslUp)
//shortCondition3 = (volume >= (volume[1]*1.89))
shortCondition = ((shortCondition1) and (shortCondition2))// and (shortCondition3))

shortExit = ta.crossunder(sslDown, sslUp)

            //////  Bring It  //////
if (shortCondition)
    strategy.entry("Bring It", strategy.long)

            //////  Sling It  //////
if (shortExit)
    strategy.close("Bring It", comment="Sling It")

            //////  Sling It  //////
if (shortCondition)
    strategy.entry("Sling It", strategy.short)

            //////  Bling It  //////
if (shortExit)
    strategy.close("Sling It", comment="Bring It")