以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  为什么这么写,fstrad一直是1? 从来没有0 的时候?  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=60497)

--  作者:qq代人发帖
--  发布时间:2013/12/31 11:09:56
--  为什么这么写,fstrad一直是1? 从来没有0 的时候?

请教:

怎样对variable 声明的变量再次复制
赋值?

variable:fstrad=0;
if fstrad=0 then begin
  buy (1,2,market);
  fstrad:=1
end
为什么这么写,fstrad一直是1? 从来没有0 的时候?

[此贴子已经被作者于2013/12/31 11:11:33编辑过]

--  作者:jinzhe
--  发布时间:2013/12/31 11:14:18
--  

你的思路是什么?无条件对fs赋值为1?没有重置数值的条件?


--  作者:rockytan
--  发布时间:2013/12/31 11:23:27
--  

我的思路是当第一次执行这个策略的时候fstrad=0,只要交易条件达成,就开仓,以后交易条件达成的时候要考虑holding的情况,第一次不考虑

 


--  作者:jinzhe
--  发布时间:2013/12/31 11:28:55
--  

那得这么写

variable:fstrad=0;
if fstrad=0 and 下单条件  then begin
  buy (1,2,market);
  fstrad:=1
end

 

if holding=0 and 下单条件 and fstrad=1 then begin

    buy........;

end

 

如果要重置变量,那么再加一句

if 重置条件 then

     fstrad:=0;

end



--  作者:rockytan
--  发布时间:2013/12/31 11:44:08
--  

我是这样写的

variable:firsttrade=0;

IF (FIRSTTRADE=1 AND 开多平空 = 1) THEN
  BEGIN
  SELLSHORT (1,2,MARKET);
  BUY (开多平空,2,NEXTOPEN);
  maxprofit:=0;
END
IF (FIRSTTRADE = 0 AND 开多平空 = 1 ) THEN
  BEGIN
  BUY (开多平空,2,NEXTOPEN);
  FIRSTTRADE=1;

但是,我观察firsttrade的值一直都是1,但是当开多平空条件没有达成的时候应该一直是0 啊


END


--  作者:rockytan
--  发布时间:2013/12/31 13:12:58
--  
我是一个账户里有两个策略跑,平仓的时候我不想都平掉,每个策略只平掉自己的,这个应该如何写?
--  作者:jinzhe
--  发布时间:2013/12/31 13:13:10
--  

但是当开多平空条件没有达成的时候应该一直是0 啊

 

那么既然有这个思路,那你要写出来啊,全局变量定义好后不做赋值处理, 这个值怎么会变

加一句

if not(开多平空条件) then firsttrade:=0;