通达信〖四弦听风〗多维度技术面分析精准定位买入时机源码
该指标实际是一个全自动化的量化交易系统,其核心能力在于:通过多维度技术面分析精准定位买入时机,并借助动态风控机制自动执行止盈与止损操作。
在具体执行层面,系统内置四种入场信号——超跌反弹抄底、趋势回踩确认、横盘区间突破以及放量启动上涨。开仓后,双重止损策略立即生效:一方面依据真实波动幅度(ATR)设置动态防线,另一方面固定比例止损线作为硬性保护。止盈方面,采用阶梯式移动跟踪机制,随盈利增加逐步收紧回撤容忍度;一旦达到目标收益则直接平仓锁定利润。此外,若长期趋势发生破位,系统同样会触发卖出指令。
{ 第一部分:参数区(按需调整) }
{==============================================}
投入金额:=5;
最小持仓天数:=2;
止损比例:=8;
止盈比例:=60;
移动止盈回撤1:=15;
移动止盈回撤2:=12;
移动止盈回撤3:=10;
移动止盈回撤4:=8;
ATR周期:=14;
ATR止损倍数:=1.5;
{==============================================}
{ 第二部分:公共变量区(框架自动计算) }
{==============================================}
TR1:=MAX(MAX(H-L,ABS(H-REF(C,1))),ABS(L-REF(C,1)));
ATR:=MA(TR1,ATR周期);
{==============================================}
{ 第三部分:买入条件插槽(替换这里即可) }
{ 要求: }
{ 输出"买入条件"=1触发买入,0不触发 }
{ 输出"买入类型"=信号编号,用于分类显示 }
{ 1=抄底 2=回踩 3=突破 4=起涨 }
{==============================================}
{--- 以下为原始系统完整买入代码 ---}
{-- 公共指标 --}
快线:=MA(C,5);
慢线:=MA(C,20);
长期线:=MA(C,60);
均量5:=MA(V,5);
均量20:=MA(V,20);
DIFF:=EMA(C,12)-EMA(C,26);
DEA:=EMA(DIFF,9);
MACD柱:=2*(DIFF-DEA);
{-- 抄底 --}
RSV:=(C-LLV(L,14))/(HHV(H,14)-LLV(L,14))*100;
RSI:=SMA(RSV,3,1);
超卖区:=RSI<25;
连跌天数:=COUNT(C<REF(C,1),5);
严重超跌:=连跌天数>=3;
反弹确认:=C>O AND C>REF(C,1) AND V>均量5*1.5;
偏离长期线:=(C-长期线)/长期线*100;
超跌反弹条件:=偏离长期线<-15;
下影线比:=(MIN(C,O)-L)/(H-L+0.01);
底部K线:=下影线比>0.3;
抄底买入:=超卖区 AND 严重超跌 AND 反弹确认 AND (超跌反弹条件 OR 底部K线);
{-- 回踩 --}
趋势向上:=快线>慢线;
金叉:=REF(快线,1)<=REF(慢线,1) AND 快线>慢线;
金叉距今:=BARSLAST(金叉);
回踩区间上轨:=慢线*1.05;
回踩区间下轨:=慢线*0.95;
价格触及慢线:=L<=回踩区间上轨 AND L>=回踩区间下轨;
回踩企稳:=C>慢线;
回踩K线确认:=C>O;
回踩确认:=趋势向上 AND 价格触及慢线 AND 回踩企稳 AND 回踩K线确认;
回踩时间窗口:=金叉距今<=60 AND 金叉距今>=2;
金叉后回踩次数:=COUNT(回踩确认,金叉距今+1);
前三次回踩:=金叉后回踩次数>=1 AND 金叉后回踩次数<=3;
均线斜率:=(慢线-REF(慢线,5))/REF(慢线,5)*100;
趋势强度:=均线斜率>0;
回踩买入:=回踩确认 AND 前三次回踩 AND 回踩时间窗口 AND 趋势强度;
{-- 突破 --}
突破周期:=20;
N日最高:=HHV(H,突破周期);
突破新高:=C>REF(N日最高,1) AND REF(C,1)<=REF(N日最高,1);
突破放量:=V>均量20*1.5;
突破趋势过滤:=C>慢线 AND 快线>REF(快线,1);
前20日振幅:=(HHV(H,突破周期)-LLV(L,突破周期))/LLV(L,突破周期)*100;
横盘整理:=前20日振幅<30;
突破买入:=突破新高 AND 突破放量 AND 突破趋势过滤 AND 横盘整理;
{-- 放量起涨 --}
前5日均量:=MA(V,5);
前10日均量:=MA(V,10);
近期缩量:=前5日均量<前10日均量*0.8;
今日放量:=V>前10日均量*2;
今日大涨:=C/REF(C,1)>1.05;
今日收阳:=C>O;
起涨站上均线:=C>慢线 AND REF(C,1)<慢线;
MACD金叉:=REF(DIFF,1)<=REF(DEA,1) AND DIFF>DEA;
放量起涨买入:=近期缩量 AND 今日放量 AND 今日大涨 AND 今日收阳 AND (起涨站上均线 OR MACD金叉);
{-- 插槽输出 --}
{ 原始信号汇总(不含持仓过滤) }
原始买入信号:=回踩买入 OR 突破买入 OR 抄底买入 OR 放量起涨买入;
买入类型:=IF(回踩买入,2,IF(突破买入,3,IF(抄底买入,1,IF(放量起涨买入,4,0))));
{--- 原始买入代码结束,替换上方代码即可换策略 ---}
{==============================================}
{ 第四部分:卖出条件插槽(替换这里即可) }
{ 要求: }
{ 输出"卖出条件"=1触发卖出,0不触发 }
{ 输出"卖出类型"=信号编号,用于分类显示 }
{ 1=策略卖出 }
{ 注意:固定止损/动损/移动止盈/目标止盈 }
{ 由框架第五部分自动管理,无需在此写出 }
{==============================================}
{--- 以下为原始系统完整策略卖出代码 ---}
慢线拐头:=慢线<REF(慢线,1) AND REF(慢线,1)<REF(慢线,2);
策略卖出:=慢线拐头 AND C<慢线 AND REF(C,1)<REF(慢线,1);
{-- 插槽输出 --}
卖出条件:=策略卖出;
卖出类型:=IF(策略卖出,1,0);
{--- 原始策略卖出代码结束,替换上方代码即可换策略 ---}
{==============================================}
{ 第五部分:止损止盈区(框架核心,勿动) }
{==============================================}
买入距今:=BARSLAST(原始买入信号);
买入价基准:=IF(BARSLAST(原始买入信号)<BARSCOUNT(C), REF(C, 买入距今), 0);
买入时ATR:=REF(ATR, 买入距今);
买入后最高价:=HHV(H, 买入距今+1);
当前盈利:=IF(买入价基准>0,(C-买入价基准)/买入价基准*100,0);
最高盈利:=IF(买入价基准>0,(买入后最高价-买入价基准)/买入价基准*100,0);
{--- ATR动态止损 ---}
ATR倍数:=IF(买入距今>15,2.5,IF(买入距今>5,2,ATR止损倍数));
ATR止损线:=买入价基准-买入时ATR*ATR倍数;
ATR止损触发:=买入距今>=最小持仓天数 AND L<ATR止损线;
{--- 固定止损 ---}
固定止损触发:=买入距今>=最小持仓天数 AND C<买入价基准*(1-止损比例/100);
{--- 阶梯移动止盈(边界统一用>=) ---}
阶段回撤:=IF(最高盈利>=60,移动止盈回撤4,
IF(最高盈利>=40,移动止盈回撤3,
IF(最高盈利>=20,移动止盈回撤2,
IF(最高盈利>=10,移动止盈回撤1,99))));
移动止盈触发:=买入距今>=最小持仓天数 AND 最高盈利>=10 AND C<买入后最高价*(1-阶段回撤/100);
{--- 目标止盈 ---}
目标止盈触发:=买入距今>=最小持仓天数 AND H>=买入价基准*(1+止盈比例/100);
{--- 综合卖出(框架止损止盈 + 插槽策略卖出) ---}
综合卖出:=(卖出条件 AND 买入距今>0) OR 固定止损触发 OR ATR止损触发 OR 移动止盈触发 OR 目标止盈触发;
{==============================================}
{ 第六部分:仓位管理区(框架核心,勿动) }
{ 含持仓状态判定 + 买入条件最终输出 }
{==============================================}
卖出距今:=BARSLAST(综合卖出);
{--- BARSLAST边界保护 ---}
有买入记录:=BARSLAST(原始买入信号)<BARSCOUNT(C);
有卖出记录:=BARSLAST(综合卖出)<BARSCOUNT(C);
持仓状态:=IF(有买入记录 AND (有卖出记录=0 OR 买入距今<卖出距今),1,0);
持仓成本:=IF(持仓状态=1,买入价基准,0);
{--- 持仓中不再买入(用REF打破循环依赖) ---}
买入条件:=原始买入信号 AND REF(持仓状态,1)=0;
{==============================================}
{ 第七部分:盈亏计算区(框架核心,勿动) }
{==============================================}
持仓盈亏率:=IF(持仓状态=1,(C-持仓成本)/持仓成本*100,
IF(REF(持仓状态,1)=1 AND 持仓状态=0,
(O-REF(持仓成本,1))/REF(持仓成本,1)*100,0));
卖出触发:=REF(持仓状态,1)=1 AND 持仓状态=0;
WWWZBGS3COM:=VOL/((HIGH-LOW)*2-ABS(CLOSE-OPEN));
{--- 还原卖出时具体是哪个条件触发(用于分类显示) ---}
{ 优先级:策略卖出 > ATR止损 > 固定止损 > 移动止盈 > 目标止盈 }
{ 同一天多条件同时触发时,只返回优先级最高的一个 }
最终卖出类型:=IF(卖出触发,
IF(REF(卖出条件,卖出距今)=1,1,
IF(ATR止损触发,3,
IF(固定止损触发,2,
IF(移动止盈触发,4,
IF(目标止盈触发,5,0))))),0);
{==============================================}
{ 第八部分:信号显示区(框架核心,勿动) }
{==============================================}
买入价信号:IF(买入条件,C,0),NODRAW;
买入量信号:IF(买入条件,INTPART(投入金额*10000/C/100)*100,0),NODRAW;
持仓成本信号:持仓成本,NODRAW;
持仓盈亏率%:持仓盈亏率;
卖出价信号:IF(卖出触发,O,0),NODRAW;
{--- 持仓状态柱 ---}
STICKLINE(买入条件,19,23,4,0),COLORRED;
STICKLINE(持仓状态=1,21,21,4,0),COLORRED;
STICKLINE(持仓盈亏率 AND 持仓盈亏率>0,0,持仓盈亏率,0,0),COLORRED;
STICKLINE(持仓盈亏率 AND 持仓盈亏率<=0,0,持仓盈亏率,0,0),COLORFFFF80;
STICKLINE(卖出触发,19,23,4,0),COLORFF0000;
{--- 买入类型分类柱(上半区) ---}
STICKLINE(买入条件 AND 买入类型=1,0,34,1,1),COLORGREEN;
STICKLINE(买入条件 AND 买入类型=2,0,34,1,1),COLORRED;
STICKLINE(买入条件 AND 买入类型=3,0,50,1,1),COLORYELLOW;
STICKLINE(买入条件 AND 买入类型=4,0,55,1,1),COLORMAGENTA;
{--- 卖出类型分类柱(下半区) ---}
STICKLINE(卖出触发 AND 最终卖出类型=1,0,-23,0,0),COLORCYAN;
STICKLINE(卖出触发 AND 最终卖出类型=2,0,-23,0,0),COLORGREEN;
STICKLINE(卖出触发 AND 最终卖出类型=3,0,-23,0,0),COLORFFAA00;
STICKLINE(卖出触发 AND (最终卖出类型=4 OR 最终卖出类型=5),0,-23,0,0),COLORRED;
{--- 买入类型文字标注 ---}
DRAWTEXT(买入条件 AND 买入类型=1,34,'抄底'),COLORGREEN;
DRAWTEXT(买入条件 AND 买入类型=2,34,'回踩'),COLORRED;
DRAWTEXT(买入条件 AND 买入类型=3,45,'突破'),COLORYELLOW;
DRAWTEXT(买入条件 AND 买入类型=4,50,'起涨'),COLORMAGENTA;
{--- 卖出类型文字标注 ---}
DRAWTEXT(卖出触发 AND 最终卖出类型=1,-5,'破位'),COLOR80FFFF;
DRAWTEXT(卖出触发 AND 最终卖出类型=3,-13,'动损'),COLORFFAA00;
DRAWTEXT(卖出触发 AND 最终卖出类型=2,-21,'固损'),COLORGREEN;
DRAWTEXT(卖出触发 AND (最终卖出类型=4 OR 最终卖出类型=5),5,'止盈'),COLOR80FFFF;

