Rss & SiteMap

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

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

标题:这个exit用法对不对?

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

举个例子

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

if tholding=0 then exit;

 

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

3楼
人生如棋 发表于:2014/4/17 14:32:10

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

if tholding=0 then exit;

那么这个程序是放顶部的,会影响正常的程序
4楼
jinzhe 发表于:2014/4/17 14:43:27

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

[此贴子已经被作者于2014/4/17 14:43:52编辑过]
5楼
人生如棋 发表于:2014/4/17 14:54:44
写最后,下个tick,不是重复错误的交易?
6楼
every 发表于:2014/4/17 15:19:48

写法是对的.

放在前面,

 

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

共6 条记录, 每页显示 10 条, 页签: [1]


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