ইচিমোকু ব্রেকআউট কৌশল

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

সারসংক্ষেপ

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

মূলনীতি বিশ্লেষণ

এই কৌশলটির মূল ভিত্তি ইচিমোকু রেখার তত্ত্বের উপর ভিত্তি করে।donchian()এটি একটি নির্দিষ্ট সময়ের মধ্যে সর্বোচ্চ উচ্চ এবং সর্বনিম্ন নিম্নের গড় গণনা করে। এটি তারপর বিচার করে যে দামটি ট্রেডিং সংকেত তৈরি করতে এই লাইনটি ভেঙে দেয় কিনা।

বিশেষ করে, কৌশলটি প্রথমে টেনকান লাইন গণনা করে (TS) ব্যবহারTenসময়কাল, একটি রেফারেন্স লাইন হিসাবে। যখন মূল্য লাইন উপরে বিরতি, এটি একটি প্রবণতা সরানো বিবেচনা করা হয় এবং একটি দীর্ঘ সংকেত উৎপন্ন করে। যখন মূল্য লাইন নীচে বিরতি, এটি প্রবণতা বিপরীত হিসাবে বিবেচিত হয় এবং একটি সংক্ষিপ্ত সংকেত উৎপন্ন করে।

এছাড়া কৌশলটি কিজুন লাইন (KS) ব্যবহারKijসময়কাল।TSএটি একটি ফিল্টার হিসাবে কাজ করে যা মিথ্যা সংকেতগুলি এড়াতে পারে।TSউপরে ক্রসKSএকটি দীর্ঘ সংকেত ট্রিগার করা হবে।

কোডটি প্রবণতা দিকের বিচারকে সহায়তা করার জন্য ইচিমোকু ক্লাউডকেও প্লট করে। চিকু লাইনটি একটি সহায়ক শর্ত হিসাবে দামের সাথে এর সম্পর্ক নির্ধারণের জন্য গণনা করা হয়।

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

  • প্রবণতা নির্ধারণের জন্য চলমান গড় ব্যবহার করে, সহজ এবং সহজেই বুঝতে পারে
  • ইচিমোকু ক্লাউড নির্ভুলতা উন্নত করার জন্য অতিরিক্ত রেফারেন্স প্রদান করে
  • চিকু লাইন অতিরিক্ত শর্ত হিসাবে সংকেত ফিল্টার
  • বিভিন্ন প্যারামিটার সমন্বয় সঙ্গে নমনীয় সমন্বয় উপলব্ধ

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

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

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

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

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

সিদ্ধান্ত

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


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

//@version=4

strategy(title="Ichimoku Crypto Breakout", shorttitle="Ichimoku Breakout", overlay=true)

Ten = input(18, minval=1, title="Tenkan")
Kij = input(52, minval=1, title="Kijun")
LeadSpan = input(104, minval=1, title="Senkou B")
Displace = input(52, minval=1, title="Senkou A")
SpanOffset = input(52, minval=1, title="Span Offset")

sts = input(true, title="Show Tenkan")
sks = input(true, title="Show Kijun")
ssa = input(true, title="Show Span A")
ssb = input(true, title="Show Span B")

source = close

//Script for Ichimoku Indicator
donchian(len) => avg(lowest(len), highest(len))
TS = donchian(Ten)
KS = donchian(Kij)
SpanA = avg(TS, KS)
SpanB = donchian(LeadSpan)

CloudTop = max(TS, KS)

Chikou = source[Displace]
SpanAA = avg(TS, KS)[SpanOffset]
SpanBB = donchian(LeadSpan)[SpanOffset]

//Kumo Breakout (Long)
SpanA_Top = SpanAA >= SpanBB ? 1 : 0
SpanB_Top = SpanBB >= SpanAA ? 1 : 0

SpanA_Top2 = SpanA >= SpanB ? 1 : 0
SpanB_Top2 = SpanB >= SpanA ? 1 : 0

SpanA1 = SpanA_Top2 ? SpanA : na
SpanA2 = SpanA_Top2 ? SpanB : na

SpanB1 = SpanB_Top2 ? SpanA : na
SpanB2 = SpanB_Top2 ? SpanB : na

//plot for Tenkan and Kijun (Current Timeframe)
p1= plot(sts and TS ? TS : na, title="Tenkan", linewidth = 2, color = gray)
p2 = plot(sks and KS ? KS : na, title="Kijun", linewidth = 2, color = black)
p5 = plot(close, title="Chikou", linewidth = 2, offset=-Displace, color = orange)

//Plot for Kumo Cloud (Dynamic Color)
p3 = plot(ssa and SpanA ? SpanA : na, title="SpanA", linewidth=2, offset=Displace, color=green)
p4 = plot(ssb and SpanB ? SpanB : na, title="SpanB", linewidth=2, offset=Displace, color=red)

