等级: 机构版
- 注册:
- 2021-5-20
- 曾用名:
|
您好,
之前我一直是图表交易,想学习一下后台交易,但是遇到了一点问题。
我想实现如下功能,
第一步、把所有的商品期货连续 合约中,30分钟金叉的品种选出来,放入:商品期货股票池(自定义),不是金叉状态的,清理出:商品期货股票池
第二步、对商品期货股票池进行监控,把前一个交易日成交量最大的10个品种选择出来,加入到:交易池(自定义)
第三步、对交易池品种进行监控,金叉状态的,开多;死叉状态,平多。
我已经下载了商品的数据,测试的是2022-1-1日到2022-5-57日,但是遇到了问题,选择的品种数量不对,最后的买入也没有开单。我把我设置的流程贴图入下,您帮我看看,到底那里出了问题,谢谢!
1、函数名称:30F金叉
//代码如下
DIF:=EMA(CLOSE,12)-EMA(CLOSE,26);
DEA:=EMA(DIF,9);
MACD:=2*(DIF-DEA);
30F金叉:=DIF>DEA;
IF 30F金叉 THEN BEGIN
ADDTOBLOCK(STKLABEL,'商品期货股票池');
END
2、函数名称:30F死叉
DIF:=EMA(CLOSE,12)-EMA(CLOSE,26);
DEA:=EMA(DIF,9);
MACD:=2*(DIF-DEA);
30F死叉:=DIF<DEA;
IF 30F死叉 THEN BEGIN
DELETEFROMBLOCK(STKLABEL,'商品期货股票池');
END
//30F金叉 和30F死叉,目的是建立商品期货股票池'
3、函数名称:成交额
昨日成交额:REF(AMOUNT,1);
4、函数名称:可交易池
成交量排名:=TINSORT('商品期货股票池','成交额.昨日成交额',1);
IF 成交量排名<=40 THEN BEGIN
ADDTOBLOCK(STKLABEL,'交易池');
END
5、函数名称:5F金叉
variable:B[1]:=(1);
variable:lots=0;
DIF:=EMA(CLOSE,12)-EMA(CLOSE,26);
DEA:=EMA(DIF,9);
MACD:=2*(DIF-DEA);
金叉:=DIF>DEA;
死叉:=CROSS(DEA,DIF);
KDuo:=金叉;
PDuo:=死叉;
IF lots>0 AND PDuo THEN BEGIN
TSell(1,B[1],MKT);
lots:=0;
END
IF KDuo and lots=0 THEN BEGIN
TBuy(1,B[1],MKT);
lots:=B[1];
END
持仓:lots,linethick0;
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?
x
|