以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  减仓次数的控制  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=160369)

--  作者:waimm2020
--  发布时间:2017/12/13 8:31:27
--  减仓次数的控制
老师,我写了一个减仓语句,可是在测试中确不能保证只减仓一次,源码如下,请教老师帮忙看看问题出现在哪?
variable : EXCPT=0;                    //平仓次数                
//多单减仓条件
JCDD:=HH20-ATR;
KDZS:=IF(JCDD>C,1,0);

//多单减仓
IF HOLDING>0 AND KDZS=1 THEN BEGIN//若持有多单并且满足减仓多单条件
  SELL(KDZS=1,HOLDING/2,LIMITR,JCDD-MINDIFF),ignorecheckprice;//减仓多单
  EXCPT:=1;
END

--  作者:FireScript
--  发布时间:2017/12/13 8:51:37
--  
你这个没有限制到减仓,EXCPT加入到减仓条件里面去。
--  作者:waimm2020
--  发布时间:2017/12/13 9:15:10
--  
//多单减仓
IF HOLDING>0 AND KDZS=1 AND EXCPT=0  THEN BEGIN
  SELL(KDZS=1,HOLDING/2,LIMITR,JCDD-MINDIFF),ignorecheckprice;
  EXCPT:=1;
END
这样改写不对。没有减仓动作。怎么写才对?

--  作者:waimm2020
--  发布时间:2017/12/13 9:33:35
--  
我用在十五分钟里面


--  作者:waimm2020
--  发布时间:2017/12/13 9:41:44
--  
这样也不对,在十五分钟图表里面不需要重置减仓次数的。当持有多单时,价格回撤到一定幅度,减仓一次,有且只减仓一次。
--  作者:FireScript
--  发布时间:2017/12/13 9:48:49
--  
你输出下你的减仓条件,你看下是否有成立过。 全局变量的控制是没问题的。
--  作者:waimm2020
--  发布时间:2017/12/13 9:53:53
--  
//多单减仓条件
JCDD:=HHV(H,20)-ATR;
KDZS:=IF(JCDD>C,1,0);
这是减仓条件
条件成立,后面联系减仓几次,我需要的是只减仓一次。

[此贴子已经被作者于2017/12/13 9:54:11编辑过]

--  作者:FireScript
--  发布时间:2017/12/13 9:57:50
--  

你在什么模式下运行的,序列模式下 全局变量会失效的。


--  作者:waimm2020
--  发布时间:2017/12/13 10:01:01
--  
逐K模式。图表系统
--  作者:FireScript
--  发布时间:2017/12/13 10:06:48
--  
方便的话,可以把完整代码帖下。我本地调下。
[此贴子已经被作者于2017/12/13 10:07:43编辑过]