
Heikin Ashi HighLow通道动态均线交易策略是一种根据Heikin Ashi蜡烛线收盘价与动态均线比较,产生交易信号的策略。该策略运用双均线形成通道,根据蜡烛线收盘价突破通道上下轨进行买入和卖出操作。
该策略基于Heikin Ashi蜡烛线技术指标。Heikin Ashi蜡烛线能过滤市场噪音,识别趋势。该策略使用高点形成的lenh周期均线作为通道上轨,低点形成的lenl周期均线作为通道下轨。当Heikin Ashi蜡烛线收盘价上穿上轨时,产生买入信号;当Heikin Ashi蜡烛线收盘价下穿下轨时,产生卖出信号。
具体来说,策略首先计算高低点各自的简单移动平均线,以构建通道。高点移动平均线mah为通道上轨,低点移动平均线mal为通道下轨。然后比较Heikin Ashi蜡烛线的收盘价与通道上下轨,以产生交易信号。如果蜡烛线收盘价高于上轨mah,则产生买入信号longCondition;如果蜡烛线收盘价低于下轨mal,则产生卖出信号shortCondition。
针对风险,可以设置止损机制,或者结合其他指标确认突破信号,避免错误信号导致不必要的亏损。
Heikin Ashi HighLow通道动态均线交易策略整体来说逻辑清晰、简单可操作。该策略充分利用Heikin Ashi蜡烛线技术的优势识别趋势,并设置双均线动态通道判断支撑阻力。通过优化参数,增加信号过滤机制,设置止损策略等方法可以进一步完善该策略,减小交易风险。
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © shiner_trading
// [email protected]
//@version=4
strategy("Hi-Lo Channel Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, initial_capital=500, default_qty_value=100, currency="USD")
lenh = input(5, "High-Based MA")
lenl = input (5, "Low-Based MA")
ha = input(true, "Use Heikin Ashi OHCL values (on real chart)?")
ha_h = security(heikinashi(syminfo.tickerid), timeframe.period, high)
ha_l = security(heikinashi(syminfo.tickerid), timeframe.period, low)
ha_c = security(heikinashi(syminfo.tickerid), timeframe.period, close)
float mah = na
float mal = na
longCondition = false
shortCondition = false
/// HA is the check mark box in the configuration.
/// IF "Use Heikin Ashi OHCL values?" is true, then the strategy will use the Heikin Ashi close values
// and therefore give the same buy/sell signals regardless of what chart you are viewing.
/// That being said, if "Use Heikin Ashi OHCL values?" is FALSE, yet you are viewing Heikin Ashi candles on your chart,
// then logically you will also get the same buy/sell signals
if ha == true
mah := sma(ha_h, lenh)
mal := sma(ha_l, lenl)
longCondition := ha_c > mah
shortCondition := ha_c < mal
if ha == false
mah := sma(high, lenh)
mal := sma(low, lenl)
longCondition := close > mah
shortCondition := close < mal
plot(mah, color=color.green)
plot(mal, color=color.red)
if (longCondition)
strategy.entry("Buy", 100)
if (shortCondition)
strategy.close("Buy")