交易手数的计算方法

[复制链接]
查看1174 | 回复4 | 张孟珂 | 2020-5-30 19:12:05 | 显示全部楼层 |阅读模式
我们在研究交易模型时,定义好开平仓条件后,就是开平仓的手数计算。

手数计算公式
FUND:=10000000; //定义初始资金
LOTS:=INTPART(FUND*0.4/(CLOSE*MARGIN*UNIT+FEE));// 计算开仓手数

在上述计算公式中,每一根k线上的收盘价是会对计算出来的手数有所影响,那就是说会影响到开平仓的手数,出现仓位并不能完全平掉的情况,具体测试内容我们在下面楼层中详细说明。

回复

使用道具 举报

张孟珂 | 2020-5-30 19:19:37 | 显示全部楼层
我们今天的测试结果是基于MACD指标在上证指数的。测试内容有:

1)  测试一条件:MACD金叉,买入;死叉卖出;开平仓的手数直接使用LOTS;
2)  测试二条件:MACD金叉,买入;死叉卖出;开平仓的手数使用LOTS、BKVOL、SKVOL去定义的中间变量;
回复

使用道具 举报

张孟珂 | 2020-5-30 19:20:23 | 显示全部楼层
一、测试内容说明
1)  测试一条件:MACD金叉,买入;死叉卖出;开平仓的手数直接使用LOTS;

【测试代码】
DIFF : EMA(CLOSE,SHORT) - EMA(CLOSE,LONG);// 短周期与长周期的收盘价的指数平滑移动平均值做差。
DEA  : EMA(DIFF,M);// DIFF的M个周期指数平滑移动平均
2*(DIFF-DEA),COLORSTICK;// DIFF减DEA的2倍画柱状线
//仓位计算
FUND:=10000000; //资金
LOTS:=INTPART(FUND*0.4/(C*MARGIN*UNIT+FEE));// 计算开仓手数
CROSSUP(DIFF,DEA),BPK(LOTS);//做多信号
CROSSDOWN(DIFF,DEA),SPK(LOTS);//做空信号

【交易明细说明】

交易手数A.png

2)  测试二条件:MACD金叉,买入;死叉卖出;开平仓的手数使用LOTS、BKVOL、SKVOL去定义的中间变量;

【测试代码】
DIFF : EMA(CLOSE,SHORT) - EMA(CLOSE,LONG);// 短周期与长周期的收盘价的指数平滑移动平均值做差。
DEA  : EMA(DIFF,M);// DIFF的M个周期指数平滑移动平均
2*(DIFF-DEA),COLORSTICK;// DIFF减DEA的2倍画柱状线
//仓位计算
FUND:=10000000; //资金
LOTS:=INTPART(FUND*0.4/(C*MARGIN*UNIT+FEE));// 计算开仓手数
//手数计算
// 1、设置一个头寸值,头寸是LOTS和BKVOL之间取最大值,或者在LOTS和SKVOL取最大值;
// BKTC:在LOTS和SKVOL之间取最大值;
BKTC : MAX(LOTS, SKVOL);//反手做多的手数
// SKTC:在LOTS和BKVOL之间取最大值;
SKTC : MAX(LOTS, BKVOL);//反手做空的手数
CROSSUP(DIFF,DEA),BPK(BKTC);//做多信号
CROSSDOWN(DIFF,DEA),SPK(SKTC);//做空信号

【交易明细说明】
交易手数B.png


【测试一、测试二对比】

交易手数-测试对比.png

二、测试小结
1、从测试一的测试报告中可以看出来,指令个数和信号格式是350次,但是交易次数只有59次,很明显是不正常的;从交易明细中可以看出来,平仓手数是和开仓手数是不相等的;
2、我们改变手数计算方法后,测试二报告中的交易次数有175次,同时交易明细中开仓手数和平仓手数都是相等的;因此在后面的模型研究中均可以使用测试二中的手数计算方法。

回复

使用道具 举报

