Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共33 条记录, 每页显示 10 条, 页签: [1] [2][3][4]
[浏览完整版]

标题:求助!!!!!!

1楼
qdxzhy126 发表于:2015/1/6 20:41:37
variable:多止损=0;

if holding>0 and DYNAINFO(7)<zs then 多止损:=多止损+1;
if holding<=0  then 多止损:=0;


 if (多止损>3) then sell(1,0,MARKETR),ORDERQUEUE;

上面代码是否有问题,如果没问题为什么“多止损”测试后的最大值到1就不往上加了。
运行环境为:
图片点击可在新窗口打开查看此主题相关图片如下:mk)q%q4c$~{40d1_s`s0rj.jpg
图片点击可在新窗口打开查看


2楼
FexTel 发表于:2015/1/6 21:15:22
variable:多止损=0;

if holding>0 and DYNAINFO(7)<zs then 多止损:=多止损+1;
if holding<=0 then 多止损:=0;


if (多止损>3) then sell(1,0,MARKETR),ORDERQUEUE;

 

//DYNAINFO(7)表示最新价,历史返回的都是当心最新的值

交易代码是逐k运行的哦,多止损刷历史值的时候一定有问题的。你这边历史要用C做下处理

3楼
百湛必胜客 发表于:2015/1/6 23:11:40
用globalvariable
4楼
FexTel 发表于:2015/1/7 9:07:09

1,globalvariable //一样的,实际运行没有问题。重启或者停止交易后还是会被重新初始化计算,返回结果前后不一致的

2,这边关键问题在于您要对实时K线和历史K线做区分的

最新的一根K你可以用EXTGBDATASET记录,历史你要单独记录(不能使用DYNAINFO(7))

 

 

5楼
百湛必胜客 发表于:2015/1/7 12:43:54
用globalvariable 就能解决楼主的不继续累加问题了
6楼
FexTel 发表于:2015/1/7 13:11:42
处理是可以的,但是你重启软件或者重新启动图表交易后globalvariable还是会被初始化的哦
7楼
qdxzhy126 发表于:2015/1/22 19:05:34
我用了跨周期调用,代码如下:


globalvariable:多止损=0;
miaohh:STKINDIEX(品种,'止损.hh',0,22,1,100),NODRAW;//返回1秒周期的高点H
if holding>0 and miaohh<zs then 多止损:=多止损+1;
if holding<=0 then 多止损:=0;
if (多止损>3) then sell(1,0,MARKETR),ORDERQUEUE;

现在多止损可以进行累加了,不过新的问题产生了当执行完止损操作if (多止损>3) then sell(1,0,MARKETR),ORDERQUEUE;后,holding状态值不发生变化,原来是1,执行止损后应该是0,可是holding状态值,依然是1不变化。请帮忙解决!!!!谢谢了



8楼
qdxzhy126 发表于:2015/1/22 19:24:25
如果 把if (多止损>3) then sell(1,0,MARKETR),ORDERQUEUE;换成if H<ZS then sell(1,0,MARKETR),ORDERQUEUE;holding值就正常了,我想是不是 “多止损”变量类型的定义问题?如果是该如何解决呢??
9楼
FexTel 发表于:2015/1/23 8:49:40

1,看下4楼说明,图表是依据历史交易信号的。您这种直接采用动态行情数据在代码里面要做处理

另外CLOSE,在盘中就表示最新价哦

//如下处理下就好了,另外您可以看下全局变量说明http://www.weistock.com/WeisoftHelp/zbgs003.htm

 

variable:多止损=0;

if holding>0 and C<zs then 多止损:=多止损+1;
if holding<=0 then 多止损:=0;


if (多止损>3) then sell(1,0,MARKETR),ORDERQUEUE;
10楼
qdxzhy126 发表于:2015/1/26 16:24:19
按如下改写后出现的问题是 “多止损” 在1分钟K线走完后才进行累加,而我的要求是只要出现holding>0 and C<zs就进行累加,  另外variable:多止损=0; 改成 globalvariable:多止损=0;后“多止损”可以时时累加就正确了,不过holding
的状态就不正确了。如此简单的问题怎么实现呀!!!!(变量用variable ,holding的状态是正确的)


variable:多止损=0;

if holding>0 and C<zs then 多止损:=多止损+1;
if holding<=0 then 多止损:=0;
if (多止损>3) then sell(1,0,MARKETR),ORDERQUEUE;
共33 条记录, 每页显示 10 条, 页签: [1] [2][3][4]


Powered By Dvbbs Version 8.3.0
Processed in 0.04688 s, 2 queries.