ওসিলেশনের অগ্রগতি - বাজার কাঠামোর পরিবর্তনের কৌশল

লেখক:চাওঝাং, তারিখঃ ২০২৩-১২-০৫ ১৫ঃ১৭ঃ০১
ট্যাগঃ

img

ওসিলেশন ব্রেকথ্রু - মার্কেট স্ট্রাকচার শিফট স্ট্র্যাটেজি (আইসিটি_এমএসএস) একটি প্রবণতা অনুসরণকারী কৌশল যা বিভিন্ন সময়সীমার মধ্যে সম্পর্ক ব্যবহার করে বাজারের কাঠামোর শিফটগুলি সনাক্ত করে। কৌশলটি নতুন প্রবণতা দিকগুলি ক্যাপচার করার জন্য বাজারের কাঠামোর শিফটগুলির জন্য একটি সংকেত হিসাবে সময়সীমার সম্পর্ক ব্যবহার করে।

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

এই কৌশলটির মূল যুক্তি হ'ল স্বল্প সময়ের নীচে এবং উপরের দিকে গ্রাসকারী নিদর্শনগুলিকে দীর্ঘ সময়ের সময়ের বাজারের কাঠামোর পরিবর্তনের সংকেত হিসাবে ব্যবহার করা। বিশেষত, কৌশলটি একই সাথে একটি দীর্ঘ সময়সীমা (উদাহরণস্বরূপ 60m বার) এবং একটি সংক্ষিপ্ত সময়সীমা (উদাহরণস্বরূপ 15m বার) পর্যবেক্ষণ করে। যখন একটি নীচে গ্রাসকারী লাল বারটি স্বল্প সময়ের ফ্রেমে প্রদর্শিত হয় যখন দীর্ঘ সময়সীমা বারটি সবুজ হয়, তখন এটি নির্ধারিত হয় যে একটি বাজার কাঠামো ঘটেছে এবং একটি দীর্ঘ স্থানান্তর অবস্থান নেওয়া হয়। যখন একটি উপরের দিকে গ্রাসকারী সবুজ বারটি স্বল্প সময়ের ফ্রেমে প্রদর্শিত হয় যখন দীর্ঘ সময়সীমা বারটি লাল হয়, তখন এটি নির্ধারিত হয় যে একটি বাজার কাঠামো পরিবর্তন ঘটেছে এবং একটি সংক্ষিপ্ত অবস্থান নেওয়া হয়।

একটি দিকনির্দেশক অবস্থানে প্রবেশের পরে, কৌশলটি ঝুঁকি নিয়ন্ত্রণের জন্য একটি স্টপ লস সেট করতে স্বল্প সময়সীমা উচ্চ / নিম্ন ব্যবহার করে। যখন দীর্ঘ সময়সীমা বার বন্ধের মূল্য লাভের স্তরে পৌঁছে যায়, তখন কৌশলটি লাভের জন্য অবস্থানটি বন্ধ করবে।

সুবিধা বিশ্লেষণ

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

  1. নির্ভরযোগ্য বাজার কাঠামো শিফট সংকেত। সময় ফ্রেম সম্পর্ক ব্যবহার একক সময় ফ্রেম থেকে গোলমাল দ্বারা বিভ্রান্ত করা এড়ানো হয়।

  2. স্বয়ংক্রিয়ভাবে নতুন প্রবণতা দিক নির্ধারণ করে। বাজার কাঠামোর পরিবর্তনগুলি স্বয়ংক্রিয়ভাবে ম্যানুয়াল বিচারের প্রয়োজন ছাড়াই দীর্ঘ / সংক্ষিপ্ত এন্ট্রিগুলি ট্রিগার করে।

  3. কার্যকর ঝুঁকি নিয়ন্ত্রণঃ ঝুঁকি নিয়ন্ত্রণের জন্য ব্যবহৃত স্বল্প সময়ের উচ্চ/নিম্ন সময়সীমা একক বাণিজ্য ক্ষতি সীমিত করতে সহায়তা করে।

  4. তুলনামূলকভাবে ভাল ড্রাউনডাউন নিয়ন্ত্রণ। প্রবেশ এবং স্টপ লস জন্য স্বল্প সময়সীমার চরম ব্যবহার কিছু পরিমাণে ড্রাউনডাউন নিয়ন্ত্রণ করতে সাহায্য করতে পারে।

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

এই কৌশলটির প্রধান ঝুঁকিগুলি হলঃ

  1. বাজারের কাঠামোর ভুল মূল্যায়নের ঝুঁকি। সংকেতগুলি ব্যর্থ হতে পারে যখন স্বল্প সময়সীমার গোলমাল বেশি থাকে। সময়সীমার পরামিতিগুলি সামঞ্জস্য করা দরকার।

  2. প্রবণতা বিপরীত ঝুঁকি. কৌশল V- আকৃতির বিপরীত সময় ড্রডাউন নিয়ন্ত্রণ করতে সংগ্রাম. স্টপ লস অ্যালগরিদম tweaked করা প্রয়োজন।

  3. প্যারামিটার অসঙ্গতি ঝুঁকি। ভুল দীর্ঘ / সংক্ষিপ্ত সময়সীমা সমন্বয় দুর্বল সংকেত মানের দিকে পরিচালিত করে এবং অপ্টিমাইজেশান পরীক্ষার প্রয়োজন।

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