未来函数检测结果如下:
该公式没有未来函数
定制指标公式、软件请联系QQ或微信同号:88652583
投入金额赋值:5
最小持仓天数赋值:2
止损比例赋值:8
止盈比例赋值:60
移动止盈回撤1赋值:15
移动止盈回撤2赋值:12
移动止盈回撤3赋值:10
移动止盈回撤4赋值:8
ATR周期赋值:14
ATR止损倍数赋值:1.5
TR1赋值:最高价-最低价和最高价-1日前的收盘价的绝对值的较大值和最低价-1日前的收盘价的绝对值的较大值
ATR赋值:TR1的ATR周期日简单移动平均
快线赋值:收盘价的5日简单移动平均
慢线赋值:收盘价的20日简单移动平均
长期线赋值:收盘价的60日简单移动平均
均量5赋值:成交量(手)的5日简单移动平均
均量20赋值:成交量(手)的20日简单移动平均
DIFF赋值:收盘价的12日指数移动平均-收盘价的26日指数移动平均
DEA赋值:DIFF的9日指数移动平均
MACD柱赋值:2*(DIFF-DEA)
RSV赋值:(收盘价-14日内最低价的最低值)/(14日内最高价的最高值-14日内最低价的最低值)*100
RSI赋值:RSV的3日[1日权重]移动平均
超卖区赋值:RSI<25
连跌天数赋值:统计5日中满足收盘价<1日前的收盘价的天数
严重超跌赋值:连跌天数>=3
反弹确认赋值:收阳线AND 收盘价>1日前的收盘价 AND 成交量(手)>均量5*1.5
偏离长期线赋值:(收盘价-长期线)/长期线*100
超跌反弹条件赋值:偏离长期线<-15
下影线比赋值:(收盘价和开盘价的较小值-最低价)/(最高价-最低价+0.01)
底部K线赋值:下影线比>0.3
抄底买入赋值:超卖区 AND 严重超跌 AND 反弹确认 AND (超跌反弹条件 OR 底部K线)
趋势向上赋值:快线>慢线
金叉赋值:1日前的快线<=1日前的慢线 AND 快线>慢线
金叉距今赋值:上次金叉距今天数
回踩区间上轨赋值:慢线*1.05
回踩区间下轨赋值:慢线*0.95
价格触及慢线赋值:最低价<=回踩区间上轨 AND 最低价>=回踩区间下轨
回踩企稳赋值:收盘价>慢线
回踩K线确认赋值:收阳线
回踩确认赋值:趋势向上 AND 价格触及慢线 AND 回踩企稳 AND 回踩K线确认
回踩时间窗口赋值:金叉距今<=60 AND 金叉距今>=2
金叉后回踩次数赋值:统计金叉距今+1日中满足回踩确认的天数
前三次回踩赋值:金叉后回踩次数>=1 AND 金叉后回踩次数<=3
均线斜率赋值:(慢线-5日前的慢线)/5日前的慢线*100
趋势强度赋值:均线斜率>0
回踩买入赋值:回踩确认 AND 前三次回踩 AND 回踩时间窗口 AND 趋势强度
突破周期赋值:20
N日最高赋值:突破周期日内最高价的最高值
突破新高赋值:收盘价>1日前的N日最高 AND 1日前的收盘价<=1日前的N日最高
突破放量赋值:成交量(手)>均量20*1.5
突破趋势过滤赋值:收盘价>慢线 AND 快线>1日前的快线
前20日振幅赋值:(突破周期日内最高价的最高值-突破周期日内最低价的最低值)/突破周期日内最低价的最低值*100
横盘整理赋值:前20日振幅<30
突破买入赋值:突破新高 AND 突破放量 AND 突破趋势过滤 AND 横盘整理
前5日均量赋值:成交量(手)的5日简单移动平均
前10日均量赋值:成交量(手)的10日简单移动平均
近期缩量赋值:前5日均量<前10日均量*0.8
今日放量赋值:成交量(手)>前10日均量*2
今日大涨赋值:收盘价/1日前的收盘价>1.05
今日收阳赋值:收阳线
起涨站上均线赋值:收盘价>慢线 AND 1日前的收盘价<慢线
MACD金叉赋值:1日前的DIFF<=1日前的DEA AND DIFF>DEA
放量起涨买入赋值:近期缩量 AND 今日放量 AND 今日大涨 AND 今日收阳 AND (起涨站上均线 OR MACD金叉)
原始买入信号赋值:回踩买入 OR 突破买入 OR 抄底买入 OR 放量起涨买入
买入类型赋值:如果回踩买入,返回2,否则返回如果突破买入,返回3,否则返回如果抄底买入,返回1,否则返回如果放量起涨买入,返回4,否则返回0
慢线拐头赋值:慢线<1日前的慢线 AND 1日前的慢线<2日前的慢线
策略卖出赋值:慢线拐头 AND 收盘价<慢线 AND 1日前的收盘价<1日前的慢线
卖出条件赋值:策略卖出
卖出类型赋值:如果策略卖出,返回1,否则返回0
买入距今赋值:上次原始买入信号距今天数
买入价基准赋值:如果上次原始买入信号距今天数<收盘价的有效数据周期数,返回买入距今日前的收盘价,否则返回0
买入时ATR赋值:买入距今日前的ATR
买入后最高价赋值:买入距今+1日内最高价的最高值
当前盈利赋值:如果买入价基准>0,返回(收盘价-买入价基准)/买入价基准*100,否则返回0
最高盈利赋值:如果买入价基准>0,返回(买入后最高价-买入价基准)/买入价基准*100,否则返回0
ATR倍数赋值:如果买入距今>15,返回2.5,否则返回如果买入距今>5,返回2,否则返回ATR止损倍数
ATR止损线赋值:买入价基准-买入时ATR*ATR倍数
ATR止损触发赋值:买入距今>=最小持仓天数 AND 最低价固定止损触发赋值:买入距今>=最小持仓天数 AND 收盘价<买入价基准*(1-止损比例/100)
阶段回撤赋值:如果最高盈利>=60,返回移动止盈回撤4,否则返回如果最高盈利>=40,返回移动止盈回撤3,否则返回如果最高盈利>=20,返回移动止盈回撤2,否则返回如果最高盈利>=10,返回移动止盈回撤1,否则返回99
移动止盈触发赋值:买入距今>=最小持仓天数 AND 最高盈利>=10 AND 收盘价<买入后最高价*(1-阶段回撤/100)
目标止盈触发赋值:买入距今>=最小持仓天数 AND 最高价>=买入价基准*(1+止盈比例/100)
综合卖出赋值:(卖出条件 AND 买入距今>0) OR 固定止损触发 OR ATR止损触发 OR 移动止盈触发 OR 目标止盈触发
卖出距今赋值:上次综合卖出距今天数
有买入记录赋值:上次原始买入信号距今天数<收盘价的有效数据周期数
有卖出记录赋值:上次综合卖出距今天数<收盘价的有效数据周期数
持仓状态赋值:如果有买入记录AND(有卖出记录=0OR买入距今<卖出距今),返回1,否则返回0
持仓成本赋值:如果持仓状态=1,返回买入价基准,否则返回0
买入条件赋值:原始买入信号 AND 1日前的持仓状态=0
持仓盈亏率赋值:如果持仓状态=1,返回(收盘价-持仓成本)/持仓成本*100,否则返回如果1日前的持仓状态=1AND持仓状态=0,返回(开盘价-1日前的持仓成本)/1日前的持仓成本*100,否则返回0
卖出触发赋值:1日前的持仓状态=1 AND 持仓状态=0
WWWZBGS3COM赋值:成交量(手)/((最高价-最低价)*2-收盘价-开盘价的绝对值)
最终卖出类型赋值:如果卖出触发,返回如果卖出距今日前的卖出条件=1,返回1,否则返回如果ATR止损触发,返回3,否则返回如果固定止损触发,返回2,否则返回如果移动止盈触发,返回4,否则返回如果目标止盈触发,返回5,否则返回0,否则返回0
输出买入价信号:如果买入条件,返回收盘价,否则返回0,NODRAW
输出买入量信号:如果买入条件,返回投入金额*10000/收盘价/100的整数部分*100,否则返回0,NODRAW
输出持仓成本信号:持仓成本,NODRAW
输出持仓盈亏率%:持仓盈亏率
输出卖出价信号:如果卖出触发,返回开盘价,否则返回0,NODRAW
当满足条件买入条件时,在19和23位置之间画柱状线,宽度为4,0不为0则画空心柱.,画红色
当满足条件持仓状态=1时,在21和21位置之间画柱状线,宽度为4,0不为0则画空心柱.,画红色
当满足条件持仓盈亏率AND持仓盈亏率>0时,在0和持仓盈亏率位置之间画柱状线,宽度为0,0不为0则画空心柱.,画红色
当满足条件持仓盈亏率AND持仓盈亏率<=0时,在0和持仓盈亏率位置之间画柱状线,宽度为0,0不为0则画空心柱.,COLORFFFF80
当满足条件卖出触发时,在19和23位置之间画柱状线,宽度为4,0不为0则画空心柱.,COLORFF0000
当满足条件买入条件AND买入类型=1时,在0和34位置之间画柱状线,宽度为1,1不为0则画空心柱.,画绿色
当满足条件买入条件AND买入类型=2时,在0和34位置之间画柱状线,宽度为1,1不为0则画空心柱.,画红色
当满足条件买入条件AND买入类型=3时,在0和50位置之间画柱状线,宽度为1,1不为0则画空心柱.,画黄色
当满足条件买入条件AND买入类型=4时,在0和55位置之间画柱状线,宽度为1,1不为0则画空心柱.,画洋红色
当满足条件卖出触发AND最终卖出类型=1时,在0和-23位置之间画柱状线,宽度为0,0不为0则画空心柱.,画青色
当满足条件卖出触发AND最终卖出类型=2时,在0和-23位置之间画柱状线,宽度为0,0不为0则画空心柱.,画绿色
当满足条件卖出触发AND最终卖出类型=3时,在0和-23位置之间画柱状线,宽度为0,0不为0则画空心柱.,COLORFFAA00
当满足条件卖出触发AND(最终卖出类型=4OR最终卖出类型=5)时,在0和-23位置之间画柱状线,宽度为0,0不为0则画空心柱.,画红色
当满足条件买入条件AND买入类型=1时,在34位置书写文字,画绿色
当满足条件买入条件AND买入类型=2时,在34位置书写文字,画红色
当满足条件买入条件AND买入类型=3时,在45位置书写文字,画黄色
当满足条件买入条件AND买入类型=4时,在50位置书写文字,画洋红色
当满足条件卖出触发AND最终卖出类型=1时,在-5位置书写文字,COLOR80FFFF
当满足条件卖出触发AND最终卖出类型=3时,在-13位置书写文字,COLORFFAA00
当满足条件卖出触发AND最终卖出类型=2时,在-21位置书写文字,画绿色
当满足条件卖出触发AND(最终卖出类型=4OR最终卖出类型=5)时,在5位置书写文字,COLOR80FFFF
- QQ:88652583
- 邮箱:88652583@qq.com
- 工作时间:7:30-21:00
- 微信:88652583或扫描如下二维码
sitemap站点地图