你好请改文化6 (文华财经WH6赢顺V6.7)

投资者咨询:你好请改文化6 (文华财经WH6赢顺V6.7)
来源:文华财经  日期:2018-6-15 14:08
 DRAWTEXT(STRTONUM(NUMTOSTR(BARPOS,0))-BARPOS=44,C,'牛市做多 熊市放空'),ALIGN4,COLORYELLOW;
{高低点交易系统}INPUT:N(1,1,21);
{====用科学法寻找所有分形}
AA:=REF(H,N)=HHV(H,2*N+1);BB:=FILTER(AA,N);{定义高点}
CC:=REF(L,N)=LLV(L,2*N+1);DD:=FILTER(CC,N);{定义低点}
{====所有压力支撑线}
ASG:=REF(H,BARSLAST(BB)+N);{所有空头压力线,取高点}
AXG:=REF(L,BARSLAST(DD)+N);{所有多头支撑线,取低点}
{过滤买卖信号出现后的压力支撑线}
GMM:=COUNT(C>ASG,0)<1 OR COUNT(C<AXG,0)<1;{上市后未出现一组完整的买卖对应信号}
{买卖信号出现后,压力线>支撑线,过滤压力线<支撑线}
GSG:=IF(ASG<AXG,REF(ASG,1+BARSLAST(ASG<AXG AND REF(ASG,1)>REF(AXG,1))),ASG);{若ASG<AXG,则取前面的压力线}
GXG:=IF(AXG>ASG,REF(AXG,1+BARSLAST(ASG<AXG AND REF(ASG,1)>REF(AXG,1))),AXG);{若AXG>ASG,则取前面的支撑线}
{=============有效压力支撑线=============}
SG:=IF(GMM,ASG,GSG);
XG:=IF(GMM,AXG,GXG);
{====所有买卖信号}
ADJ:=C>ASG;{所有多头进入/空头退出信号,今天C>ASG}
ADT:=C<AXG;{所有多头退出/空头进入信号,今天C<AXG}
{首个买卖信号}
SDJ:=COUNT(ADJ,0)=1 AND REF(COUNT(ADJ,0),1)<1;{上市后首次出现的多头进入信号}
SKJ:=COUNT(ADT,0)=1 AND REF(COUNT(ADT,0),1)<1;{上市后首次出现的空头进入信号}
{首个买卖信号后的所有买卖信号}
HDJ:=C>SG AND REF(C,1)<=REF(SG,1);{首个买卖信号后的多头进入/空头退出信号,今天C>SG同时昨天C<=昨天SG}
HDT:=C<XG AND REF(C,1)>=REF(XG,1);{首个买卖信号后的多头退出/空头进入,今天C<XG同时昨天C>=昨天XG}
{首个买卖信号后的有效买卖信号,过滤多余信号}
GDJ:=COUNT(COUNT(HDJ,BARSLAST(HDT))=1,BARSLAST(HDT))=1;{首个买卖信号后的有效多头进入/空头退出}
GDT:=COUNT(COUNT(HDT,BARSLAST(HDJ))=1,BARSLAST(HDJ))=1;{首个买卖信号后的有效多头退出/空头进入}
{=============有效买卖信号=============}
TJ1:=SDJ OR GDJ;{多头进入}
TJ2:=SKJ OR GDT;{空头进入}
TJ3:=GDT;{多头退出}
TJ4:=GDJ;{空头退出}
PARTLINE(TJ1,1.02*H),COLORRED,CIRCLEDOT;
PARTLINE(TJ2,0.98*L),COLORWHITE,CIRCLEDOT;
{====多头市场仅显示支撑线,空头市场仅显示压力线}
TJ5:=GMM AND COUNT(TJ1,0)>0;{第一个买卖信号是多头进入信号}
TJ6:=GMM AND COUNT(TJ2,0)>0;{第一个买卖信号是空头进入信号}
PARTLINE(TJ5 OR TJ3 OR BARSLAST(TJ1)<BARSLAST(TJ2),XG),COLORMAGENTA,LINETHICK2;
PARTLINE(TJ6 OR TJ4 OR BARSLAST(TJ1)>BARSLAST(TJ2),SG),COLORGRAY,LINETHICK2;
多止损价:IF(TJ5 OR TJ3 OR BARSLAST(TJ1)<BARSLAST(TJ2),XG,0),LINETHICK0,PRECISION1,COLORMAGENTA;
多止损额:IF(TJ5 OR TJ3 OR BARSLAST(TJ1)<BARSLAST(TJ2),C-XG,0),LINETHICK0,PRECISION1,COLORMAGENTA;
空止损价:IF(TJ6 OR TJ4 OR BARSLAST(TJ1)>BARSLAST(TJ2),SG,0),LINETHICK0,PRECISION1,COLORGRAY;
空止损额:IF(TJ6 OR TJ4 OR BARSLAST(TJ1)>BARSLAST(TJ2),SG-C,0),LINETHICK0,PRECISION1,COLORGRAY;
{多头市场,空头止损(额)=0;空头市场,多头止损(额)=0}
技术人员回复
日期:2018-6-15 14:15

