金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 89|回复: 0

为什么锚定大盘下单到IF00股指期货不能成功呢?

[复制链接]

5

主题

19

帖子

19

积分

Rank: 1

等级: 新手上路

注册:
2025-4-22
曾用名:
发表于 2025-8-25 09:54 | 显示全部楼层 |阅读模式
大咖帮我看一下代码啊,我的策略意图是锚定上证指数大盘下单到IF00股指期货合约上,怎么都不能下单成功。后台监控中只有对大盘的预警下单记录,没有对IF00的预警的下单成交记录。我没有采用篮子交易,监控输出也没有勾选。帮我看看这个代码吧

//后台表格策略
INPUT:POSNUM(5,1,10,1);     //定义交易的手数,3手。

ZH1:='301806';
PZ1:'SH000001';
持仓量:=800000;
warning_line:=800000;         //可用资金警戒线。

//交易逻辑的基本变量设置:
做空线:3947,COLORMAGENTA;        //日内棘轮做空位置。
锁仓线a:3900,COLORWHITE;          //日内棘轮锁仓做空位置。
压力线2:3888,COLORWHITE;        //多头减仓位置2。
压力线1:3857,COLORWHITE;        //多头减仓位置1。

开盘位a:3836,COLORYELLOW;          //温和高开位置。
开盘位b:3825,COLORYELLOW;          //平开位置。

支撑线1:3809,COLORWHITE;        //空头减仓位置1。
支撑线2:3791,COLORWHITE;        //空头减仓位置2。
锁仓线b:3772,COLORWHITE;         //日内棘轮锁仓做多位置。
做多线:3772,COLORMAGENTA;         //日内棘轮做多位置。

//交易条件:
con4:=indexh>=做空线;
con3:=indexh>=锁仓线a;
con2:=indexh>=压力线2;
con1:=indexh>=压力线1;
con0:=indexh>=开盘位a;

con9:=indexl<=开盘位b;
con8:=indexl<=支撑线1;
con7:=indexl<=支撑线2;
con6:=indexl<=锁仓线b;
con5:=indexl<=做多线;

//控制日内交易次数
IF TTOTALDAYTRADE>=10 THEN EXIT;

//开盘对开进场交易条件
KD:=open;
KK:=open;

//交易执行信号:
开多条件1:=TBUY(KD and todayholding=0,5,MKT);                  //开盘位置做多单条件。
开空条件1:=TBUYSHORT(KK and todayholding=0,5,MKT);        //开盘位置做空单条件。

//交易系统发布指令:
//对开做多指令:
IF TIME>=092500 and TIME<=095500 and 开多条件1 then begin
TBUY(开多条件1 and TBUYHOLDINGEX(ZH1,'IF00',0)<5,5,MKT,0,0,ZH1,'IF00');
END

//对开做空指令:
IF TIME>=092500 and TIME<=095500 and 开空条件1 then begin
TBUYSHORT(开空条件1 and TSELLHOLDINGEX(ZH1,'IF00',0)<5,5,MKT,0,0,ZH1,'IF00');
END

//下跌趋势。
//如果开盘位置在开盘位a,向下跌破开盘位b,同时确认大盘跌破con9,则平仓多单。
IF open=开盘位a and todayholding<>0 and indexl=con9 then begin
TSELL(close<开盘位b and TSELLHOLDINGEX(ZH1,'IF00',0)<5,3,MKT,0,0,ZH1,'IF00');          //开盘a的多单,跌破开盘位b,限价平仓多单。
END

//如果大盘指数下跌=con8,跌破支撑线1,则减仓1手。
IF indexl=con8 and todayholding<0 then begin
TSELLSHORT(close<支撑线1 and TSELLHOLDINGEX(ZH1,'IF00',0)<5,1,MKT,0,0,ZH1,'IF00');      //开盘位a的空单,跌破支撑线1,则平仓空单35%。
END

//如果大盘指数下跌=con7,跌破支撑线2,则再减仓1手。
IF indexl=con7 and todayholding<0 then begin
TSELLSHORT(close<支撑线2 and TSELLHOLDINGEX(ZH1,'IF00',0)<5,1,MKT,0,0,ZH1,'IF00');       //开盘位a的空单,跌破支撑线2,则平仓空单50%。
END

//如果大盘指数下跌=con6,跌破锁仓线b,则开多单锁仓今天进场的空单剩余手数。
IF indexl=con6 and todayholding<0 then begin
TBUY(close<锁仓线b and TBUYHOLDINGEX(ZH1,'IF00',0)<5,1,MKT,0,0,ZH1,'IF00');      //开盘位a的空单,跌破锁仓线b,则做多单,开仓手数是空单剩余手数。
END

//如果大盘指数下跌=con5,跌破做多线,则开多单,正常手数。
IF indexl=con5 and todayholding<>0 then begin
TBUY(close<做多线 and TBUYHOLDINGEX(ZH1,'IF00',0)<5,3,MKT,0,0,ZH1,'IF00');      //开盘位a的空单,跌破锁仓线b,则做多单,开仓手数是空单剩余手数。
END

//上涨趋势。
//如果开盘位置=开盘b,向上突破con0,则平仓空单。
IF  open=开盘位b and todayholding<>0 and indexh=con0 then begin
TSELLSHORT(close>开盘位a and TSELLHOLDINGEX(ZH1,'IF00',0)<5,3,MKT,0,0,ZH1,'IF00');        //开盘b的多单,向上突破开盘位a,限价平仓空单。
END

//如果大盘指数=con1,向上突破压力线1,则减仓多单1手。
IF  indexh=con1 and todayholding>0 then begin
TSELL(close>压力线1 and TBUYHOLDINGEX(ZH1,'IF00',0)<5,1,MKT,0,0,ZH1,'IF00');        //开盘b的多单,向上突破压力线1,限价平仓多单35%。
END

//如果大盘指数=con2,向上突破压力线2,则减仓多单1手。
IF  indexh=con2 and todayholding>0 then begin
TSELL(close>压力线2 and TBUYHOLDINGEX(ZH1,'IF00',0)<5,1,MKT,0,0,ZH1,'IF00');        //开盘b的多单,向上突破压力线2,限价平仓多单1手。
END

//如果大盘指数=con3,向上突破锁仓线a,则开仓空单锁仓今天进场的多单剩余手数100%。
IF  indexh=con3 and todayholding>0 then begin
TBUYSHORT(close>锁仓线a and TSELLHOLDINGEX(ZH1,'IF00',0)<5,1,MKT,0,0,ZH1,'IF00');        //开盘b的多单,向上突破锁仓线a,限价开空单今仓剩余手数的1手。
END

//如果大盘指数=con4,向上突破做空线,则开仓空单,正常手数。
IF  indexh=con4 and todayholding<>0 then begin
TBUYSHORT(close>做空线 and TSELLHOLDINGEX(ZH1,'IF00',0)<5,3,MKT,0,0,ZH1,'IF00');        //开盘b的多单,向上突破锁仓线a,限价开空单,数量是正常手数。
END

//监控持仓和资金状况
当前持仓量1:=TBUYHOLDINGEX(ZH1,'IF00',2);
当前持仓量2:=TSELLHOLDINGEX(ZH1,'IF00',2);

当前持仓量:=当前持仓量1+当前持仓量2;
当前可用资金:=TACCOUNT(19);
DEBUGOUT('当前持仓量%.2f',当前持仓量 );
DEBUGOUT('当前可用资金%.2f',当前可用资金 );


——这就是完整的代码,请帮我指点啊,谢谢了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2025-9-1 11:12 , Processed in 0.071622 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表