
この戦略は,指数移動平均 ((EMA) と平均振幅指標 ((AO) を用いて市場のトレンド方向を判断し,K線形状を利用して買入シグナルを確認する.EMAが市場が上昇傾向にあると指示し,AO指標が正し,看板が飲み込む形状が現れたときに,戦略は買入シグナルを生成する.この戦略は,空を空にするのではなく,多めに行うのみである.同時に,戦略は,リスクを制御するために止損点を設定する.
この戦略の核心原則は,EMAとAOの指標を使用して市場のトレンド方向を判断し,K線形状を使用して購入シグナルを確認することです.具体的には:
この戦略は,EMA,AO,K線形によってトレンドを判断し,取引シグナルを生成し,論理的に明確で,実行しやすいという特徴がある.同時に,戦略は,リスクを制御するためにストップ・ロスを設定している.しかし,この戦略には,トレンド市場のみに適用され,パラメータ選択に敏感であるなど,いくつかの制限がある.将来,より多くの技術指標,ストップ・ロスの戦略の最適化,ポジション管理の追加などの方法で戦略のパフォーマンスをさらに向上させることができる.
/*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)