不同软件函数机制不同,效果可能略有差异,

 

另外,STRTONUM、NUMTOSTR函数不支持直接改写的,其余部分给您修改如下:

 

//DRAWTEXT(STRTONUM(NUMTOSTR(BARPOS,0))-BARPOS=44,C,'牛市做多 熊市放空'),COLORYELLOW;
//{高低点交易系统}INPUT:N(1,1,21);
//{====用科学法寻找所有分形}
N:=1;
AA:=REF(H,N)=HHV(H,2*N+1);
BB:=FILTER(AA,N);
{定义高点}
CC:=REF(L,N)=LLV(L,2*N+1);
DD:=FILTER(CC,N);
{定义低点}
//{====所有压力支撑线}
ASG:=REF(H,BARSLAST(BB)+N);
{所有空头压力线,取高点}
AXG:=REF(L,BARSLAST(DD)+N);
{所有多头支撑线,取低点}
//{过滤买卖信号出现后的压力支撑线}
GMM:=COUNT(C>ASG,0)<1 OR COUNT(C<AXG,0)<1;
{上市后未出现一组完整的买卖对应信号}
//{买卖信号出现后,压力线>支撑线,过滤压力线<支撑线}
GSG:=IF(ASG<AXG,REF(ASG,1+BARSLAST(ASG<AXG AND REF(ASG,1)>REF(AXG,1))),ASG);
{若ASG<AXG,则取前面的压力线}
GXG:=IF(AXG>ASG,REF(AXG,1+BARSLAST(ASG<AXG AND REF(ASG,1)>REF(AXG,1))),AXG);
{若AXG>ASG,则取前面的支撑线}
//{=============有效压力支撑线=============}
SG:=IF(GMM,ASG,GSG);
XG:=IF(GMM,AXG,GXG);
//{====所有买卖信号}
ADJ:=C>ASG;
{所有多头进入/空头退出信号,今天C>ASG}
ADT:=C<AXG;
{所有多头退出/空头进入信号,今天C<AXG}
//{首个买卖信号}
SDJ:=COUNT(ADJ,0)=1 AND REF(COUNT(ADJ,0),1)<1;
{上市后首次出现的多头进入信号}
SKJ:=COUNT(ADT,0)=1 AND REF(COUNT(ADT,0),1)<1;
{上市后首次出现的空头进入信号}
//{首个买卖信号后的所有买卖信号}
HDJ:=C>SG AND REF(C,1)<=REF(SG,1);
{首个买卖信号后的多头进入/空头退出信号,今天C>SG同时昨天C<=昨天SG}
HDT:=C<XG AND REF(C,1)>=REF(XG,1);
{首个买卖信号后的多头退出/空头进入,今天C<XG同时昨天C>=昨天XG}
//{首个买卖信号后的有效买卖信号,过滤多余信号}
GDJ:=COUNT(COUNT(HDJ,BARSLAST(HDT))=1,BARSLAST(HDT))=1;
{首个买卖信号后的有效多头进入/空头退出}
GDT:=COUNT(COUNT(HDT,BARSLAST(HDJ))=1,BARSLAST(HDJ))=1;
{首个买卖信号后的有效多头退出/空头进入}
//{=============有效买卖信号=============}
TJ1:=SDJ OR GDJ;
{多头进入}
TJ2:=SKJ OR GDT;
{空头进入}
TJ3:=GDT;
{多头退出}
TJ4:=GDJ;
//{空头退出}
PARTLINE1(TJ1,1.02*H),COLORRED,CIRCLEDOT;
PARTLINE1(TJ2,0.98*L),COLORWHITE,CIRCLEDOT;
//{====多头市场仅显示支撑线,空头市场仅显示压力线}
TJ5:=GMM AND COUNT(TJ1,0)>0;
{第一个买卖信号是多头进入信号}
TJ6:=GMM AND COUNT(TJ2,0)>0;
//{第一个买卖信号是空头进入信号}
PARTLINE1(TJ5 OR TJ3 OR BARSLAST(TJ1)<BARSLAST(TJ2),XG),COLORMAGENTA,LINETHICK2;
PARTLINE1(TJ6 OR TJ4 OR BARSLAST(TJ1)>BARSLAST(TJ2),SG),COLORGRAY,LINETHICK2;
多止损价:IF(TJ5 OR TJ3 OR BARSLAST(TJ1)<BARSLAST(TJ2),XG,0),LINETHICK1,COLORMAGENTA;
多止损额:IF(TJ5 OR TJ3 OR BARSLAST(TJ1)<BARSLAST(TJ2),C-XG,0),LINETHICK1,COLORMAGENTA;
空止损价:IF(TJ6 OR TJ4 OR BARSLAST(TJ1)>BARSLAST(TJ2),SG,0),LINETHICK1,COLORGRAY;
空止损额:IF(TJ6 OR TJ4 OR BARSLAST(TJ1)>BARSLAST(TJ2),SG-C,0),LINETHICK1,COLORGRAY;
//{多头市场,空头止损(额)=0;空头市场,多头止损(额)=0}