开拓者期货期权程序化系统交易论坛

标题: 想到一个限制亏损次数的简单方法。 请指正 [打印本页]

作者: jvya    时间: 2008-1-27 13:40:46     标题: 想到一个限制亏损次数的简单方法。 请指正

如下情况:
为日内交易 、
一天总交易次数控制在10次、
亏损次数到5次时停止交易,
以此控制潜在风险。

最先用的办法 是用全局变量 记录每次的开仓价。 计算出亏损次数。
这方法挺麻烦。

后来又想到一个算法
用  动态权益的函数
在每次反仓时, 取出此时点 的动态权益。记入全局变量。
然后,
和前一个交易时点的动态权益。进行对比。
用权益的增减,来累积 亏损次数。
作者: jvya    时间: 2008-1-27 16:10:02

?找不到动态权益函数?
够背的
作者: wg3k99    时间: 2008-1-27 21:58:18

你可以用循环变量来控制,也可以查询总持仓,买持仓,卖持仓来控制
作者: jvya    时间: 2008-1-29 15:22:40

谢谢
因为回溯测试没有 函数 取到动态权益。
只能自己写代码求动态权益。
反倒麻烦。回溯 就放弃这种思路了
但实盘帐号可以取动态权益,
只能二套算法了。
作者: jvya    时间: 2008-2-3 12:30:52

没有证据表明亏损次数达到一定数目停止交易可以提高收益期望
不必怀疑。
因为根本不可能提高 。
只能减低。
作者: jvya    时间: 2008-2-23 23:40:24

要说我编程序真是外行,进展缓慢。
不过,每个问题最终也能找到好办法,TB真是一个使用自由的平台啊。
终于找到一种简单的代码来控制亏损次数。
可以单独写成一块字段。不用插到交易代码行间,更清晰明了。
虽然算法是间接实现,但效果非常理想,
贴上来,或许有用。
顺便说一句,这日内用
算法解释:
利用系统函数
开盘时取出
NumLosTrades: 获得亏损交易的总次数。
存入全局变量(0)。
行情运行中,当前BAR的
NumLosTrades: 获得亏损交易的总次数。
此值 差去 存入的全局变量(0),
由此,得出亏损次数。
同样的逻辑,稍微改动一下,就能求出日内赢利次数、日内连赢次数、日内连亏次数等。

vars
Numeric   daylos;
Begin
if(date != date[1])//开盘
{SetGlobalVar(0,NumLosTrades);} //开盘将总亏损次数存入全局变量
daylos=NumLosTrades-GetGlobalVar(0);//求出当前BAR时,日内亏损次数
end

总共才三行。
也可以用序列变量。
作者: 孤舟骑浪    时间: 2008-2-24 08:56:04

恭喜恭喜,进步神速.
作者: tradeblazer    时间: 2008-2-24 10:07:54

原帖由 jvya 于 2008-2-23 23:40 发表
要说我编程序真是外行,进展缓慢。
不过,每个问题最终也能找到好办法,TB真是一个使用自由的平台啊。
终于找到一种简单的代码来控制亏损次数。
可以单独写成一块字段。不用插到交易代码行间,更清晰明了。
虽然算法是间接实 ...



看来已经慢慢理解了序列变量和全局变量了,可喜可贺啊
作者: jvya    时间: 2008-2-25 23:30:32

日内交易员的日子,就象代码中的变量值一样不安定啊
愿我早日成长到能得以脱离日内交易。

[ 本帖最后由 jvya 于 2008-2-25 23:33 编辑 ]
作者: dslgjnxj    时间: 2017-2-23 13:19:08






欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/) Powered by Discuz! X2