如何在Pine Editor编写单根蜡烛穿越双均线的多空条件策略
TradingView Pine Editor 单蜡烛双均线穿越策略实现
核心基础:蜡烛价格的直接调用
在Pine Script中,蜡烛的开盘价、收盘价是内置变量,直接用open、close即可调用,不需要额外函数。同理,最高价high、最低价low也是直接可用的内置变量。
策略逻辑拆解
单根蜡烛同时穿越两条均线的核心条件:
- 多仓信号:当前蜡烛开盘价低于两条均线,收盘价高于两条均线(单根蜡烛内同时上穿两条均线)
- 空仓信号:当前蜡烛开盘价高于两条均线,收盘价低于两条均线(单根蜡烛内同时下穿两条均线)
完整策略代码示例
//@version=5 strategy("单蜡烛双均线穿越策略", overlay=true, default_qty_type=strategy.cash, default_qty_value=10000, commission_type=strategy.commission.percent, commission_value=0.1) // 定义两条均线参数,可自行调整周期和类型 maLength1 = input.int(50, title="第一条均线周期") maType1 = input.string("SMA", title="第一条均线类型", options=["SMA", "EMA", "WMA"]) maLength2 = input.int(200, title="第二条均线周期") maType2 = input.string("SMA", title="第二条均线类型", options=["SMA", "EMA", "WMA"]) // 计算两条均线 ma1 = switch maType1 "SMA" => ta.sma(close, maLength1) "EMA" => ta.ema(close, maLength1) "WMA" => ta.wma(close, maLength1) ma2 = switch maType2 "SMA" => ta.sma(close, maLength2) "EMA" => ta.ema(close, maLength2) "WMA" => ta.wma(close, maLength2) // 绘制均线 plot(ma1, color=color.blue, title="第一条均线") plot(ma2, color=color.red, title="第二条均线") // 定义多空信号条件 longCondition = open < ma1 and open < ma2 and close > ma1 and close > ma2 shortCondition = open > ma1 and open > ma2 and close < ma1 and close < ma2 // 触发交易信号 if (longCondition) strategy.entry("多仓", strategy.long) if (shortCondition) strategy.entry("空仓", strategy.short) // 绘制信号标记 plotshape(longCondition, title="多仓信号", location=location.belowbar, color=color.green, style=shape.labelup, text="多") plotshape(shortCondition, title="空仓信号", location=location.abovebar, color=color.red, style=shape.labeldown, text="空")
代码关键说明
- 均线配置:通过
input函数让你可以在界面上调整均线的周期和类型,无需修改代码 - 穿越条件:直接对比
open和close与两条均线的关系,确保是单根蜡烛内完成双穿越 - 交易执行:用
strategy.entry函数触发多空开仓,默认用现金分配仓位,可根据需求调整default_qty_value等参数 - 信号可视化:用
plotshape在蜡烛下方/上方标记信号,方便直观观察
内容的提问来源于stack exchange,提问作者Jared Salmon
相关产品推荐
相关产品推荐

