यह रणनीति सूचकांक चलती औसत ((ईएमए) और औसत अस्थिरता सूचक ((एओ) के आधार पर बाजार की प्रवृत्ति की दिशा का आकलन करती है और खरीदने के संकेतों की पुष्टि करने के लिए के-लाइन पैटर्न का उपयोग करती है। जब ईएमए संकेत देता है कि बाजार में एक उछाल है, तो एओ संकेतक सकारात्मक है, और जब कोई पूर्वाग्रह अवशोषण पैटर्न होता है, तो रणनीति एक खरीद संकेत उत्पन्न करती है। यह रणनीति केवल अधिक है, खाली नहीं है। साथ ही, रणनीति जोखिम को नियंत्रित करने के लिए एक स्टॉप-लॉस पॉइंट सेट करती है।
इस रणनीति का मुख्य सिद्धांत ईएमए और एओ संकेतकों का उपयोग करना है ताकि बाजार की प्रवृत्ति की दिशा का पता लगाया जा सके और खरीद संकेतों की पुष्टि करने के लिए के-लाइन आकृति का उपयोग किया जा सके। विशेष रूप सेः
यह रणनीति ईएमए, एओ और के-लाइन प्रारूपों के माध्यम से प्रवृत्ति का न्याय करने और ट्रेडिंग सिग्नल उत्पन्न करने के लिए, तर्क स्पष्ट और लागू करने में आसान है। साथ ही, रणनीति जोखिम को नियंत्रित करने के लिए एक स्टॉपलॉस सेट करती है। हालांकि, इस रणनीति में कुछ सीमाएं भी हैं, जैसे कि यह केवल ट्रेंडिंग बाजारों के लिए लागू होती है, पैरामीटर चयन के प्रति संवेदनशील होती है। भविष्य में, रणनीति के प्रदर्शन को और अधिक तकनीकी संकेतकों को जोड़कर, स्टॉपलॉस रणनीति को अनुकूलित करके और स्थिति प्रबंधन को जोड़कर और अधिक बढ़ाया जा सकता है।
/*backtest
start: 2023-05-23 00:00:00
end: 2024-05-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA & K-Pattern Trend Trading (Long Only)", overlay=true)
// 输入参数
emaLength = input.int(50, title="EMA长度")
aoShortLength = input.int(5, title="AO短期长度")
aoLongLength = input.int(34, title="AO长期长度")
stopLossPct = input.float(2, title="止损百分比") / 100 // 止损百分比
// 计算EMA和AO指标
ema = ta.ema(close, emaLength)
ao = ta.sma(high, aoShortLength) - ta.sma(low, aoLongLength)
// 定义趋势方向
isBullish = close > ema
// 定义K线形态
bullishK = close > open and close[1] < open[1] and open < close[1] and close > high[1] // 看涨吞没形态
// 定义买入信号
longCondition = bullishK and isBullish and ao > 0
// 绘制EMA
plot(ema, title="EMA", color=color.blue)
// 计算止损点
stopLossLevelLong = close * (1 - stopLossPct)
// 策略执行并标注信号
if (longCondition)
strategy.entry("做多", strategy.long)
label.new(bar_index, high, text="买入", style=label.style_label_up, color=color.green, textcolor=color.white)
strategy.exit("止损", from_entry="做多", stop=stopLossLevelLong)