মাল্টি টাইমফ্রেম কৌশল

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

img

সারসংক্ষেপ

এই কৌশলটি ট্রেন্ডগুলি ট্র্যাক করার জন্য একাধিক সময়সীমার উপর সূচকগুলির চুক্তি ব্যবহার করে। এটি দৈনিক, 10 দিনের, 15 দিনের এবং 30 দিনের সময়সীমার সাথে সাথে গতিশীল স্টপ লস সহ উত্থান বা হ্রাস সংকেত দেয়।

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

কৌশলটি চারটি সময়সীমা ব্যবহার করে প্রবণতার দিকনির্দেশ বিচার করে - দৈনিক, 10 দিন, 15 দিন এবং 30 দিন। যখন চারটি সময়সীমার মধ্যে বন্ধের দাম খোলার দামের চেয়ে বেশি হয়, এটি একটি উত্থান সংকেত নির্দেশ করে। যখন চারটি সময়সীমার মধ্যে বন্ধের দাম খোলার দামের চেয়ে কম হয়, এটি একটি হ্রাস সংকেত নির্দেশ করে।

যখন সিগন্যালটি উত্থানমুখী হয়, তখন এটি দীর্ঘ হয়। যখন সিগন্যালটি হ্রাসের হয়, তখন এটি সংক্ষিপ্ত হয়। প্রবেশের পরে, কেসি চ্যানেলটি গতিশীল স্টপ লস জন্য ব্যবহৃত হয়।

বিশেষত, কৌশলটি প্রবণতা দিক নির্ধারণের জন্য বিভিন্ন সময়সীমার মধ্যে খোলার দাম এবং বন্ধের দামের তুলনা করে। যদি বন্ধের দাম খোলার দামের চেয়ে বেশি হয় তবে সময়সীমাটি উত্থান হিসাবে বিবেচিত হয় এবং সবুজ রঙে চিত্রিত হয়। যদি বন্ধের দাম খোলার দামের চেয়ে কম হয় তবে সময়সীমাটি হ্রাসকারী হিসাবে বিবেচিত হয় এবং লাল রঙে চিত্রিত হয়।

যখন চারটি টাইমফ্রেম একটি উত্থান সংকেত সম্মত হয়, তখন কৌশলটি একটি দীর্ঘ অবস্থান খুলবে। যখন চারটি টাইমফ্রেম একটি হ্রাস সংকেত সম্মত হয়, তখন কৌশলটি একটি শর্ট অবস্থান খুলবে। এটি স্টপ লস বা প্রবণতা বিপরীত হলে বেরিয়ে আসবে।

সুবিধা

  1. প্রবণতা নিশ্চিত করার জন্য একাধিক সময়সীমা ব্যবহার করে কার্যকরভাবে মিথ্যা ব্রেকআউটগুলি ফিল্টার করতে পারে এবং প্রবণতার দিকনির্দেশ নির্ধারণ করতে পারে।

  2. গতিশীল স্টপ লস মূলধন সুরক্ষা সর্বাধিক করতে পারে।

  3. কঠোর প্রবেশের মানদণ্ড অপ্রয়োজনীয় বাণিজ্য এবং স্লিপিং খরচ হ্রাস করে।

  4. একাধিক সময়সীমার সমন্বয় লাভের গতি এবং স্থিতিশীলতার ভারসাম্য বজায় রাখে।

ঝুঁকি

  1. প্রবেশের মানদণ্ড খুব কঠোর হতে পারে, কিছু সুযোগ হারাতে পারে।

  2. ভুল স্টপ লস সেটিং খুব আক্রমণাত্মক বা সংরক্ষণশীল হতে পারে।

  3. অপ্রয়োজনীয় সময়সীমা নির্বাচন দীর্ঘমেয়াদী বা স্বল্পমেয়াদী প্রবণতার সাথে সামঞ্জস্যপূর্ণ নাও হতে পারে।

  4. ঘটনা থেকে আকস্মিক বিপরীত ঘটনা স্টপ লসকে ট্রিগার করতে পারে না।

