打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
关于连亏次数实现方法的聊天记录
三郞(lcgs005@qq.com)  21:49:49
@太极量化 有没有计算当前连亏次数的代码啊?
无极  21:59:28
用变量
无极  22:01:01
系统带的MAXSEQLOSS求魔有点不对
三郞(lcgs005@qq.com)  22:05:32
是啊,系统自带的函数有点不对
三郞(lcgs005@qq.com)  22:09:44
大家一起来研究下看如何做一个通用模块出来
太极量化  22:16:09
连亏七次可以计算的,就两个函数
三郞(lcgs005@qq.com)  22:16:30
怎么计算的,老兄,有代码吗
太极量化  22:18:50
count(NUMPROFIT(1)<0),n)
最近n笔交易的亏损次数
太极量化  22:20:07
count(NUMPROFIT(1)<0),n)=n就是连亏n次
三郞(lcgs005@qq.com)  22:20:20
n取的是交易笔数还是取的周期?
count(NUMPROFIT(1)<0),n)
--这个是取N周期内的总亏损次数吧?
太极量化  22:21:12
n就是最近的交易总次数
两年前就用过这个算法了
三郞(lcgs005@qq.com)  22:22:34
如果亏了三次,又赚了一次,再亏2次呢,这种情况下,我想要的返回值是2,但恐怕它会返回5
太极量化  22:23:57
所以,你想取得连亏几笔,就让n=你要的连亏次数
三郞(lcgs005@qq.com)  22:25:16
恩,如果=n可能是行的,但要实现我要的值恐怕还需要再想下办法
太极量化  22:26:05
你想要取啥?
三郞(lcgs005@qq.com)  22:26:37
我想取当前位置连亏次数的值
期货桥  22:26:51
其实现在探讨的问题远远比成天搞牛魔现实多了,这个才是赚钱的关键
太极量化  22:27:08
当前总要有个期限吧
没有期限就无法求啊
三郞(lcgs005@qq.com)  22:27:27
@期货桥 师兄,统计连亏次数的代码你有么
@太极量化 只要任何一次有利润了,就置为0
期货桥  22:28:02
没有啊,系统自带那个有问题,我一般心算
三郞(lcgs005@qq.com)  22:28:28
心算?那如何输入进策略里让它自动执行呢
太极量化  22:28:40
呵呵呵
期货桥  22:29:18
不是一堆策略在跑基础吗,在这个基础上,按策略属性各个统计,到点手动加,盈利减
太极量化  22:29:52
怎么加仓的,我就能算出来
期货桥  22:30:00
反正测试只能是测试
太极量化  22:30:14
大不了来个循环计算
期货桥  22:30:47
您可相信模型属性循环性,也不能相信测试上的盈利
这是用模型的基础
不要每天循环搞模型自虐了,没意思
太极量化  22:33:45
只要count(NUMPROFIT(1)<0),n)<n就说明n笔交易中至少有一笔盈利的
@三郞 
三郞(lcgs005@qq.com)  22:34:40
这思路好
太极量化  22:35:09
你至少要给个统计的笔数,才能算出当前的连亏笔数
三郞(lcgs005@qq.com)  22:35:57
但count里的n函数定义里是指要统计的周期哦,不是开平的笔数?
花非笑  22:36:28
三郎那个没什么意义啊
三郞(lcgs005@qq.com)  22:36:58
@花非笑 你试过了么?
太极量化  22:37:23
算了,直接排列统计就行了
期货桥  22:37:30
把心态放平和,用各自手中的工具赚不同维度那几十个点的年利润率,就这样搞吧,搞牛魔会循环致死的
三郞(lcgs005@qq.com)  22:37:40
直接排列统计?
期货桥  22:37:53
早点走出来吧,别成天测试了
花非笑  22:37:55
试过了
连续亏n次后开仓我都试过
没意义
对n进行优化
三郞(lcgs005@qq.com)  22:38:40
咋的呢
你的策略最大连亏是N,当当前的连亏与最大连亏相等时你再开仓撒

