ইচিমোকু মেঘের প্রবণতা কৌশল অনুসরণ করে

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

img

I. কৌশল নামঃ ইচিমোকু ক্লাউড ট্রেন্ড অনুসরণকারী কৌশল

২. কৌশলগত ওভারভিউ

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

৩. কৌশলগত নীতি

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

সংক্ষেপে, মূল যুক্তিটি হলঃ মাঝারি-দীর্ঘমেয়াদী প্রবণতা নিশ্চিত করুন -> শক্তিশালী প্রবণতা পুনরায় শুরু হওয়ার সংকেতের জন্য অপেক্ষা করুন -> প্রবণতা অনুসরণ করতে প্রবেশ করুন -> স্টপ লস সহ প্রস্থান করুন।

বিশেষত, মাঝারি দীর্ঘমেয়াদী প্রবণতা নির্ধারণের জন্য, এটি শীর্ষস্থানীয় এবং পিছিয়ে থাকা স্প্যানের মধ্যে সম্পর্ক ব্যবহার করে (শীর্ষস্থানীয় সবুজ স্প্যানের উপরে আপগ্রেড প্রবণতা এবং বিপরীতভাবে সংকেত দেয়) । বৃহত্তর প্রবণতা নিশ্চিত করার পরে, টেনকান-সেন এবং কিজুন-সেনের মধ্যে ক্রসওভার দামের ব্রেকআউট সংকেতগুলির সাথে প্রবণতা পুনরায় সনাক্ত করতে ব্যবহৃত হয়; প্রবেশের পরে, কিজুন-সেনটি প্রস্থানগুলির জন্য পিছনে স্টপ লস হিসাবে ব্যবহৃত হয়।

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

IV. সুবিধা

(১) মাঝারি ও দীর্ঘমেয়াদী প্রবণতার দিকনির্দেশনা নির্ধারণের জন্য ইচিমোকু ক্লাউড ব্যবহার করা প্রধান দিকনির্দেশক প্রান্তগুলি সনাক্ত করার জন্য উপকারী।

(২) Tenkan-sen/Kijun-sen ক্রসওভার এবং ক্লাউডের সাথে মূল্য সম্পর্কের পরিবর্তনগুলি কার্যকরভাবে সংহতকরণগুলি ফিল্টার করতে এবং শক্তিশালী প্রবণতাগুলিকে প্রাথমিকভাবে ধরতে সক্ষম করে।

(৩) ট্রেলিং স্টপ লস আউট মেশিনটি বড় ট্রেন্ডগুলি চালানোর অনুমতি দেয় এবং একই সাথে বিচ্ছিন্ন ক্ষতিগুলি কার্যকরভাবে নিয়ন্ত্রণ করে।

(৪) বিভিন্ন ইচিমোকু সংকেতকে একত্রিত করে একটি শক্তিশালী সিস্টেম তৈরি করা হয় যা প্রবণতা সুচারুভাবে অনুসরণ করে।

V. ঝুঁকি

(1) বৃহত্তর প্রবণতা ভুলভাবে চিহ্নিত করার সিস্টেমিক ঝুঁকি। যদি বৃহত্তর প্রবণতা ভুলভাবে নির্ণয় করা হয়, তাহলে পরবর্তী সমস্ত কর্ম ভুল দিকনির্দেশমূলক ঝুঁকি বহন করবে।

(২) খারাপভাবে নির্বাচিত এন্ট্রি টাইমিং থেকে ঝুঁকি। অনুপযুক্ত এন্ট্রি টাইমিং নেতিবাচক মূল্য whipsaws ঝুঁকি।

(৩) খুব শক্তভাবে স্থাপন করা স্টপ থেকে ঝুঁকি। চরম দামের চলাচল খুব শক্ত স্টপগুলিকে অপসারণ করতে পারে যার ফলে অপ্রত্যাশিত ক্ষতি হতে পারে।

(4) উচ্চ ট্রেডিং ফ্রিকোয়েন্সি যা অত্যধিক লেনদেনের খরচ সৃষ্টি করে। প্যারামিটারগুলির খারাপ সমন্বয় অত্যধিক ট্রেডিং ফ্রিকোয়েন্সি এবং খরচ হতে পারে।

VI. উন্নত ক্ষেত্র

(1) সর্বোত্তম পরামিতি খুঁজে পেতে Ichimoku ইনপুট সময়ের বিভিন্ন সমন্বয় পরীক্ষা করুন।

(২) উচ্চমানের এন্ট্রি নিশ্চিত করার জন্য এন্ট্রি ফিল্টারগুলি অপ্টিমাইজ করুন।

(3) ঝুঁকি-প্রতিদানের ভারসাম্য বজায় রাখতে স্টপ দূরত্ব সামঞ্জস্য করুন।

(৪) প্রাইস-কি ইন্ডিকেটর দূরত্বের উপর ভিত্তি করে লাভের লক্ষ্যমাত্রা যোগ করে অভিযোজিত মুনাফা গ্রহণের প্রক্রিয়া তৈরি করা।

