
পাইন স্ক্রিপ্ট-ভিত্তিক এই কৌশলটি সম্ভাব্য ক্রয়-বিক্রয় সংকেত সনাক্ত করার জন্য 1-2-3 ফর্ম্যাট ব্যবহার করে, যা সূচকীয় মুভিং এভারেজ ((EMA) এবং মুভিং এভারেজ কনভার্জেশন স্প্রেড ((MACD) সূচকগুলির সাথে যুক্ত। এই কৌশলটি মূল্যের ফর্ম্যাট, প্রবণতা নিশ্চিতকরণ এবং গতিশীলতার সূচকগুলি ব্যবহার করে একটি বিস্তৃত ট্রেডিং সংকেত সরবরাহ করে।
এই কৌশলটির কেন্দ্রবিন্দু হল ১-২-৩ প্যাটার্ন সনাক্ত করা, যা একটি সাধারণ মূল্য প্যাটার্ন যা তিনটি পরপর স্ট্রিং দ্বারা গঠিত, যা সম্ভাব্য প্রবণতা বিপরীতের ইঙ্গিত দেয়। একটি ক্রয় সংকেতের জন্য, প্রথম স্ট্রিংয়ের বন্ধের দামটি খোলা দামের চেয়ে বেশি, দ্বিতীয় স্ট্রিংয়ের বন্ধের দামটি খোলা দামের চেয়ে কম, তৃতীয় স্ট্রিংয়ের বন্ধের দামটি প্রথম স্ট্রিংয়ের বন্ধের চেয়ে বেশি, এবং শেষ চতুর্থ স্ট্রিংয়ের বন্ধের দামটি তৃতীয় স্ট্রিংয়ের বন্ধের চেয়ে বেশি। বিক্রয় সংকেতের জন্য বিপরীত শর্ত রয়েছে।
১-২-৩ ফর্ম ছাড়াও, এই কৌশলটি ট্রেন্ডের দিকনির্দেশনা এবং সম্ভাব্য ট্রেন্ড রিভার্স নিশ্চিত করার জন্য ইএমএ এবং এমএসিডি সূচক ব্যবহার করে। ৯ ইএমএ এবং ২০ ইএমএ ট্রেন্ড নিশ্চিতকরণের জন্য ব্যবহৃত হয়, এবং এমএসিডি লাইন এবং সিগন্যাল লাইন গতিশীলতা এবং সম্ভাব্য ট্রেন্ড রিভার্স সনাক্ত করার জন্য ব্যবহৃত হয়।
যখন সমস্ত ক্রয় শর্ত পূরণ হয়, অর্থাৎ 1-2-3 আকৃতি তৈরি হয়, বন্ধের দাম দুটি ইএমএর চেয়ে বেশি হয়, ম্যাকড লাইনটি সংকেত লাইনের চেয়ে বেশি হয়, তখন কৌশলটি একটি মাল্টি-হেড পজিশন খোলে। একইভাবে, যখন সমস্ত বিক্রয় শর্ত পূরণ হয়, তখন কৌশলটি একটি খালি-হেড পজিশন খোলে। যখন বিপরীত সংকেত উত্পন্ন হয় বা বর্তমান স্ট্রিং বন্ধের দিকটি অবস্থানের দিকের বিপরীতে থাকে, তখন কৌশলটি সংশ্লিষ্ট অবস্থানটি সমতল করে।
১-২-৩ ফর্ম্যাট, ইএমএ এবং এমএসিডি সূচকগুলির উপর ভিত্তি করে এই কৌশলটি সম্ভাব্য ক্রয়-বিক্রয় সংকেত সনাক্ত করার জন্য একটি বিস্তৃত পদ্ধতি সরবরাহ করে। এটি নির্ভরযোগ্য ট্রেডিং সংকেত উত্পন্ন করার জন্য মূল্যের ফর্ম্যাট, প্রবণতা নিশ্চিতকরণ এবং গতিশীলতার সূচকগুলিকে একত্রিত করে। তবে, কৌশলটির কিছু সীমাবদ্ধতা রয়েছে যেমন ঝুঁকি পরিচালনার ব্যবস্থা এবং প্যারামিটার অপ্টিমাইজেশনের অভাব। একাধিক সময় ফ্রেম, গতিশীল স্টপ লস এবং পজিশনের সমন্বয় বিশ্লেষণ এবং প্যারামিটার অপ্টিমাইজেশনের প্রবর্তনের মাধ্যমে কৌশলটির কার্যকারিতা আরও উন্নত করা যেতে পারে।
/*backtest
start: 2024-02-01 00:00:00
end: 2024-02-29 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("1-2-3 Pattern Strategy with EMAs, MACD, and 4th Candle Extension", overlay=true)
// Define conditions for the 1-2-3 pattern for buy orders
buy_candle1_above_open = close[3] > open[3]
buy_candle2_below_open = close[2] < open[2]
buy_candle3_above_close = close[1] > close[3]
buy_candle4_above_close = close > close[3]
// Define conditions for the 1-2-3 pattern for sell orders
sell_candle1_below_open = close[3] < open[3]
sell_candle2_above_open = close[2] > open[2]
sell_candle3_below_close = close[1] < close[3]
sell_candle4_below_close = close < close[3]
// Fetch 9 EMA, 20 EMA, and MACD
ema_9 = ta.ema(close, 9)
ema_20 = ta.ema(close, 20)
[macd_line, signal_line, _] = ta.macd(close, 12, 26, 9)
// Implement strategy logic for buy orders
if (buy_candle1_above_open and buy_candle2_below_open and buy_candle3_above_close and buy_candle4_above_close and strategy.opentrades == 0 and close > ema_9 and close > ema_20 and macd_line > signal_line)
strategy.entry("Buy", strategy.long, qty=5)
if (close < open and strategy.opentrades > 0)
strategy.close("Buy", qty=5)
// Implement strategy logic for sell orders
if (sell_candle1_below_open and sell_candle2_above_open and sell_candle3_below_close and sell_candle4_below_close and strategy.opentrades == 0 and close < ema_9 and close < ema_20 and macd_line < signal_line)
strategy.entry("Sell", strategy.short, qty=5)
if (close > open and strategy.opentrades > 0)
strategy.close("Sell", qty=5)