期货桥  22:39:59
万一下一年就是等不到那个连亏次数呢
三郞(lcgs005@qq.com)  22:40:50
那我就不交易,盈利率也超过参与人的70%撒
不做,不亏
太极量化  22:40:59
n:=if(NUMPROFIT(1)>0,0,if(NUMPROFIT(2)>0,0..  @三郞 就这么排列下去
期货桥  22:41:09
也对
花非笑  22:41:47
http://www.cxh99.com/2014/07/23/22074.shtml
这个有例子
你不信自己试试
意义不大
太极量化  22:42:38
用for next do循环计算更加清晰点
花非笑  22:42:54
就是申明几个全局变量
来赋值
就行了
三郞(lcgs005@qq.com)  22:43:24
@太极量化 
花非笑  22:43:48
NUMPROFIT(1)取得值不准
太极量化  22:46:01
那就在每笔平仓后计算盈亏,亏损,则n:=n+1;盈利,则n:=0;
管子  22:46:22
连亏之后 加仓搞
太极量化  22:46:43
这样就是要在每句平仓后做这个计算统计
管子  22:46:46
连亏超过3次 加倍

太极量化  22:46:53
@三郞 也简单点
管子  22:47:04
胜率80% 怕啥
期货桥  22:48:25
5年了,的承认一个现实:任何思路的模型有两种走法:,1不定期的走平;
2不定期的持续新高;
在这两种市况下都能生存的前提不是死跟,而是模型溢出利润那一笔来临的均衡性,这个均衡性可以使连亏次数,可以是最大回撤。。。。。。把握各自模型这一点,才是长久制胜的关键;换句话说,无论模型走平多久,你都能让利润根据你对自己模型的理解让利润溢出来,这才是关键!
云手2016  22:48:58
我觉得眼光要放大
我觉得太极那样把一个市场看成一个品种,这个思路有利于启发
无极  22:50:56
发觉群里个个都开始觉悟了。
太极量化  22:53:05
对于一个品种的连亏来加仓,恐怕会在某个时段加大回撤,一直触发止损位
云手2016  22:53:19
检验一个测试,一个是秒周期跑一下哈
一个大资金全市场跑一下,两个辅助,
太极量化  22:53:50
对于产品来说是,这是很要命的
云手2016  22:53:51
然后本身正常使用,感觉挺靠谱
张明峰  22:54:21
VARIABLE:SEQ_lOSS=0;
TRADE_ASSET:=VALUEWHEN(HOLDING=0 OR TYPEBAR(1,2)=0 OR TYPEBAR(1,4)=0,ASSET);
REF_TRADE_ASSET:=REF(TRADE_ASSET,1);
IF (TRADE_ASSET<>REF_TRADE_ASSET) THEN
BEGIN
IF TRADE_ASSET>REF_TRADE_ASSET THEN SEQ_LOSS:=0;
IF TRADE_ASSET<REF_TRADE_ASSET THEN SEQ_LOSS:=SEQ_LOSS+1;
END

连亏次数:SEQ_lOSS,LINETHICK0;
@三郞 这个可以取连亏次数
独立模块
太极量化  22:55:16
哈哈
我正在想到这个算法
还没写完,你就发出来了
呵呵呵
云手2016  22:56:11
我感觉重点好象是亏损幅度
无极  22:56:12

云手2016  22:56:32
如果一次亏2跳,一次亏2跳,10次还没有另一策略1次亏的猛
我觉得反而是好策略
趋势策略不就是反复试盘吗
三郞(lcgs005@qq.com)  22:57:08
@张明峰 
无极  22:57:18
亏损幅度相对靠谱,连亏次数点靠谱
亏损幅度相对靠谱,连亏次数有点不靠谱
云手2016  22:58:12
遇到坎坷的行情,连续用小亏换机会,也是正常的吧
无极  22:58:22
资金回撤多少加仓认为比较可行
 无极  22:58:22
资金回撤多少加仓认为比较可行
回撤可以计算到,连亏次数就不好说了
云手2016  22:59:18
除非对连亏计算的同时,合计共同亏损幅度
累计亏幅,
无极  22:59:46
是的
管子  23:00:06
这么绝对!
这得看什么模型!
太极量化  23:00:49
盈亏的不均衡性,任何办法都是双刃剑
至于是加仓还是减仓,还是得看对风险的承受能力来定
云手2016  23:01:23
所以我就说,这里面是按了葫芦飘起来
顾此失彼,其实一点点支点都没有
管子  23:01:43
哥的模型 连亏3次倍仓1次 绩效增加5%

不要想当然
云手2016  23:02:14
逆加仓属于累积性风险
不发生则已,发生就是大风险
太极量化  23:02:29
绩效一般是增加的,但还要看回撤增加否?
云手2016  23:02:39
所以一般都是讨论顺加
三郞(lcgs005@qq.com)  23:03:07
今天晚上的讨论氛围很好啊,真的,
云手2016  23:03:13
每次你逆加成功,离你暴发大风险的危机时刻越近
三郞(lcgs005@qq.com)  23:03:48
投资的路,长,且难行,大家在娱乐之余一定多多分享交流,共赴坦途

                                                                           
无极  22:28:20
明天给你
在公司电脑里
无极  22:28:34
INPUT:N1(9,1,100,1),SS(1,1,100);
VARIABLE:该笔盈亏:=0;模拟持仓:=0,模拟开仓价:=0,模拟平仓价:=0,真实系统下单开关:=0;
LC := REF(CLOSE,1);
RSI:=SMA(MAX(CLOSE-LC,0),N1,1)/SMA(ABS(CLOSE-LC),N1,1)*100;//RSI指标默认N1为9
9日收盘价指数平均:REF(EMA(CLOSE,9),1);
19日最高价收盘价平均:REF(EMA(HIGH,19),1);
20日高点:=REF(HHV(H,20),1);
20日低点:=REF(LLV(L,20),1);
手数:=SS;
//交易条件
开多条件:=9日收盘价指数平均>=19日最高价收盘价平均 AND REF(RSI,1)<70;
开空条件:=9日收盘价指数平均<19日最高价收盘价平均 AND REF(RSI,1)>30;
平多条件:=C<20日低点;
平空条件:=C>=20日高点;

//交易系统
//模拟交易模块
IF 开多条件 AND 模拟持仓=0 THEN BEGIN
   模拟开仓价:=CLOSE;//记录开仓价
   模拟持仓:=1;//模拟持仓为1
END
IF 平多条件 AND 模拟持仓=1 THEN BEGIN
   模拟平仓价:=CLOSE;//记录平仓价
   该笔盈亏:=模拟平仓价-模拟开仓价;//在模拟交易模块中我们只需计算上一笔交易是赚还是亏,在这里我只计算盈亏最后的点数
   模拟持仓:=0;//将全局变量*模拟持仓*初始化为0
   IF 该笔盈亏>0 THEN BEGIN
    真实系统下单开关:=0;//0代表模拟交易上一笔是赚钱的。
    模拟开仓价:=0;//将全局变量*模拟开仓价*初始化为0
    模拟平仓价:=0;//将全局变量*模拟开仓价*初始化为0
   END
   IF 该笔盈亏<=0 THEN BEGIN
    真实系统下单开关:=1;//1代表模拟交易上一笔是亏钱的。
    模拟开仓价:=0;//将全局变量*模拟开仓价*初始化为0
    模拟平仓价:=0;//将全局变量*模拟平仓价*初始化为0  
   END
 END
 
IF 开空条件 AND 模拟持仓=0 THEN BEGIN
   模拟开仓价:=CLOSE;//记录开仓价
   模拟持仓:=-1;//模拟持仓为-1
END
IF 平空条件 AND 模拟持仓=-1 THEN BEGIN
   模拟平仓价:=CLOSE;//记录平仓价
   该笔盈亏:=模拟开仓价-模拟平仓价;//在模拟交易模块中我们只需计算上一笔交易是赚还是亏,在这里我只计算盈亏最后的点数
   模拟持仓:=0;//将全局变量*模拟持仓*初始化为0
   IF 该笔盈亏>0 THEN BEGIN
    真实系统下单开关:=0;//0代表模拟交易上一笔是赚钱的。
    模拟开仓价:=0;//将全局变量*模拟开仓价*初始化为0
    模拟平仓价:=0;//将全局变量*模拟开仓价*初始化为0
   END
   IF 该笔盈亏<=0 THEN BEGIN
    真实系统下单开关:=1;//1代表模拟交易上一笔是亏钱的。
    模拟开仓价:=0;//将全局变量*模拟开仓价*初始化为0
    模拟平仓价:=0;//将全局变量*模拟开仓价*初始化为0
   END
 END
 
思路这个
要不自己改改
 三郎  22:28:58
恩,
无极  22:29:00
加个变量
 三郎  22:29:02
先谢谢了
无极  22:29:03
就可以了
那些方法都试了
就这个可以

我们已经是好友了,现在开始对话吧!
无极  22:30:10
自己加个变量控制也可以
 三郎  22:30:31
我用全局变量是可以写出来,但全局变量无法测试
无极  22:30:44
INPUT:N1(9,1,100,1),SS(1,1,100);
VARIABLE:该笔盈亏:=0;模拟持仓:=0,模拟开仓价:=0,模拟平仓价:=0,真实系统下单开关:=0;
LC := REF(CLOSE,1);
RSI:=SMA(MAX(CLOSE-LC,0),N1,1)/SMA(ABS(CLOSE-LC),N1,1)*100;//RSI指标默认N1为9
9日收盘价指数平均:REF(EMA(CLOSE,9),1);
19日最高价收盘价平均:REF(EMA(HIGH,19),1);
20日高点:=REF(HHV(H,20),1);
20日低点:=REF(LLV(L,20),1);
手数:=SS;
//交易条件
开多条件:=9日收盘价指数平均>=19日最高价收盘价平均 AND REF(RSI,1)<70;
开空条件:=9日收盘价指数平均<19日最高价收盘价平均 AND REF(RSI,1)>30;
平多条件:=C<20日低点;
平空条件:=C>=20日高点;

//交易系统
//模拟交易模块
IF 开多条件 AND 模拟持仓=0 THEN BEGIN
   模拟开仓价:=CLOSE;//记录开仓价
   模拟持仓:=1;//模拟持仓为1
END
IF 平多条件 AND 模拟持仓=1 THEN BEGIN
   模拟平仓价:=CLOSE;//记录平仓价
   该笔盈亏:=模拟平仓价-模拟开仓价;//在模拟交易模块中我们只需计算上一笔交易是赚还是亏,在这里我只计算盈亏最后的点数
   模拟持仓:=0;//将全局变量*模拟持仓*初始化为0
   IF 该笔盈亏>0 THEN BEGIN
    真实系统下单开关:=0;//0代表模拟交易上一笔是赚钱的。
    模拟开仓价:=0;//将全局变量*模拟开仓价*初始化为0
    模拟平仓价:=0;//将全局变量*模拟开仓价*初始化为0
   END
   IF 该笔盈亏<=0 THEN BEGIN
    真实系统下单开关:=1;//1代表模拟交易上一笔是亏钱的。
    模拟开仓价:=0;//将全局变量*模拟开仓价*初始化为0
    模拟平仓价:=0;//将全局变量*模拟平仓价*初始化为0  
   END
 END
 
IF 开空条件 AND 模拟持仓=0 THEN BEGIN
   模拟开仓价:=CLOSE;//记录开仓价
   模拟持仓:=-1;//模拟持仓为-1
END
IF 平空条件 AND 模拟持仓=-1 THEN BEGIN
   模拟平仓价:=CLOSE;//记录平仓价
   该笔盈亏:=模拟开仓价-模拟平仓价;//在模拟交易模块中我们只需计算上一笔交易是赚还是亏,在这里我只计算盈亏最后的点数
   模拟持仓:=0;//将全局变量*模拟持仓*初始化为0
   IF 该笔盈亏>0 THEN BEGIN
    真实系统下单开关:=0;//0代表模拟交易上一笔是赚钱的。
    模拟开仓价:=0;//将全局变量*模拟开仓价*初始化为0
    模拟平仓价:=0;//将全局变量*模拟开仓价*初始化为0
   END
   IF 该笔盈亏<=0 THEN BEGIN
    真实系统下单开关:=1;//1代表模拟交易上一笔是亏钱的。
    模拟开仓价:=0;//将全局变量*模拟开仓价*初始化为0
    模拟平仓价:=0;//将全局变量*模拟开仓价*初始化为0
   END
 END
 
//真实下单模块 
平空:SELLSHORT(平空条件 AND HOLDING<0,手数,MARKET);
平多:SELL(平多条件 AND HOLDING>0,手数,MARKET);
开多:BUY(开多条件 AND 真实系统下单开关=1 AND HOLDING=0,手数,MARKET);
开空:BUYSHORT(开空条件 AND 真实系统下单开关=1 AND HOLDING=0,手数,MARKET);
 
 三郎  22:34:05
用了变量后可以图表测试么?
无极  22:35:23
不亏连比如是1手
连亏几手加仓
是不是要这个功能?
 三郎  22:36:08
是的,

李永强的系统目前最主要的功能就是这个
无极  22:36:28
那你控制手数就可以了
 三郎  22:36:43
就是准备用这个连亏次数来控制手数
无极  22:36:50
那可以的
我明天找找给你
以前有整过
 三郎  22:37:07
好的,谢谢
你当时写出来后测试效果如何?
无极  22:37:40
好象可以用吧
很少人用这东东
 三郎  22:38:27
恩,软件上的函数是错的,但因用的人少,没修正
无极  22:38:38
是的
以前思路是控制手数
 三郎  22:40:12
恩,主要是用来控制手数,另外可以用它来避开最大连亏数
无极  22:41:11
效果可以跟你想的有差距
不是连亏几次加仓就挣的
INPUT:N1(9,1,100,1),SS(1,1,100);VARIABLE:该笔盈亏:=0;模拟持仓:=0,模拟开仓价:=0,模拟平仓价:=0,累计盈亏次数:=0;LC := REF(CLOSE,1);RSI:=SMA(MAX(CLOSE-LC,0),N1,1)/SMA(ABS(CLOSE-LC),N1,1)*100;//RSI指标默认N1为99日收盘价指数平均:REF(EMA(CLOSE,9),1);19日最高价收盘价平均:REF(EMA(HIGH,19),1);20日高点:=REF(HHV(H,20),1);20日低点:=REF(LLV(L,20),1);手数:=SS;//交易条件开多条件:=9日收盘价指数平均>=19日最高价收盘价平均 AND REF(RSI,1)<70;开空条件:=9日收盘价指数平均<19日最高价收盘价平均 AND REF(RSI,1)>30;平多条件:=C<20日低点;平空条件:=C>=20日高点;
//交易系统      //模拟交易模块IF 开多条件 AND 模拟持仓=0 THEN BEGIN   模拟开仓价:=CLOSE;//记录开仓价   模拟持仓:=1;//模拟持仓为1ENDIF 平多条件 AND 模拟持仓=1 THEN BEGIN   模拟平仓价:=CLOSE;//记录平仓价   该笔盈亏:=模拟平仓价-模拟开仓价;//在模拟交易模块中我们只需计算上一笔交易是赚还是亏,在这里我只计算盈亏最后的点数   模拟持仓:=0;//将全局变量*模拟持仓*初始化为0   IF 该笔盈亏>0 THEN BEGIN    累计盈亏次数:=0;    模拟开仓价:=0;//将全局变量*模拟开仓价*初始化为0    模拟平仓价:=0;//将全局变量*模拟开仓价*初始化为0   END   IF 该笔盈亏<=0 THEN BEGIN    累计盈亏次数:=累计盈亏次数+1;    模拟开仓价:=0;//将全局变量*模拟开仓价*初始化为0    模拟平仓价:=0;//将全局变量*模拟平仓价*初始化为0     END END IF 开空条件 AND 模拟持仓=0 THEN BEGIN   模拟开仓价:=CLOSE;//记录开仓价   模拟持仓:=-1;//模拟持仓为-1ENDIF 平空条件 AND 模拟持仓=-1 THEN BEGIN   模拟平仓价:=CLOSE;//记录平仓价   该笔盈亏:=模拟开仓价-模拟平仓价;//在模拟交易模块中我们只需计算上一笔交易是赚还是亏,在这里我只计算盈亏最后的点数    模拟持仓:=0;//将全局变量*模拟持仓*初始化为0   IF 该笔盈亏>0 THEN BEGIN    累计盈亏次数:=0;    模拟开仓价:=0;//将全局变量*模拟开仓价*初始化为0    模拟平仓价:=0;//将全局变量*模拟开仓价*初始化为0   END   IF 该笔盈亏<=0 THEN BEGIN    累计盈亏次数:=累计盈亏次数+1;    模拟开仓价:=0;//将全局变量*模拟开仓价*初始化为0     模拟平仓价:=0;//将全局变量*模拟开仓价*初始化为0   END END
平空:SELLSHORT(平空条件 AND HOLDING<0,手数,MARKETR);平多:SELL(平多条件 AND HOLDING>0,手数,MARKETR);开多:BUY(开多条件 AND 累计盈亏次数>=3 AND HOLDING=0,手数,MARKETR);开空:BUYSHORT(开空条件 AND 累计盈亏次数>=3 AND HOLDING=0,手数,MARKETR);
无极  22:42:17
以前备恢的
以前备份的
有点乱
自己改改
 三郎  22:43:03
好的,谢谢
无极  22:43:06
记得累记次数清零
大于几次来归0
洗澡了,自己研究一下吧
思路就这些
 三郎  22:43:39
无极  22:49:06
最好的思路就是连亏次数求魔最好。
可以收烟灰修正一下
 三郎  22:49:37
用的人少,他估计不想花时间,除非我们都跟他说
无极  22:49:50
以前提了

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
开板预警公式
期货的两种结算方式?
程序化交易实战之成交量变动速率与海龟交易通道融合策略!
“地倍成交量”的另一个选股公式,倍
“出手必赚主图”的另一个选股公式,小牛市,胜率52.59%
交易专业名词解释(1)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服