金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 31|回复: 1

这段策略代码怎么开平仓顺序不对啊?

[复制链接]

3

主题

11

帖子

11

积分

Rank: 1

等级: 新手上路

注册:
2025-4-22
曾用名:
发表于 2025-8-15 11:48 | 显示全部楼层 |阅读模式
大咖帮我看一下这段测试的策略代码,怎么开平仓的顺序不对啊?
策略意图是先平仓,后开仓。逻辑上很简单,先平仓以后,才能腾出资金,更便于开仓啊。但是实际运行中,在上面的先平仓代码,执行起来反而是在先开仓之后。
是不是还有别的地方不对啊?

附这段完整策略代码:
//MACD指标的后台程序化——MACD平仓反手
input:S(12,5,40,4),P(26,20,100,8),M(9,2,60,6);  //参数
//中间变量:
DIFF:=EMA(close,S)-EMA(close,P);
DEA:=EMA(DIFF,M);
MACD1:=2*(DIFF-DEA),COLORSTICK;  //彩色颜色

//指标条件:
jincha:=cross(DIFF,DEA);  //平空开多条件
sicha:=cross(DEA,DIFF);   //平多开空条件
tbuyh:=tbuyholding(1);   //多头持仓
tsellh:=tsellholding(1);    //空头持仓

//开仓语句:
if jincha and thuyh=0 tbuy(1,1,mkt);  //开多
if sicha and tsellh=0 tbuyshort(1,1,mkt);  //开空

if jincha and tsell<0 then begin    //检查有空头持仓
    tsellshort(1,1,mkt);  //先平空
    tbuy(1,1,mkt);         //开多
    end

if sicha and tbuyh>0 then begin    //检查有多头持仓
    tsell(1,1,mkt);     //平多
    tbuyshort(1,1,mkt);    //开空
    end

——就是上述代码,拜托了!
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-8-15 13:26 | 显示全部楼层
什么叫先开仓之后,看下交易日志怎么记录的是平仓反手那里执行开仓没执行平仓??
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-18 06:06 , Processed in 0.137976 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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