   
等级: 机构版 
- 注册: 
 - 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
 
 
 
 
 |