金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 532|回复: 8

求助:程序显示成交了,但是账户没有成交,是怎么回事??

[复制链接]

8

主题

33

帖子

33

积分

Rank: 1

等级: 新手上路

注册:
2025-3-12
曾用名:
发表于 2025-6-12 12:16 | 显示全部楼层 |阅读模式
程序:
//@version=1
INPUT: MA240周期(240), MA20周期(20), MA60周期(60), 手数(1,1,20,1), 移动止损点数(15), 止盈点数(15);

// 声明普通全局变量(图表级)
VARIABLE: zs1:=0;  // 初始化止损位
VARIABLE: 开仓价格:=0;  // 记录开仓价格

// 均线系统
MA240:=MA(CLOSE,MA240周期);
MA20:=MA(CLOSE,MA20周期);
MA60:=MA(CLOSE,MA60周期);
c60:=MA(CLOSE,60) - 5*MINDIFF;
c61:=MA(CLOSE,60) + 5*MINDIFF;
// 方向判断模块
多空方向 := IFF(CLOSE >= MA240, 1, -1);

// 交易信号模块(新增距离限制条件)
金叉条件 := CROSS(MA20, MA60) AND REF(CLOSE,1) >= REF(MA60,1)
            AND ABS(CLOSE - MA60) <= 10*MINDIFF;  // 新增:价格与60均线距离不超过10点
死叉条件 := CROSS(MA60, MA20) AND REF(CLOSE,1) <= REF(MA60,1)
            AND ABS(CLOSE - MA60) <= 10*MINDIFF;  // 新增:价格与60均线距离不超过10点

// 收盘前1分钟平仓条件
收盘前3分钟平仓 := TIME >= 145700 AND TIME < 150000;  // 假设交易时间是9:00-15:00

// 主交易系统
IF HOLDING = 0 THEN BEGIN
    // 开多条件(增加距离限制)
    IF 多空方向 = 1 AND 金叉条件 AND NOT(收盘前3分钟平仓) THEN BEGIN  
        BUY(1, 手数, MARKET);
        zs1 := CLOSE - 移动止损点数*MINDIFF;  
        开仓价格 := CLOSE;  
    END

    // 开空条件(增加距离限制)
    IF 多空方向 = -1 AND 死叉条件 AND NOT(收盘前3分钟平仓) THEN BEGIN  
        BUYSHORT(1, 手数, MARKET);
        zs1 := CLOSE + 移动止损点数*MINDIFF;  
        开仓价格 := CLOSE;  
    END
END ELSE BEGIN
    // 移动止损逻辑
    IF HOLDING > 0 THEN BEGIN
        zs1 := MAX(zs1, HIGH - 移动止损点数*MINDIFF);
    END ELSE IF HOLDING < 0 THEN BEGIN
        zs1 := MIN(zs1, LOW + 移动止损点数*MINDIFF);
    END

    // 止盈条件
    IF HOLDING > 0 AND CLOSE >= 开仓价格 + 止盈点数*MINDIFF THEN BEGIN
        SELL(1, ABS(HOLDING), MARKET);
    END
    IF HOLDING < 0 AND CLOSE <= 开仓价格 - 止盈点数*MINDIFF THEN BEGIN
        SELLSHORT(1, ABS(HOLDING), MARKET);
    END

    // 平仓条件
    IF HOLDING > 0 AND (死叉条件 OR CLOSE <= zs1 OR CLOSE < c60 OR 收盘前3分钟平仓) THEN BEGIN
        SELL(1, ABS(HOLDING), MARKET);
    END
    IF HOLDING < 0 AND (金叉条件 OR CLOSE >= zs1 OR CLOSE > c61 OR 收盘前3分钟平仓) THEN BEGIN
        SELLSHORT(1, ABS(HOLDING), MARKET);
    END
END

// 仓位管理模块
IF HOLDING > 手数 THEN BEGIN
    SELL(1, HOLDING - 手数, MARKET);
END
IF HOLDING < -手数 THEN BEGIN
    SELLSHORT(1, ABS(HOLDING) - 手数, MARKET);
END

// 状态监控
AA: zs1, COLORRED;  // 显示动态止损线
当前持仓:HOLDING,COLORGRAY,LINETHICK0;


15分钟程序显示买入了,但是账户却没有买入,请问怎么回事?

注:账户在买入了1手日内,之前买的,是否跟这个有影响?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号? 微信登录

x
回复

使用道具 举报

8

主题

33

帖子

33

积分

Rank: 1

等级: 新手上路

注册:
2025-3-12
曾用名:
 楼主| 发表于 2025-6-12 12:17 | 显示全部楼层
15分钟是这个程序:
INPUT: MA240周期(240), MA20周期(20), MA60周期(60), 手数(3,1,20,1), 移动止损点数(35);