p8 = plot(ssa and SpanA1 ? SpanA1 : na, title="Span A1 above", style=linebr, linewidth=1, offset=Displace, color=green)
p9 = plot(ssa and SpanA2 ? SpanA2 : na, title="Span A2 above", style=linebr, linewidth=1, offset=Displace, color=green)
p10 = plot(ssb and SpanB1 ? SpanB1 : na, title="Span B1 above", style=linebr, linewidth=1, offset=Displace, color=red)
p11 = plot(ssb and SpanB2 ? SpanB2 : na, title="Span B2 above", style=linebr, linewidth=1, offset=Displace, color=red)

fill(p8, p9, color = lime, transp=70, title="Kumo Cloud Up")
fill (p10, p11, color=red, transp=70, title="Kumo Cloud Down")

LongSpan = (SpanA_Top and source[1] < SpanAA[1] and source > SpanAA) or (SpanB_Top and source[1] < SpanBB[1] and source > SpanBB) ? 1 : 0
cupSpan = LongSpan  == 1 ? LongSpan : 0

//Kumo Breakout (Long)
//plotarrow(cupSpan, title="Kumo Breakout Long", colorup=green, maxheight=50)

//Kumo Breakout (Long) Alerts
Long_Breakout = (SpanA_Top ==1 and crossover(source, SpanAA)) or (SpanB_Top ==1 and crossover(source, SpanBB))
//Long_Breakout = ((SpanA_Top ==1 and crossover(KS, SpanAA)) or (SpanB_Top ==1 and crossover(KS, SpanBB))) and TS >= KS
//alertcondition(Long_Breakout, title="Kumo Breakout Long", message="Kumo Long")

//Kumo Breakout (Short)
ShortSpan = (SpanB_Top and source[1] > SpanAA[1] and source < SpanAA) or (SpanA_Top and source[1] > SpanBB[1] and source < SpanBB) ? 1 : 0
cdnSpan = ShortSpan == 1 ? ShortSpan : 0

//Kumo Breakout (Short)
//plotarrow(cdnSpan*-1, title="Kumo Breakout Short", colordown=red, maxheight=50)

//Kumo Breakout (Short) Alerts
Short_Breakout = (SpanA_Top ==1 and crossunder(source, SpanBB)) or (SpanB_Top ==1 and crossunder(source, SpanAA))
//alertcondition(Short_Breakout, title="Kumo Breakout Short", message="Kumo Short")

//Kumo Twist
Kumo_Twist_Long = SpanA[1] < SpanB[1] and SpanA > SpanB ? 1 : 0
Kumo_Twist_Short = SpanA[1] > SpanB[1] and SpanA < SpanB ? 1 : 0

cupD = Kumo_Twist_Long == 1 ? Kumo_Twist_Long : 0
cdnD = Kumo_Twist_Short == 1 ? Kumo_Twist_Short : 0

//Kumo Twist (Long/Short)
//plotarrow(cupD, title="Kumo Twist Long", colorup=green, maxheight=50)
//plotarrow(cdnD*-1, title="Kumo Twist Short", colordown=red, maxheight=50)

//Kumo Twist (Long/Short) Alerts
KumoTwistLong_Cross = crossover(SpanA, SpanB)
//alertcondition(KumoTwistLong_Cross, title="Kumo Twist Long", message="Kumo Twist Long")
KumoTwistShort_Cross = crossunder(SpanA, SpanB)
//alertcondition(KumoTwistShort_Cross, title="Kumo Twist Short", message="Kumo Twist Short")

//Kumo Twist (Long/Short) - Bar Color
BarColor = Kumo_Twist_Long ? green : Kumo_Twist_Short ? red : na
barcolor(BarColor)

//Chikou above/below Price
Chikou_Above = close > Chikou
Chikou_Below = close < Chikou

//Kumo Twist (Long/Short) - Plot Character on location of Chikou to Price & Price to Kumo
//plotchar(Kumo_Twist_Long and Chikou_Above, title="Kumo Twist Long and Chikou above Price", char="A", location=location.abovebar, color=green)
//plotchar(Kumo_Twist_Long and Chikou_Below, title="Kumo Twist Long and Chikou below Price", char="B", location=location.abovebar, color=red)
//plotchar(Kumo_Twist_Short and Chikou_Above, title="Kumo Twist Short and Chikou above Price", char="A", location=location.belowbar, color=green)
//plotchar(Kumo_Twist_Short and Chikou_Below, title="Kumo Twist Short and Chikou below Price", char="B", location=location.belowbar, color=red)

//Base and Conversion Line Cross
//long = cross(TS, KS) and TS>KS

long = (cross(TS, SpanA) or cross(TS, SpanB)) and TS>SpanA and TS>SpanB and TS>=KS
short = cross(TS, KS) and KS >= TS

strategy.entry("long", strategy.long, when=Long_Breakout)
strategy.entry("short", strategy.short, when=Short_Breakout)
//strategy.exit("bracket", when=short)

আরো