ইচিমোকু ব্যালেন্স লাইন কৌশল হল একটি প্রবণতা অনুসরণকারী কৌশল যা কম ঝুঁকিপূর্ণ ট্রেডিংয়ের জন্য ইচিমোকু কিনকো হিও সূচকের সাথে মিলিত চলমান গড় গণনা করে প্রবণতা দিক নির্ধারণ করে।
কৌশলটি মূলত প্রবণতা দিক নির্ধারণের জন্য ইচিমোকু কিনকো হ্যো সূচক ব্যবহার করে। ইচিমোকু কিনকো হ্যো, যা
কৌশলটি প্রবণতা দিক নির্ধারণের জন্য চলমান গড়ের সাথে মূল্য সম্পর্ককে একত্রিত করে। যখন দাম বেস লাইন এবং রূপান্তর লাইনের উপরে অতিক্রম করে তখন এটি একটি ক্রয় সংকেত তৈরি করে। যখন দাম মেঘের নীচে ভেঙে যায় তখন একটি বিক্রয় সংকেত তৈরি হয়। এই সংমিশ্রণটি মিথ্যা ব্রেকআউটগুলি ফিল্টার করতে এবং প্রবণতা দিকটি লক করতে সহায়তা করে।
কৌশলটি বিভিন্ন উপায়ে অপ্টিমাইজ করা যেতে পারেঃ
উপসংহারে, ইচিমোকু ব্যালেন্স লাইন কৌশল প্রবণতা দিক নির্ধারণ করতে, প্রবণতা কার্যকরভাবে লক করতে এবং চলমান গড়ের সাথে মূল্য সম্পর্ককে একত্রিত করে বাণিজ্য সংকেত তৈরি করতে ইচিমোকু ক্লাউড ব্যবহার করে, কম ঝুঁকিপূর্ণ প্রবণতা ট্রেডিংয়ের অনুমতি দেয়। কৌশলটি প্যারামিটার টিউনিং এবং অপ্টিমাইজেশনের মাধ্যমে বিভিন্ন বাজারের পরিবেশে অভিযোজিত হতে পারে, যা বিনিয়োগকারীদের জন্য গবেষণা এবং ব্যবহারের জন্য মূল্যবান।
/*backtest start: 2022-12-19 00:00:00 end: 2023-12-25 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 // Credit for the initial code to nathanhoffer - I simply added the ability to select a time period // strategy("Cloud Breakout", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.0) /////////////// Component Code Start /////////////// testStartYear = input(2016, "Backtest Start Year") testStartMonth = input(1, "Backtest Start Month") testStartDay = input(1, "Backtest Start Day") testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay, 0, 0) testStopYear = input(2019, "Backtest Stop Year") testStopMonth = input(12, "Backtest Stop Month") testStopDay = input(31, "Backtest Stop Day") testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay, 0, 0) testPeriod() => true Ten = input(18, minval=1, title="Tenkan") Kij = input(60, minval=1, title="Kijun") LeadSpan = input(30, 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") sc = input(true, title="Show Chikou") 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(sc and KS ? KS : na, title="Chikou", linewidth = 2, color = orange) p5 = plot(sc and Displace ? close: na, 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 Long_Breakout = (SpanA_Top ==1 and crossover(source, SpanAA)) or (SpanB_Top ==1 and crossover(source, SpanBB)) 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 Short_Breakout = (SpanA_Top ==1 and crossunder(source, SpanBB)) or (SpanB_Top ==1 and crossunder(source, SpanAA)) //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 Chikou_Above = close > Chikou Chikou_Below = close < Chikou long = (cross(TS, SpanA) or cross(TS, SpanB)) and TS>SpanA and TS>SpanB and TS>=KS short = cross(TS, KS) and KS >= TS if testPeriod() strategy.entry("long", strategy.long, when=Long_Breakout) strategy.entry("short", strategy.short, when=Short_Breakout)