Rss & SiteMap

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

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

标题:关于全局变量的问题

1楼
打盹的小和尚 发表于:2014/9/20 15:14:02

全局变量的赋值是出现信号就赋值,还是需要K线走完?

举例:

variable:cc=0;

if ma5>ma20 then cc:=1;

我初始化一个全局变量为cc,当5周期均线大于20周期均线的时候cc赋值为1,如果盘中信号频闪,cc是在1和0中来回变,还是等K线走完后判断条件?

2楼
马良 发表于:2014/9/20 18:50:22
来回变的
3楼
打盹的小和尚 发表于:2014/9/23 14:11:40

runmode:0;
variable:cc=0;
ma5:=ma(c,5);
ma20:=ma(c,20);
entertime:=time>100000 and time<144500;
if holding>0 and cc<=0 then sell(1,1,limitr,o);
if holding<0 and cc>=0 then sellshort(1,1,limitr,o);
if holding=0 and cc>0 then buy(1,1,limitr,o);
if holding=0 and cc<0 then buyshort(1,1,limitr,o);
if cc>0 and ma5<ma20 then cc:=0;
if cc<0 and ma5>ma20 then cc:=0;
if cc=0 and ma5>ma20 and entertime then cc:=1;
if cc=0 and ma5<ma20 and entertime then cc:=-1;
if time>=150000 then begin
 cc:=0;
end

 

这段代码是从阿火秘籍里找来的,这段代码可以实现前一根K线判断条件,在本周期开盘价下单,我想问是如何实现的,我测试过,如果去掉CC这个全局变量,就变成出现信号就立即下单了

4楼
FexTel 发表于:2014/9/23 14:28:18

cc是整个控制变量,条件满足后先赋值cc

 

赋值后才会对应开平仓

5楼
打盹的小和尚 发表于:2014/9/23 14:41:29

我也明白先赋值再开仓。举个例子初始化CC=0,当MA5>MA20出现了,CC赋值为1,这个时候就满足了开仓条件,为什么不会立刻开仓,而是等到本周期结束之后在下周期开盘价下单。版主能否详细说明下,这个问题对我很重要

6楼
FexTel 发表于:2014/9/23 14:46:59

因为赋值是在开仓语句后面的,在同一根K线内

 

在同一根K线内,公式会从上往下运行,varibale记录为上一根K线的返回值。而不是公式运行一次的返回值

7楼
打盹的小和尚 发表于:2014/9/23 15:06:28

那就是说还是要等K线走完才返回值,varibale是不会在盘中根据条件来回变的

8楼
FexTel 发表于:2014/9/23 15:07:59

公式一次运行过程会记录值的,值在盘中会变化

 

只不过是公式一次运行的结果,公式重新运行后又会再次计算

记住代码是从上往下运行

[此贴子已经被作者于2014/9/23 15:08:25编辑过]
共8 条记录, 每页显示 10 条, 页签: [1]


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