কৌশলটির জন্য আরও অপ্টিমাইজেশান দিক অন্তর্ভুক্তঃ

  1. প্রবণতা বিপরীত হওয়ার সময় ভুল সংকেত এড়াতে প্রবণতা ফিল্টার যুক্ত করুন।

  2. সিগন্যালের গুণমান উন্নত করার জন্য টাইমফ্রেম প্যারামিটার মেলে অপ্টিমাইজ করুন।

  3. মেশিন লার্নিং ব্যবহার করে সর্বোত্তম লাভ / স্টপ লস অর্জন করুন।

  4. অতিরিক্ত ফিল্টার যোগ করুন যেমন বড় টাইমফ্রেম ট্রেন্ড।

  5. কৌশল সমষ্টি গঠন করতে কৌশল বৈকল্পিক প্রসারিত করুন।

সিদ্ধান্ত

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


/*backtest
start: 2022-11-28 00:00:00
end: 2023-12-04 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © jl01794

//@version=5
strategy(title="ICT_MSS[PROTOTYPE]", overlay=true, initial_capital=10000, currency="USD", margin_long=15, margin_short=15, max_lines_count=500)


// INPUTS
Time_Frame  = input.timeframe("60", title="Focused Time Frame")
FTF_LTF = input.timeframe("15", title="Focused Time Frame(LTF)")
//

// SECURITY DATA [FOR ONE TIMEFRAME REFERENCE]

FTF_Close = request.security(syminfo.tickerid, Time_Frame, close)
FTF_Open = request.security(syminfo.tickerid, Time_Frame, open)
FTFLTF_High = request.security(syminfo.tickerid, FTF_LTF, ta.highest(2)) 
FTFLTF_Low = request.security(syminfo.tickerid, FTF_LTF, ta.lowest(2)) 
FTFLTF_Close = request.security(syminfo.tickerid, FTF_LTF, close)
FTFLTF_Open = request.security(syminfo.tickerid, FTF_LTF, open)

// TIME BASED CLOSE AND OPEN
_close = FTF_Close
_open = FTF_Open
_LTFclose = FTFLTF_Close
_LTFopen = FTFLTF_Open

// CANDLE STATE
greenCandle = close > open
redCandle = close < open
LTFgreenCandle = FTFLTF_Close > FTFLTF_Open
LTFredCandle = FTFLTF_Close < FTFLTF_Open

// ENGULFING TIMEFRAME REFERENCE
FTF_greenCandle = request.security(syminfo.tickerid, Time_Frame, greenCandle)
FTF_redCandle = request.security(syminfo.tickerid, Time_Frame, redCandle)
FTFLTF_greenCandle = request.security(syminfo.tickerid, FTF_LTF, LTFgreenCandle)
FTFLTF_redCandle = request.security(syminfo.tickerid, FTF_LTF, LTFredCandle)

//--------------------------------------------------------------------------------------------------------------

//ENGULFING_FTF_LTF
B_EnP_mss = FTFLTF_redCandle[1] and        // 1E PIVOT BUY
     FTFLTF_greenCandle
//


B_EnPs_mss = FTFLTF_greenCandle[1] and        // 1E PIVOT SELL
     FTFLTF_redCandle
//  

//--------------------------------------------------------------------------------------------------------------

display_LTF = timeframe.isintraday and timeframe.multiplier <= 15

//--------------------------------------------------------------------------------------------------------------

// STORED DATAS
var float EH_MSS1 = na
var float EL_MSS1 = na
var bool can_draw = false
var line l1_mss = na
var line l1s_mss = na

//--------------------------------------------------------------------------------------------------------------

// MSS BUY
if (B_EnPs_mss) and (display_LTF)                                                 
    EH_MSS1 := FTFLTF_High 
    can_draw := true                                                            
    l1_mss := line.new(bar_index, EH_MSS1, bar_index -3, EH_MSS1, color=color.purple)     
else
    if (can_draw)
        if (FTFLTF_High > EH_MSS1)                                                    
            can_draw := false                                                  
        else
            line.set_x2(l1_mss, bar_index) 
//

// MSS SELL
if (B_EnP_mss) and (display_LTF)                                                 
    EL_MSS1 := FTFLTF_Low 
    can_draw := true                                                            
    l1s_mss := line.new(bar_index, EL_MSS1, bar_index -3, EL_MSS1, color=color.purple)     
else
    if (can_draw)
        if (FTFLTF_Low < EL_MSS1)                                                    
            can_draw := false                                                  
        else
            line.set_x2(l1s_mss, bar_index) 
          

//--------------------------------------------------------------------------------------------------------------

// ORDER

// BUY
longCondition_mssB = B_EnPs_mss and FTFLTF_High and close and high[1]
openOr = FTFLTF_High 

//SELL
shortCondition_mssS = B_EnP_mss and FTFLTF_Low and close and low[1]
openOrs = FTFLTF_Low 


if (longCondition_mssB) 
    strategy.entry("Buy", strategy.long, 1, stop = openOr, when = longCondition_mssB)
//

if (shortCondition_mssS) 
    strategy.entry("Sell", strategy.short, 1, stop = openOrs, when = shortCondition_mssS)
//

// EXIT 
long_tp = open < FTFLTF_Close[1]
short_tp = open > FTFLTF_Close[1]

//if (long_tp)
    //strategy.close("Buy", qty_percent = 100, when = long_tp)
//

//if (short_tp)
    //strategy.close("Sell", qty_percent = 100, when = short_tp)
//

আরো