金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 2937|回复: 3

后台策略开盘无信号平仓

[复制链接]

2

主题

4

帖子

4

积分

Rank: 1

等级: 新手上路

注册:
2022-5-27
曾用名:
发表于 2022-5-27 08:02 | 显示全部楼层 |阅读模式
大佬,请教一下,我编写的后台策略,应用于国内期货。在盘中的时候不会出现无信号平仓,但是在晚上9点的时候会平仓,请问一下,是什么原因会导致这种情况?后台策略在收盘后数据需要怎么维护?怎么设定自动补充?还有后台策略在开启的时候需要注意什么?我的策略大致是这样的:VARIABLE:n=0;
m5:=ref(ma(c,5),1);
m15:=ref(ma(c,15),1);
///开单条件
KD:=cross(m5,m15);
KK:=cross(m15,m5);

IF REF(n,1)=0 AND KD THEN BEGIN
        n:=1;
END

if REF(n,1)=0 and kk then BEGIN
        n:=-1;
END
PK:=cross(m5,m15);
PD:=cross(m15,m5);

if PK and n<0 then BEGIN
        n:=0;
        if KD then BEGIN
                n:=1;
        END
end

if PD and n>0 then BEGIN
        n:=0;
        if KK then BEGIN
                n:=-1;
        END
end

cs:n;

平空:TSELLSHORT(PK,1,LMT,C);                  //平空信号
开多:TBUY(KD,1,LMT,C);          //开多信号
平多:TSELL(P,1,LMT,C);                       //平多信号
开空:TBUYSHORT(KK,1,LMT,C);     //开空信号

//开仓撤单
if  currenttime-TORDERTIME(0,1 )>20 THEN BEGIN
        IF TISPRVREMAIN(1)=1 THEN BEGIN
                TCANCEL(1,1);
                TBUY(1,1,MKT);
        END
        IF TISPRVREMAIN(2)=1 THEN BEGIN
                TCANCEL(1,2);
                TSELL(1,1,MKT);
        END
        IF TISPRVREMAIN(3)=1 THEN BEGIN
                TCANCEL(1,3);
                TBUYSHORT(1,1,MKT);
        END
        IF TISPRVREMAIN(4)=1 THEN BEGIN
                TCANCEL(1,4);
                TSELLSHORT(1,1,MKT);
        END               
end

//信号校正
if TISPRVREMAIN(0)=0 AND tholding>1 then BEGIN
        TSELL(1,tholding-1,MKT);
end
if TISPRVREMAIN(0)=0 AND tholding<-1 then BEGIN
        TSELLSHORT(1,-1-tholding,MKT);
end

IF TISPRVREMAIN(0)=0 AND n>0 AND THOLDING<1 THEN BEGIN
        TSELLSHORT(1,0,MKT);
        TBUY(1,1,MKT);
END
IF TISPRVREMAIN(0)=0 AND n<0 AND THOLDING>-1 THEN BEGIN
        TSELL(1,0,MKT);
        TBUYSHORT(1,1,MKT);
END
IF TISPRVREMAIN(0)=0 AND n=0 AND abs(THOLDING)>0 THEN BEGIN
        TSELL(1,0,MKT);
        TSELLSHORT(1,1,MKT);
END

回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-5-27 08:25 | 显示全部楼层
本帖最后由 技术009 于 2022-5-27 08:32 编辑

1.“无信号平仓”啥叫无信号平仓,你都触发平仓了怎么可能无信号。
2.数据的维护:
1.首次补充一定时间的历史数据。
2.在1之后 设置好收盘,需要什么周期数据收盘什么周期的。
具体看这里
https://www.weistock.com/docs/HE ... BB%B4%E6%8A%A4.html
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

2

主题

4

帖子

4

积分

Rank: 1

等级: 新手上路

注册:
2022-5-27
曾用名:
 楼主| 发表于 2022-5-27 11:03 | 显示全部楼层
无信号平仓就是图表上面是没有平仓信号,直接平仓。还有个问题请教一下,如果一个交易账户、一个后台策略、多个品种,这样用THOLDING函数的话不同品种之间会不会有冲突?打个比方螺纹钢和棕榈油同时开一手,THOLDING获取的是几手?
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-5-27 11:18 | 显示全部楼层
你和图表对的啊。图表和后台机制不完全一样。本身就是2个东西,都是用来实现策略思路到程序化的工具,但是2者关系是有交集,但是不是谁包含谁的关系。
比如图表是无法直接操作实际持仓情况的,后台可以。
图表也无法使用撤单指令,但是后台可以。
你这里平仓你看看是不是后面哪些和未成交单相关的。这种的话,和图上肯定很难对上。

后台和图表 只能对那种纯指标的信号,且数据也要控制一样的才行。比如什么macd 金叉死叉这种。



获取持仓,你用
TBUYHOLDINGEX()
TSELLHOLDINGEX()

这2个函数。更精确。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-24 12:24 , Processed in 0.202898 second(s), 27 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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