// 声明普通全局变量(图表级)
VARIABLE: zs1:=0;  // 初始化止损位

// 均线系统
MA240:=MA(CLOSE,MA240周期);
MA20:=MA(CLOSE,MA20周期);
MA60:=MA(CLOSE,MA60周期);

c60:=MA(CLOSE,60) - 5*MINDIFF;
c61:=MA(CLOSE,60) + 5*MINDIFF;

// 方向判断模块
多空方向 := IFF(CLOSE >= MA240, 1, -1);

// 交易信号模块
金叉条件 := CROSS(MA20, MA60) AND REF(CLOSE,1) >= REF(MA60,1)
            AND ABS(CLOSE - MA60) <= 15*MINDIFF;  // 新增:价格与60均线距离不超过15点
死叉条件 := CROSS(MA60, MA20) AND REF(CLOSE,1) <= REF(MA60,1)
            AND ABS(CLOSE - MA60) <= 15*MINDIFF;  // 新增:价格与60均线距离不超过15点

// 主交易系统
// 平空开多

IF HOLDING < 0 AND (金叉条件 OR CLOSE >= zs1 OR CLOSE > c61) THEN BEGIN
    平空:SELLSHORT(1, ABS(HOLDING), MARKET);
END

IF 多空方向 = 1 AND 金叉条件 THEN BEGIN
    开多:BUY(1, 手数, MARKET);
    zs1 := CLOSE - 移动止损点数*MINDIFF;  // 初始化多头止损
END

// 平多开空
IF HOLDING > 0 AND (死叉条件 OR CLOSE <= zs1 OR CLOSE < c60) THEN BEGIN
    平多:SELL(1, ABS(HOLDING), MARKET);
END  

IF 多空方向 = -1 AND 死叉条件 THEN BEGIN
    开空:BUYSHORT(1, 手数, MARKET);
    zs1 := CLOSE + 移动止损点数*MINDIFF;  // 初始化空头止损
END

// 移动止损逻辑
IF HOLDING > 0 THEN BEGIN
    // 多头移动止损(跟踪最高价)
    zs1 := MAX(zs1, HIGH - 移动止损点数*MINDIFF);
END ELSE IF HOLDING < 0 THEN BEGIN
    // 空头移动止损(跟踪最低价)
    zs1 := MIN(zs1, LOW + 移动止损点数*MINDIFF);
END

// 仓位管理模块
IF HOLDING > 手数 THEN BEGIN
    SELL(1, HOLDING - 手数, MARKET);
END
IF HOLDING < -手数 THEN BEGIN
    SELLSHORT(1, ABS(HOLDING) - 手数, MARKET);
END

// 状态监控
AA: zs1, COLORRED;  // 显示动态止损线
当前持仓:HOLDING,COLORGRAY,LINETHICK0;
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-6-12 13:04 | 显示全部楼层
看下图表触发记录那边有触发动作没,是没有触发动作没下单,还是下单了没成交

另外可以勾上持仓同步功能,这样如果信号不匹配会进行同步
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

8

主题

33

帖子

33

积分

Rank: 1

等级: 新手上路

注册:
2025-3-12
曾用名:
 楼主| 发表于 2025-6-12 13:11 | 显示全部楼层
是这个位置么??这没有触发记录,也没有委托记录?但是图标上已将显示开空了呢

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号? 微信登录

x
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-6-12 13:13 | 显示全部楼层
那你可以用debugfile去输出条件看下当时为何没有满足,这个是调试信号必须掌握的

如果不想去调试比较麻烦,直接勾上持仓同步就不用管了,如果信号不一致会给你去进行同步
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

8

主题

33

帖子

33

积分

Rank: 1

等级: 新手上路

注册:
2025-3-12
曾用名:
 楼主| 发表于 2025-6-12 13:26 | 显示全部楼层
持仓同步会不会影响,我已有的同品种仓位呢?
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-6-12 13:29 | 显示全部楼层
持仓同步的话,是图上理论持仓和账户实际持仓去进行同步
这个不区分策略的,比如图表2手,那么你实际账户最后也会同步成2
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

8

主题

33

帖子

33

积分

Rank: 1

等级: 新手上路

注册:
2025-3-12
曾用名:
 楼主| 发表于 2025-6-12 17:02 | 显示全部楼层
debugfile去输出条件看下当时为何没有满足,这个是调试信号,这个我没有尝试成功?一般怎么调试啊??
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-6-12 17:03 | 显示全部楼层
看函数说明,这个函数最后一个参数是去输出条件的,具体输出哪些条件是你自己要了解去使用的
如果不理解的话电话我说
021-20339087
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-6 08:07 , Processed in 0.144700 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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