金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 815|回复: 3

这串代码有毒,赶快帮我改改,都秒退十几次了!

[复制链接]

16

主题

37

帖子

37

积分

Rank: 2

等级: 标准版

注册:
2025-2-17
曾用名:
发表于 2025-2-22 14:17 | 显示全部楼层 |阅读模式
  • 买入条件(需同时满足):

    • 突破下降趋势线:最近N日最高价突破下降趋势压力线;
    • 成交量放大:当日成交量是前5日均量的2倍以上;
    • 封闭跳空缺口:当前收盘价高于前一日最高价。

  • [color=var(--tw-prose-bold)]条件_突破 :收盘价高于趋势线,且趋势线不为0。
  • [color=var(--tw-prose-bold)]条件_放量 :当前成交量大于5日均量的指定倍数。
  • [color=var(--tw-prose-bold)]条件_缺口 :当前收盘价高于前一日最高价的99.5%(允许小误差)。
  • 最终买入信号是上述三个条件的交集。

  • 卖出条件(满足其一):

    • 跌破动态止盈线:从最高点回撤超过5%;
    • 高位放量滞涨:连续3日收盘价未创新高,且成交量萎缩;


  • [color=var(--tw-prose-bold)]卖出条件1 :10日均线向下穿越收盘价。
  • [color=var(--tw-prose-bold)]卖出条件2 :当前亏损超过5%。
  • 最终卖出信号是上述两个条件的并集,且持仓量大于0。





[PEL] 复制代码
// 参数设置(调宽阈值)
INPUT:计算周期(10,5,30,1),       // 缩短趋势线周期
      成交量倍数(1.8,1.2,3.0),    // 降低成交量要求
      止盈回撤(0.08,0.05,0.10);  // 放宽止盈条件

//-------------------------------------
// 变量声明
//-------------------------------------
VARIABLE: 
    趋势线=0,成交量5日均线=0,近期最高价=0,当前回撤率=0,
    条件_突破=0,条件_放量=0,条件_缺口=0,
    卖出信号1=0,卖出信号2=0,买入信号=0,卖出信号=0;

//-------------------------------------
// 模块1:趋势线计算(调整到主流程)
//-------------------------------------
// 全局计算趋势斜率和参考高点
趋势斜率 := SLOPE_S(HIGH, 计算周期);
参考高点 := REF(HIGH, 计算周期 - 1);

// 根据条件赋值趋势线
IF BARPOS >= 计算周期 THEN BEGIN
    趋势线 := 趋势斜率 * (计算周期 - 1) + 参考高点;
END
ELSE BEGIN
    趋势线 := 0;  // 初始化阶段赋零值
END;

//-------------------------------------
// 模块2:基础指标计算
//-------------------------------------
成交量5日均线 := MA(VOL,5);  // 必须独立计算

//-------------------------------------
// 模块3:买入条件(增加趋势线有效性判断)
//-------------------------------------
条件_突破 := CLOSE > 趋势线 AND 趋势线 <> 0;  // 双重验证
条件_放量 := VOL > 成交量5日均线 * 成交量倍数;
条件_缺口 := CLOSE > REF(HIGH,1)*0.995;     // 缺口允许误差
买入信号 := 条件_突破 AND 条件_放量 AND 条件_缺口;

//-------------------------------------
// 模块4:卖出条件(修正交叉逻辑)
//-------------------------------------
// 先计算中间变量再组合条件
持仓成本价 := AVGENTERPRICE;
卖出条件1 := CROSS(MA(CLOSE,10),CLOSE);
卖出条件2 := (CLOSE - 持仓成本价)/持仓成本价 < -0.05;
卖出信号 := (卖出条件1 OR 卖出条件2) AND HOLDING>0;



//-------------------------------------
// 交易指令(增加手数控制)
//-------------------------------------
IF 买入信号 AND HOLDING=0 THEN
    BUY(1,1,limitr,CLOSE);

IF 卖出信号 AND HOLDING>0 THEN
    SELL(1,1,limitr,CLOSE);
//-------------------------------------
// 调试输出(优化显示位置)
//-------------------------------------
DRAWTEXT(条件_突破,HIGH,'突',COLORRED);
DRAWTEXT(条件_放量,LOW,'量',COLORGREEN);
DRAWTEXT(条件_缺口,LOW,'缺',COLORBLUE);
DRAWTEXTEX(1,0,0,0,'当前趋势线:'+NUMTOSTR(趋势线,2));

回复

使用道具 举报

1

主题

1070

帖子

1080

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-2-22 14:21 | 显示全部楼层
你这是deepseek编写的代码?
回复

使用道具 举报

16

主题

37

帖子

37

积分

Rank: 2

等级: 标准版

注册:
2025-2-17
曾用名:
 楼主| 发表于 2025-2-22 14:30 | 显示全部楼层
技术015 发表于 2025-2-22 14:21
你这是deepseek编写的代码?

是的  你咋知道
回复

使用道具 举报

1

主题

1070

帖子

1080

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-2-22 14:43 | 显示全部楼层
趋势斜率 := SLOPE_S(HIGH, 计算周期);
这句话改成  
趋势斜率 := SLOPE(HIGH, 计算周期);
就可以了,SLOPE_S是金字塔的内部函数,不能直接使用的,后续版本我们会在编译层面修补此问题
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-16 22:05 , Processed in 0.079747 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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