৭. উপসংহার

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


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Ichimoku trendfollowing", overlay=true, initial_capital=1000, commission_type=strategy.commission.cash_per_order, commission_value=0.04, slippage=2)

//***************************
//  INPUT BACKTEST RANGE    *
//***************************
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2010, title = "From Year", minval = 2000) 
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2000)

start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => true

//***************
//*  ICHIMOKU   *
//***************
//inizializzazione parametri,,
tenkanPeriods = input(9, minval=1, title="Tenkan-Sen")
kinjunPeriods = input(26, minval=1, title="Kinjun-Sen")
senkouSpanBPeriods = input(52, minval=1, title="Senkou Span B")
displacement = input(26, minval=1, title="-ChinkouSpan/+SenkouSpan A")

//definizione Tenkan-Sen (9 Period), Kinjun-Sen (26 Period), Chinkou Span (Lagging Line)
averageHighLow(period) => avg(lowest(period), highest(period))
tenkan= averageHighLow(tenkanPeriods)
kinjun = averageHighLow(kinjunPeriods)
senkouSpanA = avg(tenkan, kinjun)
senkouSpanB = averageHighLow(senkouSpanBPeriods)

//definisco il colore della kumo in base al trend.
senkouSpan1Above = senkouSpanA >= senkouSpanB ? 1 : na
senkouSpan2Below = senkouSpanA <= senkouSpanB ? 1 : na

span1plotU = senkouSpan1Above ? senkouSpanA : na
span2plotU = senkouSpan1Above ? senkouSpanB : na
span1plotD = senkouSpan2Below ? senkouSpanA : na
span2plotD = senkouSpan2Below ? senkouSpanB : na

col = senkouSpanA >= senkouSpanB ? lime : red

//plots Ichimoku
plot(tenkan, title = 'Tenkan-Sen', linewidth=1, color=blue)
plot(kinjun, title = 'Kinjun-Sen', linewidth=1, color=red)
plot(close, title = 'Chinkou Span', linewidth=1, offset = -displacement, color=aqua)
plot( senkouSpanA, title = 'Senkou Span A', style=line, linewidth=1, offset = displacement, color=lime)
plot(senkouSpanB, title = 'Senkou Span B', style=line, linewidth=1, offset = displacement, color=red)

//Cloud Lines Plot 
p1 = plot(span1plotU ? span1plotU  : na, title = 'Senkou Span A Above Senkou Span B', style=linebr, linewidth=1, offset = displacement, color=col)
p2 = plot(span2plotU ? span2plotU  : na, title = 'Senkou Span B (52 Period) Below Span A Cloud', style=linebr, linewidth=1, offset = displacement, color=col)
p3 = plot(span1plotD ? span1plotD  : na, title = 'Senkou Span A (26 Period) Below Span B Cloud', style=linebr, linewidth=1, offset = displacement, color=col)
p4 = plot(span2plotD ? span2plotD  : na, title = 'Senkou Span B (52 Period) Above Span A Cloud', style=linebr, linewidth=1, offset = displacement, color=col)
//Fills that color cloud based on Trend.
fill(p1, p2, color=lime, transp=70, title='Kumo (Cloud)')
fill(p3, p4, color=red, transp=70, title='Kumo (Cloud)')

//***********************************************
//*     condizioni ingresso ed uscita mercato   *
//***********************************************
isKumoRialzista = senkouSpanA >= senkouSpanB ? true : false
isSopraKumo = (close > max(senkouSpanA[displacement], senkouSpanB[displacement]))
isSottoKumo = (close < min(senkouSpanA[displacement], senkouSpanB[displacement]))
isChinkouSpanSopra = high[displacement]<close
isChinkouSpanSotto = low[displacement]>close

filtroLong=isSopraKumo and isChinkouSpanSopra
filtroShort=isSottoKumo and isChinkouSpanSotto

//rimbalzato su kijun quando i prezzi stavano ritracciando e il trend era già in atto(tenkan >kijun x entrare long
isPullBackLijunEntryLong = kinjun<tenkan and low<kinjun and (close>kinjun) 
isPullBackLijunEntryShort =kinjun>tenkan and high>kinjun and  (close<kinjun) 

//Breackout Kumo
isBreackoutKumoEntryLong =  crossover(close, max(senkouSpanA[displacement], senkouSpanB[displacement])) and (close>tenkan) and (close>kinjun) 
isBreackoutKumoEntryShort =  crossunder(close, min(senkouSpanA[displacement], senkouSpanB[displacement])) and (close<tenkan) and (close<kinjun)

ConditionEntryLong = (isPullBackLijunEntryLong or isBreackoutKumoEntryLong ) and filtroLong
ConditionEntryShort = (isPullBackLijunEntryShort or isBreackoutKumoEntryLong ) and filtroShort

isExitLong = close<kinjun
isExitShort = close>kinjun

//ingressi ed uscite Mercato
strategy.entry ("Long",long=true, when = window() and ConditionEntryLong)
strategy.entry ("Short",long=false, when = window() and ConditionEntryShort)

strategy.close(id="Long", when=isExitLong)
strategy.close(id="Short", when=isExitShort)
strategy.close_all(when=not window())


আরো