指标功能与用法说明
这是一个自定义买卖条件测试与收益曲线绘制指标。它不直接提供买卖信号,而是用于测试和可视化自定义的买卖条件组合在历史数据上的表现。
核心逻辑:
1. 定义条件:需要在公式中明确定义`买入条件`和`卖出条件`的逻辑。
2. 信号过滤:使用`TFILTER`函数,确保买入和卖出信号交替出现,避免连续买入或卖出。
3. 收益计算与绘图:从每次买入到下一次卖出,计算该笔交易的收益率。在副图区域绘制一条累积收益曲线,直观展示策略的模拟历史表现。
关键变量与参数:
N (参数,默认9):控制收益曲线的回溯周期。收益曲线显示的是最近N根K线周期内的累计收益。
买入条件:由定义的买入触发逻辑。示例中为5日均线上穿20日均线。
卖出条件:由定义的卖出触发逻辑。示例中为5日均线下穿20日均线。注释部分也提供了基于涨跌幅的止损止盈条件示例。
ENTERLONG (买入信号):经过`TFILTER`函数处理后的最终买入信号。
EXITLONG (卖出信号):经过`TFILTER`函数处理后的最终卖出信号。
收益:指标线。显示在最近N周期内,由的买卖条件触发的模拟交易的累计收益率(百分比)。黄色线段代表收益为正,洋红色线段代表收益为负。
图表显示特征:
收益曲线:在副图区域显示为一条波动线。其数值是百分比(%),例如“5”代表5%的累计收益。
信号图标:
在收益曲线下方(约94%的位置)出现红色向上箭头,标记买入点。
在收益曲线上方(约103%的位置)出现绿色向下箭头,标记卖出点。
交易盈亏标注:在每次卖出信号出现时,会在收益曲线附近显示该笔交易的具体盈亏百分比。
黄色数字:显示在该笔卖出信号上方,代表该次交易盈利。
洋红色数字:显示在该笔卖出信号下方,代表该次交易亏损。
固定文本:在图表左上角固定显示提示文本“自定义买卖条件,看收益曲线图”。
使用步骤:
1. 替换条件:将公式中`买入条件`和`卖出条件`的赋值语句(`:=`后面的部分)替换为想要测试的任何通达信逻辑表达式。
2. 加载指标:将修改后的公式保存为技术指标,加载到个股的副图。
3. 观察分析:观察生成的收益曲线、买卖点图标及每笔交易盈亏标注,评估自定义的买卖条件在历史行情中的模拟表现。
注意事项:
此指标为复盘测试工具,收益曲线基于严格遵循信号的历史回测,不代表未来表现。
信号依赖于`TFILTER`函数,确保买卖交替。如果的原始条件逻辑产生连续的同向信号,将被过滤。
收益计算基于信号发生时的收盘价,未考虑滑点、手续费等因素。
参数`N`主要影响收益曲线的显示长度,不影响信号逻辑本身。
N:=9;
买入条件:=CROSS(MA(C,5),MA(C,20));{自定买入条件}
卖出条件:=CROSS(MA(C,20),MA(C,5));{自定卖出条件}
{卖出条件:=(C-REF(C,BARSLAST(买入条件)))/C>0.2 OR (REF(C,BARSLAST(买入条件))-C)/C>0.1;
如抄底指标只有买入条件而无卖出条件,可套用上面的,也可以试试这个}
ENTERLONG:=TFILTER(买入条件,卖出条件,1);
EXITLONG:=TFILTER(买入条件,卖出条件,2);
买入:ENTERLONG,NODRAW,COLOR00FF80;
卖出:EXITLONG,NODRAW,COLORFF8000;
SY:=IF(EXITLONG,(C/REF(C,BARSLAST(ENTERLONG))-1)*100,DRAWNULL);
LJSY:=IF(CURRBARSCOUNT<=N,SUM(SY,0),DRAWNULL);
RQSY:=CONST(REF(LJSY,N-1));
收益:LJSY-RQSY,COLORYELLOW;
NOTEXT1:IF(收益>0,收益,DRAWNULL),COLORYELLOW;
NOTEXT2:IF(收益<=0,收益,DRAWNULL),COLORMAGENTA;
DRAWICON(ENTERLONG,收益*0.94,1);
DRAWICON(EXITLONG,收益*1.03,2);
DRAWNUMBER(EXITLONG,收益*1.2,IF((C/REF(C,BARSLAST(ENTERLONG))-1)*100>0,(C/REF(C,BARSLAST(ENTERLONG))-1)*100,DRAWNULL)),COLORYELLOW;
DRAWNUMBER(EXITLONG,收益*0.98,IF((C/REF(C,BARSLAST(ENTERLONG))-1)*100<=0,(C/REF(C,BARSLAST(ENTERLONG))-1)*100,DRAWNULL)),COLORMAGENTA;
DRAWTEXT_FIX(CURRBARSCOUNT=1,0.01,0.1,0,'自定义买卖条件,看收益曲线图'),COLORRED;