以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  这个exit用法对不对?  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=64057)

--  作者:qq代人发帖
--  发布时间:2014/4/17 14:16:18
--  这个exit用法对不对?
 请教:
if  TACCOUNT2(31,\'41003519\') >500 then 
begin
   tsell(1,0,mkt,0,0,\'41003519\');
   tsellshort(1,0,mkt,0,0,\'41003519\');
   exit;
end
当手续费满足后,后面所以语句不能在被执行,这个exit用法对不对,还是有其他别的用法,这个方法是防止死循环,拼命来回交易

--  作者:jinzhe
--  发布时间:2014/4/17 14:21:23
--  

举个例子

if TACCOUNT2(31,\'41003519\') >500  then exit;

if tholding=0 then exit;

 

在某个条件满足之后就exit,你这个不知道有什么意义


--  作者:人生如棋
--  发布时间:2014/4/17 14:32:10
--  

手续费大于500的意思,就是100%肯定有错误发生了,因为不发发生错误的话,手续费不会超过200,如果直接退出,那么可能还有错误的仓位存在,所以需要平仓。另外

if tholding=0 then exit;

那么这个程序是放顶部的,会影响正常的程序
--  作者:jinzhe
--  发布时间:2014/4/17 14:43:27
--  

你要把这类的exit有写在策略最后,不能写开头

[此贴子已经被作者于2014/4/17 14:43:52编辑过]

--  作者:人生如棋
--  发布时间:2014/4/17 14:54:44
--  
写最后,下个tick,不是重复错误的交易?
--  作者:every
--  发布时间:2014/4/17 15:19:48
--  

写法是对的.

放在前面,

 

需要自己注意的是:如果有全局变量,EXIT是直接退出程序,后面不再执行,这个中断会影响到全局变量的赋值