Rss & SiteMap

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

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

标题:请问,为什么上述语句中的条件没有作用?

1楼
c100010913 发表于:2016/7/26 20:58:11
 IF HOLDING=0 THEN SECSTA:=STKINDI('','0T.SECST',0,6,0);

请问,为什么上述语句中的条件没有作用?

也就是,无论HOLDING的值是否为0,都会执行THEN 后面的STKINDI指令,为什么呢? 
2楼
wenarm 发表于:2016/7/27 8:32:06

你是怎么判断他执行的。你可以输出HOLDING。看下其条件的值。

或者也可以加debugfile函数在if语句中进行输出holding的值。

3楼
c100010913 发表于:2016/7/27 11:34:14
我的用这个命令的本意是:已经开仓后的情况下,不要刷新读取SECSTA参数值。
但是,这个命令下,即使已开仓(即HOLDING不等0),公式仍然会读取最新的引用SECSTA值,,,
我怎么才能达到我的本意?
4楼
c100010913 发表于:2016/7/27 11:40:34
我是在实时盘中,观察公式运行时,发现在已开仓的情况下,SECSTA的值仍然会被刷新的。。。

5楼
wenarm 发表于:2016/7/27 12:39:23

SECSTA是一个序列变量。赋给他的值,砸没有再次赋值前,它始终都是一个值,这个值你在其他位置调用时,是可以读取到的。

不理台理解你3楼的意思。举个例说下

你说的会刷新,指的是SECSTA:=STKINDI('','0T.SECST',0,6,0);这句话在执行?

6楼
c100010913 发表于:2016/7/27 13:49:07
是的,这个SECSTA变量值按说没有这句话的执行,它不应该刷新变化的。
三楼是我编写这个条件执行的用意说明,,,也许是我对函数的理解不到位,以致于无法做到条件控制。。。
但是,若能用别的方式达到这个目的,我是欣然接受的!

我的目的是:
已开仓的情况下,不要刷新读取变量值SECSTA;
在没有开仓的情况下,则保持同步引用STKINDI('','0T.SECST',0,6,0);

不知能否做到?
7楼
wenarm 发表于:2016/7/27 14:10:35

是的,这个SECSTA变量值按说没有这句话的执行,它不应该刷新变化的。

你是怎么判断它刷新的?你在你的语句里加入一句话,要是能输出的HOLDING不是0,则说明,这个判断语句进入。

IF HOLDING=0 THEN  begin

    SECSTA:=STKINDI('','0T.SECST',0,6,0);

    DEBUGFILE('D:\TEST.TXT','进入判断语句,holding=%.2f',HOLDING);

end

   

8楼
c100010913 发表于:2016/7/27 14:23:21
当公式已经持仓,有显示开仓信号及资金曲线变化,此时 HOLDING是不是非零状态?反之,公式无持仓,即为零状态,对否?
9楼
wenarm 发表于:2016/7/27 14:26:58

是的,holding是你图表上的虚拟市场。不是指你账户栏里的持仓。

你可以单独输出HOLDING,在图表上看下。它是有3中状态,正,负,0

10楼
c100010913 发表于:2016/7/27 15:50:49
所以,我编写的语句有什么语法或逻辑上的错误吗?
我要怎么实现我的意图呢?
共16 条记录, 每页显示 10 条, 页签: [1] [2]


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