উন্নতির ক্ষেত্র

  1. লাভের গতি এবং স্থিতিশীলতার ভারসাম্য বজায় রাখার জন্য সময়সীমা নির্বাচনকে অনুকূল করুন।

  2. স্টপ লস লেভেল অপ্টিমাইজ করার জন্য বিভিন্ন প্যারামিটার সেটিং পরীক্ষা করুন।

  3. মেশিন লার্নিং অ্যালগরিদম যোগ করুন বিপরীত পয়েন্ট বিচার করতে সাহায্য করার জন্য।

  4. হঠাৎ বিপর্যয়ের কারণে ক্ষতি এড়াতে গুরুত্বপূর্ণ ঘটনা পর্যবেক্ষণ করুন।

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

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


/*backtest
start: 2024-01-19 00:00:00
end: 2024-02-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("[RichG] Easy MTF Strategy v1.1", overlay=false)

TF_1_time = input("D", "Timeframe 1")
TF_2_time = input("10D", "Timeframe 2")
TF_3_time = input("15D", "Timeframe 3")
TF_4_time = input("30D", "Timeframe 4")
lengthKC=input(20, title="KC Length")
multKC = input(1.5, title="KC MultFactor")
lengthBB=input(20, title="BB Length")
transaction_size = input(1, "Contract/Share Amount")

src = close, len = 20


out = sma(src, len)
width = 5
upcolor = green
downcolor = red
neutralcolor = blue
linestyle = line


kc() =>
    ma = sma(close, lengthKC)
    range = tr
    rangema = sma(range, lengthKC)
    upperKC = ma + rangema * multKC
    lowerKC = ma - rangema * multKC
    [lowerKC, upperKC] 

 
bb() =>
    source = close 
    basis = sma(source, lengthBB)
    dev = multKC * stdev(source, lengthBB)
    upperBB = basis + dev
    lowerBB = basis - dev
    [upperBB, lowerBB]

TF_1 = request.security(syminfo.tickerid, TF_1_time, open) < request.security(syminfo.tickerid, TF_1_time, close) ? true:false
TF_1_color = TF_1 ? upcolor:downcolor

TF_2 = request.security(syminfo.tickerid, TF_2_time, open) < request.security(syminfo.tickerid, TF_2_time, close) ? true:false
TF_2_color = TF_2 ? upcolor:downcolor

TF_3 = request.security(syminfo.tickerid, TF_3_time, open) < request.security(syminfo.tickerid, TF_3_time, close) ? true:false
TF_3_color = TF_3 ? upcolor:downcolor


TF_4 = request.security(syminfo.tickerid, TF_4_time, open) < request.security(syminfo.tickerid, TF_4_time, close) ? true:false
TF_4_color = TF_4 ? upcolor:downcolor

TF_global = TF_1 and TF_2 and TF_3 and TF_4 
TF_global_bear = TF_1 == false and TF_2 == false and TF_3 == false and TF_4 == false
TF_global_color = TF_global ? green : TF_global_bear ? red : white
TF_trigger_width = TF_global ? 6 : width

plot(1, style=linestyle, linewidth=width, color=TF_1_color)
plot(5, style=linestyle, linewidth=width, color=TF_2_color)
plot(10, style=linestyle, linewidth=width, color=TF_3_color)
plot(15, style=linestyle, linewidth=width, color=TF_4_color)
plot(25, style=linestyle, linewidth=4, color=TF_global_color)    

exitCondition_Long = TF_global_bear 
exitCondition_Short = TF_global

longCondition = TF_global
if (longCondition)
    strategy.entry("MTF_Long", strategy.long, qty=transaction_size)

shortCondition = TF_global_bear
if (shortCondition)
    strategy.entry("MTF_Short", strategy.short, qty=transaction_size)

[kc_lower,kc_upper] = kc()

strategy.close("MTF_Long", when=close < kc_upper)
strategy.close("MTF_Short", when=close > kc_lower)


আরো