Rss & SiteMap

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

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

标题:[求助]关于variable的问题

1楼
z7c9 发表于:2010/10/28 22:35:52

对于类似这样的variable变量:

variable:stopprice=0;

 

1.如果要variable做全局变量,就必须运行于逐周期模式,对么?

 

2.如果在后台策略中使用variable做全局变量,比如有一个止损价变量stopprice。开仓后立刻计算stopprice,即stopprice已有值(比如26000)。而此时停止了预警,那么下次启动预警时,这个variable的值是重新初始化成0了还是保留上次的26000?

2楼
董小球 发表于:2010/10/29 9:31:14

1、都可以;

2、会重新计算;如果想用不重新计算的,要使用 工具》》数据》》全局变量里面设置的变量,然后用 EXTGBDATASET”和“ EXTGBDATA ”函数的调用

你可以去下精华贴里我发的 问题大全里 搜全局变量来学习下

3楼
z7c9 发表于:2010/10/29 11:27:06
以下是引用董小球在2010-10-29 9:31:14的发言:

1、都可以;

2、会重新计算;如果想用不重新计算的,要使用 工具》》数据》》全局变量里面设置的变量,然后用 EXTGBDATASET”和“ EXTGBDATA ”函数的调用

你可以去下精华贴里我发的 问题大全里 搜全局变量来学习下

我测试的结果是,variable在后台逐周期根本不起作用,记不住价格,怎么回事。

4楼
admin 发表于:2010/10/29 12:51:13

如果你希望是软件退出后也能记住价格,请使用EXTGBDATASET

variable的作用是在第一个周期初始化,在后面的运行周期保持不变。

建议楼主认真学会金字塔图表调试技巧,会自己解决很多问题

5楼
z7c9 发表于:2010/10/29 13:00:51
以下是引用admin在2010-10-29 12:51:13的发言:

如果你希望是软件退出后也能记住价格,请使用EXTGBDATASET

variable的作用是在第一个周期初始化,在后面的运行周期保持不变。

建议楼主认真学会金字塔图表调试技巧,会自己解决很多问题

variable保持不变?比如

vairalbe:n=0;
n:=1;

if holding>0 then n:=2

 

假如第一个周期上holding=0;

第二个周期上holding>0;

那n还等于1?

 

在序列模式n应该等于1,而逐周期模式应该等于2吧?

6楼
admin 发表于:2010/10/29 13:03:17

holding只能在逐周期模式执行的函数

 

vairalbe:n=0;
n:=1;

你这么设等于每个周期都初始化赋值为1,无法实现全局变量的作用

 

vairalbe:n=1;

if holding>0 then n:=2
这样改才对
[此贴子已经被作者于2010-10-29 13:03:38编辑过]
7楼
z7c9 发表于:2010/10/29 13:26:36

这段代码在序列模式下可以输出log.txt,而在逐周期模式下必须注释掉n:=1才能输出log.txt文件。为什么?

variable:n=0;
if n=0 then begin
 debugfile('c:/log.txt',stklabel+'的n为%.0f',n);
 n:=1;
end;

 

 

[此贴子已经被作者于2010-10-29 13:35:25编辑过]
8楼
admin 发表于:2010/10/29 15:10:53

工作原理如下:

逐周期模式下,由于debugfile在最后一个周期才有效的函数,故最后一个周期的N=1,导致最后一个周期debugfile没有被执行

序列模式下,variable是没有作用的,故与普通序列变量一样,序列模式下金字塔是执行一个序列,故会在第一次解析公式时就去执行debugfile,因为执行到此是,N已经被解析成从第一个BAR到最后一个BAR的序列。

 

9楼
z7c9 发表于:2010/10/29 15:18:35
以下是引用admin在2010-10-29 15:10:53的发言:

工作原理如下:

逐周期模式下,由于debugfile在最后一个周期才有效的函数,故最后一个周期的N=1,导致最后一个周期debugfile没有被执行

序列模式下,variable是没有作用的,故与普通序列变量一样,序列模式下金字塔是执行一个序列,故会在第一次解析公式时就去执行debugfile,因为执行到此是,N已经被解析成从第一个BAR到最后一个BAR的序列。

 

序列是什么含义?是数组么?

10楼
fly 发表于:2010/10/29 15:49:40

模式说明 http://www.weistock.com/RunMode.htm

 

共11 条记录, 每页显示 10 条, 页签: [1] [2]


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