西瓜 | 2020-6-1 23:47:24 | 显示全部楼层
// 1、设置一个头寸值,头寸是LOTS和BKVOL之间取最大值,或者在LOTS和SKVOL取最大值;
// BKTC:在LOTS和SKVOL之间取最大值;
BKTC : MAX(LOTS, SKVOL);//反手做多的手数
// SKTC:在LOTS和BKVOL之间取最大值;
SKTC : MAX(LOTS, BKVOL);//反手做空的手数
CROSSUP(DIFF,DEA),BPK(BKTC);//做多信号
CROSSDOWN(DIFF,DEA),SPK(SKTC);//做空信


这里的逻辑理能说说吗?
回复

使用道具 举报

张孟珂 | 2020-6-2 09:47:58 | 显示全部楼层
1、先说明:在LOTS 的计算公式中,用到了当根k线上的收盘价,所以LOTS 这个值是在不停变化的,如果首次开仓100手,持仓量就是100手;但是在反手条件触发时,你反手时计算出来的LOTS 值要比实际持仓量BKVOL 或者SKVOL 大或者小;
2、因此我们先设置一个中间变量 BKTC / SKTC;
3、如果现在是持多头仓位,那SKTC 就在LOTS 和BKVOL 两个值中间取最大值,这个最大值就是我们要反手做空或者平掉的仓位,否则会有仓位没有全部平掉。


回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

媒体报道
《价格行为学》基础篇 第08章(十五):ii可以成为最终旗形,ioi可以是趋势中的旗形
展茂林《价格行为学》基础篇 第08章(十五):ii可以成为最终旗形,ioi可以是趋势中的旗形
【说明】本文是《价格行为学》基础篇第八章视频8C第三讲的第五部分学习笔记,主题是ii
代码:海龟交易法则(2026新版)
admin代码:海龟交易法则(2026新版)
**** 本内容购买后可见 ****
《价格行为学》基础篇 第08章(十四):ii双内包K线与突破模式BOM
展茂林《价格行为学》基础篇 第08章(十四):ii双内包K线与突破模式BOM
【说明】本文是《价格行为学》基础篇第八章视频8C第三讲的第四部分学习笔记,主题是ii
《价格行为学》基础篇 第08章(十三):外包K线常是陷阱,止损太远的代价
展茂林《价格行为学》基础篇 第08章(十三):外包K线常是陷阱,止损太远的代价
【说明】本文是《价格行为学》基础篇第八章视频8C第三讲的第三部分学习笔记,主题是外
《价格行为学》基础篇 第08章(十二):ib、ii、ioi、oio、ob,内包外包的字母表
展茂林《价格行为学》基础篇 第08章(十二):ib、ii、ioi、oio、ob,内包外包的字母表
【说明】本文是《价格行为学》基础篇第八章视频8C第三讲的第二部分学习笔记,主题是内
《价格行为学》基础篇 第08章(十一):小型紧密交易区间,突破需要好的市场环境
展茂林《价格行为学》基础篇 第08章(十一):小型紧密交易区间,突破需要好的市场环境
【说明】本文是《价格行为学》基础篇第八章视频8C第三讲的学习笔记,主题是紧密交易区
《价格行为学》基础篇 第08章(十):内包K线与外包K线,收缩与扩张
展茂林《价格行为学》基础篇 第08章(十):内包K线与外包K线,收缩与扩张
【说明】本文是《价格行为学》基础篇第八章视频8B第二讲的学习笔记,主题是内包K线(i
《价格行为学》基础篇 第08章(九):多K线反转,高周期上就是一根反转K线
展茂林《价格行为学》基础篇 第08章(九):多K线反转,高周期上就是一根反转K线
【说明】本文是《价格行为学》基础篇第八章视频8B第二讲的学习笔记,主题是多K线反转
相关课程推荐
K线形态组合解析
k线图基础知识怎么学? 报名宽论VA鱼识别课
没有人可以做万能交易者,但通过不断学习吸收知识从而有一套属于自己交易系统的人,就是走向了盈利的大道。
90%的时间在研究大盘指数,9.9元学习宽论VA
一买就跌,一卖就涨? 股市七亏二平一赚,怎样才能成为赚钱的10%? 看准大盘胜算过半,炒股新手也能掌握的V

43

主题

192

回帖

799

积分

宽论高级会员

积分
799
  • 官方论坛

    提供最新 Discuz! 产品新闻、软件下载与技术交流