以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  限制一根K线只可开平一次  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=58450)

--  作者:qaz88
--  发布时间:2013/11/6 10:29:58
--  限制一根K线只可开平一次
金字塔最新版.我想限制一根K线只可开平一次.在模型中怎增加设置?谢!
--  作者:yukizzc
--  发布时间:2013/11/6 10:53:45
--  

定义一个变量num=0,开仓条件中加入num=0的判断,开仓动作后将其赋值为1即可。平仓的话同样写法。

 

num:=0;

 

if num=0 and cond then
begin
buy(1,1,market);
num:=1;
end


--  作者:qaz88
--  发布时间:2013/11/6 11:17:33
--  
如下程序请增加在当根K线开平仓1次.谢谢! 

KD:=cross(kp,0) and  kp15>0;          //开多条件
PD:=kp<0;          //平多条件
KK:=cross(0,kp) and kp15<0 ;          //开空条件
PK:=kp>0;          //平空条件

--  作者:yukizzc
--  发布时间:2013/11/6 11:24:19
--  

同一个交易语句在一根K线上本身就只会执行一次。

 

如果您要求是开多或者开空只执行其中一个,那么这么写

num:=0;

 

if num=0 and KD then
begin
buy(1,1,market);
num:=1;
end

if num=0 and KK then
begin
buy(1,1,market);
num:=1;
end


--  作者:qaz88
--  发布时间:2013/11/6 11:39:20
--  
金字塔最新版增加了当根K线可多次开平仓吗?我想改为只开.平.各1次.

如下请增加限制;
KD:=cross(kp,0) and  kp15>0;          //开多条件
PD:=kp<0;          //平多条件
KK:=cross(0,kp) and kp15<0 ;          //开空条件
PK:=kp>0;          //平空条件

--  作者:yukizzc
--  发布时间:2013/11/6 11:53:11
--  

那个说明是指不同开平语句,以前的版本单根K只能执行一次开多、平多、开空、平空的操作。

例如你有两个开仓语句只会执行第一条开仓。而3.0之后的版本是同一条开仓语句只会执行一次