
এই কৌশলটি TENKAN এবং KIJUN এর দুটি ভিন্ন সময়কালের চলমান গড়ের সাহায্যে স্বর্ণ এবং মৃত ফর্ক সংকেত তৈরি করে এবং দীর্ঘ এবং সংক্ষিপ্ত অপারেশন করে।
এই কৌশলটি মূলত জাপানি স্টক প্রযুক্তিগত বিশ্লেষণ পদ্ধতির উপর ভিত্তি করে তৈরি করা হয়েছে, যা তানকান লাইন এবং কিজুন লাইনের মতো একাধিক মুভিং এভারেজ ব্যবহার করে বাজারের প্রবণতার দিকনির্দেশের জন্য ব্যবহৃত হয়।
প্রথমত, TENKAN লাইন হল 9 দিনের লাইন, যা স্বল্পমেয়াদী প্রবণতাকে উপস্থাপন করে; KIJUN লাইন হল 26 দিনের লাইন, যা মধ্যমেয়াদী প্রবণতাকে উপস্থাপন করে। যখন স্বল্পমেয়াদী মধ্যমেয়াদী অতিক্রম করে, একটি কেনা সংকেত তৈরি করে; যখন স্বল্পমেয়াদী নিম্ন মধ্যমেয়াদী অতিক্রম করে, একটি বিক্রয় সংকেত তৈরি করে। এইভাবে, এটি একটি ক্লাসিক চলমান গড় লাইন ফোরকিং কৌশল গঠন করে।
তারপর, এই কৌশলটি বায়ু লাইন এবং হালকা মেঘের লাইনও প্রবর্তন করে। বায়ু লাইনটি স্বল্প ও মাঝারি মেয়াদী চলমান গড়ের গড়, হালকা মেঘ লাইন বি 52 দিনের চলমান গড়। তারা দীর্ঘমেয়াদী প্রবণতার দিকনির্দেশনা নির্ধারণ করে। হালকা মেঘের উপরে থাকা স্থানটি হ’ল মাল্টি-হেড মার্কেট, হালকা মেঘের নীচে থাকা স্থানটি হ’ল বায়ু-হেড মার্কেট।
অবশেষে, মিথ্যা সংকেতগুলি ফিল্টার করার জন্য, এই কৌশলটি OTO লাইনের সাথে দামের সম্পর্ক কিনা তাও সনাক্ত করে (২৬ দিনের দামের বিলম্ব লাইন) । কেবলমাত্র যখন দাম OTO লাইনের নীচে থাকে তখনই কেনার সংকেত উত্পন্ন হয়; যখন দাম OTO লাইনের উপরে থাকে তখনই বিক্রয় সংকেত উত্পন্ন হয়।
এটি একটি খুব সাধারণ চলমান গড় কৌশল, যার সুবিধা মূলত তিনটি দিকের উপর নির্ভর করেঃ
দুটি ভিন্ন সময়ের গড়রেখা ব্যবহার করে, স্বল্পমেয়াদী এবং মধ্যমেয়াদী দুই সময়ের মাত্রার প্রবণতা দিকটি কার্যকরভাবে নির্ধারণ করা যায়।
দীর্ঘমেয়াদী প্রবণতা নির্ধারণের জন্য আলোক মেঘের সাহায্যে, দীর্ঘমেয়াদী পতনশীল বাজারে আরও বেশি কিছু না দেখার জন্য।
দাম এবং বিলম্বিত দামের মধ্যে সম্পর্ক সনাক্ত করে অনেকগুলি মিথ্যা সংকেত ফিল্টার করা যায় এবং অপ্রয়োজনীয় লেনদেন হ্রাস করা যায়।
সুতরাং, এই কৌশলটি গড় রেখার বিভিন্ন কার্যকারিতা ব্যবহার করে, যা স্বল্প, মাঝারি এবং দীর্ঘ ত্রি-মাত্রিক প্রবণতার সুযোগকে সময়মতো ধরতে পারে।
এই কৌশলটির প্রধান ঝুঁকিগুলো হলঃ
সমান্তরাল কৌশলটি প্রচুর পরিমাণে মিথ্যা সংকেত তৈরি করতে পারে। যদি আপনি প্যারামিটারগুলি ভালভাবে সেট না করেন তবে আপনি ঘন ঘন ব্যবসায়ের জন্য জেল খাটতে পারেন।
এই কৌশলটি প্রযুক্তিগত দিকগুলিকে প্রাধান্য দেয়, মৌলিক বিষয়গুলি বিবেচনা করে না। যদি কোম্পানির ফলাফল বা বাজার নীতিতে উল্লেখযোগ্য পরিবর্তন হয় তবে প্রযুক্তিগত সংকেতগুলিও ব্যর্থ হতে পারে।
এই কৌশলটি শুধুমাত্র ক্রয়-বিক্রয় সিদ্ধান্তের উপর ভিত্তি করে তৈরি করা হয়েছে, কোন স্টপ লস ব্যবস্থা নেই।
সুতরাং, আমরা আরও উন্নত সমান্তরাল সিস্টেম খুঁজে বের করতে হবে, অথবা যুক্তিসঙ্গতভাবে স্টপ লস সেট করতে হবে, অথবা মৌলিক সংকেত যোগ করতে হবে, যাতে আমরা এই কৌশলটি আরও উন্নত করতে পারি এবং ঝুঁকি কমাতে পারি।
এই কৌশলটি নিম্নলিখিত দিকগুলি থেকেও উন্নত করা যেতে পারেঃ
আরও স্থিতিশীল এবং কার্যকর প্যারামিটার সমন্বয় খুঁজুন। আমরা আরও ডেটা পুনরুদ্ধারের মাধ্যমে প্যারামিটার মানগুলি খুঁজে পেতে পারি যা কৌশলটির আরও ভাল পারফরম্যান্স দেয়।
স্টপ লস মেকানিজম বাড়ানো। যুক্তিসঙ্গত স্টপ লস কার্যকরভাবে কৌশল নিয়ন্ত্রণের সর্বাধিক ক্ষতির কারণ।
মৌলিক সংকেত যোগ করুন। উদাহরণস্বরূপ, পারফরম্যান্স প্রত্যাশিত রিভিউয়ের ডেটা কোম্পানির ভবিষ্যৎ নির্ধারণ করতে পারে, যার ফলে কৌশলগত কার্যকারিতা উন্নত হয়।
ওটিও লাইন কৌশল অপ্টিমাইজ করুন। বিদ্যমান বাস্তবায়নগুলি সহজ, আমরা আরও স্থিতিশীল এবং সঠিকভাবে দামের সাথে historicalতিহাসিক দামের সম্পর্ক নির্ধারণের উপায়গুলি সন্ধান করতে পারি।
শেয়ার বাছাইয়ের সংকেতের সাথে, PE, ROE ইত্যাদির মতো বিষয়গুলির রেটিং যুক্ত করুন, যা নিম্নমানের কিছু পরিমাপকে ফিল্টার করতে পারে।
এটি একটি খুব সাধারণ এবং ব্যবহারিক চলমান গড় কৌশল। এটি একই সাথে সংক্ষিপ্ত, মাঝারি এবং দীর্ঘ সময়ের তিনটি মাত্রার প্রবণতাগুলির দিকে মনোযোগ দেয়, ট্রেডিং সিগন্যাল ডিজাইনের জন্য সমান্তরালের বিভিন্ন বৈশিষ্ট্য ব্যবহার করে, এবং এটি ভাল কাজ করে। আমরা এই ভিত্তিতে, প্যারামিটার অপ্টিমাইজেশন, স্টপ লস, স্টক নির্বাচন ইত্যাদি পদ্ধতির মাধ্যমে উন্নত করতে পারি, যাতে এটি আরও ভাল পারফরম্যান্স করতে পারে। সামগ্রিকভাবে, এটি একটি পরিমাণগত কৌশল যা মনোযোগের জন্য গবেষণা এবং দীর্ঘমেয়াদী ট্র্যাকিংয়ের জন্য মূল্যবান।
/*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/
// © mdeous
//@version=4
strategy(
title="Ichimoku Kinko Hyo Strategy",
shorttitle="Ichimoku Strategy",
overlay=true,
pyramiding=0,
default_qty_type=strategy.percent_of_equity,
default_qty_value=100,
initial_capital=1000,
currency="USD",
commission_type=strategy.commission.percent,
commission_value=0.0
)
//
// SETTINGS
//
// Ichimoku
int TENKAN_LEN = input(title="Tenkan-Sen Length", defval=9, minval=1, step=1)
int KIJUN_LEN = input(title="Kijun-Sen Length", defval=26, minval=1, step=1)
int SSB_LEN = input(title="Senkou Span B Length", defval=52, minval=1, step=1)
int OFFSET = input(title="Offset For Chikou Span / Kumo", defval=26, minval=1, step=1)
// Strategy
int COOLDOWN = input(title="Orders Cooldown Period", defval=5, minval=0, step=1)
bool USE_CHIKOU = input(title="Use Imperfect Chikou Position Detection", defval=false)
//
// HELPERS
//
color _red = color.red
color _blue = color.blue
color _lime = color.lime
color _fuchsia = color.fuchsia
color _silver = color.silver
color _aqua = color.aqua
f_donchian(_len) => avg(lowest(_len), highest(_len))
//
// ICHIMOKU INDICATOR
//
float tenkan = f_donchian(TENKAN_LEN)
float kijun = f_donchian(KIJUN_LEN)
float ssa = avg(tenkan, kijun)
float ssb = f_donchian(SSB_LEN)
plot(tenkan, title="Tenkan", color=_silver)
plot(close, title="Chikou", offset=-OFFSET+1, color=_aqua)
_ssa = plot(ssa, title="SSA", offset=OFFSET-1, color=_lime)
_ssb = plot(ssb, title="SSB", offset=OFFSET-1, color=_red)
fill(_ssa, _ssb, color=ssa > ssb ? _lime : _fuchsia, transp=90)
//
// STRATEGY
//
// Check if price is "above or below" Chikou (i.e. historic price line):
// This detection is highly imperfect, as it can only know what Chikou position
// was 2*offset candles in the past, therefore if Chikou crossed the price
// line in the last 2*offset periods it won't be detected.
// Use of this detection is disabled by default,
float _chikou_val = close[OFFSET*2+1]
float _last_val = close[OFFSET+1]
bool above_chikou = USE_CHIKOU ? _last_val > _chikou_val : true
bool below_chikou = USE_CHIKOU ? _last_val < _chikou_val : true
// Identify short-term trend with Tenkan
bool _above_tenkan = min(open, close) > tenkan
bool _below_tenkan = max(open, close) < tenkan
// Check price position compared to Kumo
bool _above_kumo = min(open, close) > ssa
bool _below_kumo = max(open, close) < ssb
// Check if Kumo is bullish or bearish
bool bullish_kumo = ssa > ssb
bool bearish_kumo = ssa < ssb
// Correlate indicators to confirm the trend
bool bullish_trend = _above_tenkan and _above_kumo and bullish_kumo
bool bearish_trend = _below_tenkan and _below_kumo and bearish_kumo
// Build signals
bool buy1 = (close > open) and ((close > ssa) and (open < ssa)) // green candle crossing over SSA
bool buy2 = bullish_kumo and bearish_kumo[1] // bullish Kumo twist
bool sell1 = (close < open) and ((close < ssb) and (open > ssb)) // red candle crossing under SSB
bool sell2 = bearish_kumo and bullish_kumo[1] // bearish Kumo twist
bool go_long = below_chikou and (bullish_trend and (buy1 or buy2))
bool exit_long = above_chikou and (bearish_trend and (sell1 or sell2))
//
// COOLDOWN
//
f_cooldown() =>
_cd_needed = false
for i = 1 to COOLDOWN by 1
if go_long[i]
_cd_needed := true
break
_cd_needed
go_long := f_cooldown() ? false : go_long
//
// ORDERS
//
strategy.entry("buy", strategy.long, when=go_long)
strategy.close_all(when=exit_long)
//
// ALERTS
//
alertcondition(
condition=go_long,
title="Buy Signal",
message="{{exchange}}:{{ticker}}: A buy signal for {{strategy.market_position_size}} units has been detected (last close: {{close}})."
)
alertcondition(
condition=exit_long,
title="Sell Signal",
message="{{exchange}}:{{ticker}}: A sell signal for {{strategy.market_position_size}} units has been detected (last close: {{close}})."
)