Zigzag系统交易策略(TS版).docx
ZigZag系统交易策略(TS版)
交易逻辑思路
1.TL_Zigzag函数:
-该函数用于绘制Zigzag趋势线。它通过检测新的摆动高点和摆动低点来确定趋势的方向。
-当检测到新的摆动高或低点时,函数会根据回撤方法和回撤量来判断是否需要保存摆动点、添加新趋势线或更新现有趋势线。
-函数返回当前摆动点的价格。
2.CMO函数:
-该函数用于计算市场情绪指标(ChaikinMoneyFlow,CMO)。
-通过计算当前周期值与前一个周期值之间的正负差值,并累加这些差值来确定CMO值。
-CMO值的范围是-100到+100,用于衡量市场的多空情绪。
3.ZigzagTrend指标:
-该指标通过调用`TL_ZigZag`函数获取新的摆动价格,并根据新的摆动价格与前一个摆动价格的关系来判断趋势的方向。
-如果新的摆动价格大于前一个摆动价格,则趋势为上升;如果新的摆动价格小于前一个摆动价格,则趋势为下降。
-指标在图表上绘制Zigzag趋势线,并在控制台打印相关信息。
4.CMO指标:
-该指标通过设置一个周期长度(例如14)来计算CMO值。
-在当前柱状图大于设置的周期长度时,它会在图表上绘制CMO指标的值,并在控制台打印该值。
-同时,为了便于比较,代码还绘制了一条值为0的水平线。
5.MonteCarloData指标:
-该指标用于模拟蒙特卡罗方法中的交易过程。
-使用随机方法来决定多头或空头持仓,并根据设定的利润目标和止损百分比来计算具体的利润目标和止损价格。
-每当持仓状态发生变化时,代码会将相关信息写入到指定的文件中,并更新图表上的持有时间。
6.Zigzag交易策略:
-该策略通过调用`TL_ZigZag`函数获取新的摆动价格,并根据新的摆动价格与前一个摆动价格的关系来判断趋势的方向。
-如果趋势从下降转为上升,则在下一个柱状图的市场价处买入;如果趋势从上升转为下降,则在下一个柱状图的市场价处卖出(做空)。
策略特点
1.趋势跟踪:
-策略通过检测摆动高点和摆动低点来确定趋势的方向,能够有效地跟踪市场的上升趋势和下降趋势。
2.灵活性:
-策略允许用户选择回撤方法(百分比或固定数值),提供了灵活性以适应不同的市场条件。
3.可视化:
-指标在图表上绘制Zigzag趋势线和CMO值,帮助交易者直观地理解市场趋势和情绪。
4.自动化交易:
-策略信号代码可以直接用于自动化交易,减少了人为干预的风险。
5.模拟交易:
-MonteCarloData指标通过模拟交易过程,提供了对交易策略的初步验证和测试。
6.简单明了:
-策略逻辑清晰,易于理解和实现,适合初学者和有经验的交易者。
通过结合这些函数和指标,交易者可以构建一个全面的市场分析框架,用于捕捉市场趋势并制定相应的交易策略。
函数一代码解读:
//定义一个函数,名为TL_Zigzag,用于绘制Zigzag趋势线
inputs:
//输入参数定义
Price(numericseries),
//价格序列
RetraceMethod(numericsimple),{1=percent,2=number}
//回撤方法:1表示百分比,2表示固定数值
retrace(numericsimple),
//回撤量,可以是百分比或固定数值
LineColor(numericsimple),
//趋势线颜色
LineWidth(numericsimple),
//趋势线宽度
PlotLine(truefalse);
//是否绘制趋势线
variables:
//变量定义
NewSwingPrice(0),
//新摆动点的价格
SwingPrice(Price),{usedasaconvenient2-elementarray}
//摆动点价格,使用价格作为方便的2元素数组
SwingDate(Date),{usedasaconvenient2-elementarray}
//摆动点日期,使用日期作为方便的2元素数组
SwingTime(Time),{usedasaconvenient2-elementarray}
//摆动点时间,使用时间作为方便的2元素数组
TLDir(0),{TLDir=-1impliesprevTLdn,+1impliesprevTLup}
//趋势线方向:-1表示上一个趋势线向下