图表改后台 [金字塔]
咨询内容:
GLOBALVARIABLE:zs=c,maxhl=c;
//顾比倒数线
DISTL:=NEWLBARS(L,1);
DISTH:=NEWHBARS(H,1);
HI20:=REF(HHV(H,20),1);
LO20:=REF(LLV(L,20),1);
GBD1:=REF(L,DISTL);
GBD2:=REF(GBD1,DISTL);
GBD:=IF(GBD2>0,MAX(LLV(L,20),GBD2),LLV(L,20));
GBG1:=REF(H,DISTH);
GBG2:=REF(GBG1,DISTH);
GBG:=IF(GBG2>0,MIN(HHV(H,20),GBG2),HHV(H,20));
//SAR指标
Sar1:=SAR(10,2,20){,CIRCLEDOT};
//MACD指标
DIFF := EMA(CLOSE,12) - EMA(CLOSE,26);
DEA:= EMA(DIFF,9);
MACD := 2*(DIFF-DEA);
//交易条件
con1:any(ref(Sar1>high,1) and Sar1<high,3)=1; //最近3周期,有SAR向上突破K线
con2:any(cross(diff,dea),3)=1 and diff<5; //最近3周期,MACD在0线附近金叉
//下单模块
//止盈止损平仓:下破移动止损线后离场
if tholding>0 and c<zs then tsell(1,100,mkt);
//成本止损
zsc:c<tavgenterpriceex2('','',0)*0.96;
if tholding>0 and zsc then tsell(1,100,mkt);
//开多仓:SAR向上突破K线,MACD在0线附近金叉
if con1 and con2and ttotaldaytrade<1 then
begin
tbuy(tbuyholding(1)=0,100,mkt);
zs:=gbd; //调用顾比倒数线做为止损
maxhl:=h; //记录当时的高点
end
if tholding>0 and h>maxhl then//创新高后,重新定位离场位,以实现浮动止损
begin
zs:=gbd;
maxhl:=h;
end
止损线:zs,colorred;
老师,这段程序这样改成后台对吗?为什么图表显示下破止损线很多了,可后台并不执行呢?是全局变量设置的问题吗?谢谢!
后台的GLOBALVARIABLE全局变量是从你启动程序那会开始初始化,然后开始计算
他们机制不一样,图表你可以当成历史信息都要记录进来,后台则是你启动开始做记录
如果不好理解,你可以考虑使用图表和后台混搭模式,所有信号按照图表运行,http://www.weistock.com/bbs/dispbbs.asp?boardid=17&id=173706
在下单地方用后台下单命令技术交流:
多谢您!我学习一下 技术交流:
老师,股票在图表交易中如果想控制符合条件当日只买入一次,holding=0 可以吗?后台是要用到TBUYHOLDING(1)=0函数的。
//顾比倒数线
DISTL:=NEWLBARS(L,1);
DISTH:=NEWHBARS(H,1);
HI20:=REF(HHV(H,20),1);
LO20:=REF(LLV(L,20),1);
GBD1:=REF(L,DISTL);
GBD2:=REF(GBD1,DISTL);
GBD:=IF(GBD2>0,MAX(LLV(L,20),GBD2),LLV(L,20));
GBG1:=REF(H,DISTH);
GBG2:=REF(GBG1,DISTH);
GBG:=IF(GBG2>0,MIN(HHV(H,20),GBG2),HHV(H,20));
//SAR指标
Sar1:=SAR(10,2,20){,CIRCLEDOT};
//MACD指标
DIFF := EMA(CLOSE,12) - EMA(CLOSE,26);
DEA:= EMA(DIFF,9);
MACD := 2*(DIFF-DEA);
//交易条件
con1:any(ref(Sar1>high,1) and Sar1<high,3)=1; //最近3周期,有SAR向上突破K线
con2:any(cross(diff,dea),3)=1 and diff<5; //最近3周期,MACD在0线附近金叉
//下单模块
//止盈止损平仓:下破移动止损线后离场
if tholding>0 and c<zs then tsell(1,100,mkt);
//成本止损
zsc:c<tavgenterpriceex2('','',0)*0.96;
if tholding>0 and zsc then tsell(1,100,mkt);
//开多仓:SAR向上突破K线,MACD在0线附近金叉
if con1 and con2and ttotaldaytrade<1 then
begin
tbuy(tbuyholding(1)=0,100,mkt);
zs:=gbd; //调用顾比倒数线做为止损
maxhl:=h; //记录当时的高点
end
if tholding>0 and h>maxhl then//创新高后,重新定位离场位,以实现浮动止损
begin
zs:=gbd;
maxhl:=h;
end
止损线:zs,colorred;
老师,这段程序这样改成后台对吗?为什么图表显示下破止损线很多了,可后台并不执行呢?是全局变量设置的问题吗?谢谢!
来源: WWW.CXH99.COM
金字塔资深技术: 图表的variable是从历史上开始不断计算,每次都是从第一根开始后台的GLOBALVARIABLE全局变量是从你启动程序那会开始初始化,然后开始计算
他们机制不一样,图表你可以当成历史信息都要记录进来,后台则是你启动开始做记录
如果不好理解,你可以考虑使用图表和后台混搭模式,所有信号按照图表运行,http://www.weistock.com/bbs/dispbbs.asp?boardid=17&id=173706
在下单地方用后台下单命令
资深技术02 发表于 2021-12-21 13:05
图表的variable是从历史上开始不断计算,每次都是从第一根开始
后台的GLOBALVARIABLE全局变量是从你启动程 ...
多谢您!我学习一下
103820 发表于 2021-12-21 13:44
多谢您!我学习一下
老师,股票在图表交易中如果想控制符合条件当日只买入一次,holding=0 可以吗?后台是要用到TBUYHOLDING(1)=0函数的。
有思路,想编写各种指标公式,交易模型,选股公式,还原公式的朋友
可联系技术人员 QQ: 262069696 或微信号:cxh99cxh99 进行 有偿收费 编写!
(注:由于人数限制,QQ或微信请选择方便的一个联系我们就行,加好友时请简单备注下您的需求,否则无法通过。谢谢您!)
相关文章
-
没有相关内容