金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 201|回复: 4

麻烦帮我看看这策略编写上有哪些问题啊

[复制链接]

5

主题

13

帖子

13

积分

Rank: 1

等级: 新手上路

注册:
2025-4-9
曾用名:
发表于 2025-4-9 19:20 | 显示全部楼层 |阅读模式
//------------------------------------------------------------------------------
// 策略名称:量价共振趋势交易系统(金字塔完全兼容版
//------------------------------------------------------------------------------

//=== 输入参数 ===//
INPUT:
    N1(5,1,20),        // 短期均线周期
    N2(10,5,60),       // 中期均线周期
    N3(20,10,120),     // 长期均线周期
    VolRatio(1.8,1,3), // 量能放大倍数
    MinAmpl(0.06,0.03,0.1),  // 最小振幅要求
    StopLossPct(0.93,0.8,0.95); // 动态止损比例

//=== 变量声明 ===//
VAR:
    MA5(0),MA10(0),MA20(0),
    Vol5(0),Vol10(0),
    HHV_10(0),
    Highest_5(0),
    StopPrice(0),
    BuyCondition(False),
    SellCondition(False);

//=== 指标计算 ===//
MA5 = MA(CLOSE,N1);
MA10 = MA(CLOSE,N2);
MA20 = MA(CLOSE,N3);

Vol5 = MA(VOL,N1);
Vol10 = MA(VOL,N2);
HHV_10 = HHV(HIGH,10);      // 金字塔标准函数
Highest_5 = HHV(HIGH,5);    // 修正:使用HHV替代原未定义函数

//=== 交易条件 ===//
BuyCondition = MA5 > MA10 AND MA10 > MA20      // 均线多头排列
           AND MA5 > REF(MA5,1)                // 短期趋势向上
           AND MA10 > REF(MA10,1)              // 中期趋势向上
           AND VOL > Vol5*VolRatio             // 量能放大
           AND VOL > REF(Vol5,1)*1.5           // 修正:使用REF替代错误引用
           AND Vol10 > REF(Vol10,5)            // 量能趋势向上
           AND CLOSE > OPEN                    // 阳线
           AND (CLOSE-REF(CLOSE,1))/REF(CLOSE,1) > 0.015  // 涨幅>1.5%
           AND (HIGH-LOW)/LOW > MinAmpl        // 满足最小振幅
           AND CLOSE > MAX(MA20, REF(HHV_10,1)); // 突破关键位

//=== 信号处理 ===//
IF BuyCondition THEN
BEGIN
    StopPrice = Highest_5 * StopLossPct;  // 动态止损价计算
    DRAWICON(LOW*0.98,1);                 // 买入信号图标
    DRAWTEXT(LOW*0.95,'B',COLORYELLOW);    // 修正:使用简单标注
END

SellCondition = CROSS(CLOSE,StopPrice) OR CROSS(CLOSE,MA10);  // 修正:使用CROSS函数
IF SellCondition THEN
    DRAWICON(HIGH*1.02,2);

//=== 图表展示 ===//
DRAWKLINE(H,O,L,C);                      // 修正:参数简写
PARTLINE(MA5,COLORRED);                  // 修正:使用PARTLINE
PARTLINE(MA10,COLORYELLOW);
PARTLINE(MA20,COLORGREEN);

//=== 调试信息 ===//
IF ISLASTBAR THEN
BEGIN
    DRAWTEXT(CLOSE>0,CLOSE,'Stop:'+NUMTOSTR(StopPrice,2)),COLORCYAN;  // 修正:NUMTOSTR精度
    DRAWTEXT(CLOSE>0,MA5,'MA5'),COLORRED;
END

回复

使用道具 举报

38

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-4-10 09:21 | 显示全部楼层
//=== 输入参数 ===//
INPUT:
    N1(5,1,20),        // 短期均线周期
    N2(10,5,60),       // 中期均线周期
    N3(20,10,120),     // 长期均线周期
    VolRatio(1.8,1,3), // 量能放大倍数
    MinAmpl(0.06,0.03,0.1),  // 最小振幅要求
    StopLossPct(0.93,0.8,0.95); // 动态止损比例



//=== 指标计算 ===//
MA5 : MA(CLOSE, N1);
MA10 : MA(CLOSE, N2);
MA20 : MA(CLOSE, N3);

Vol5 := MA(VOL, N1);
Vol10 := MA(VOL, N2);
HHV_10 := HHV(HIGH, 10);      // 金字塔标准函数
Highest_5 := HHV(HIGH, 5);    // 修正:使用 HHV 替代原未定义函数

//=== 交易条件 ===//
BuyCondition := MA5 > MA10 AND MA10 > MA20      // 均线多头排列
           AND MA5 > REF(MA5, 1)                // 短期趋势向上
           AND MA10 > REF(MA10, 1)              // 中期趋势向上
           AND VOL > Vol5 * VolRatio            // 量能放大
           AND VOL > REF(Vol5, 1) * 1.5         // 修正:使用 REF 替代错误引用
           AND Vol10 > REF(Vol10, 5)            // 量能趋势向上
           AND CLOSE > OPEN                     // 阳线
           AND (CLOSE - REF(CLOSE, 1)) / REF(CLOSE, 1) > 0.015  // 涨幅>1.5%
           AND (HIGH - LOW) / LOW > MinAmpl     // 满足最小振幅
           AND CLOSE > MAX(MA20, REF(HHV_10, 1)); // 突破关键位

//=== 信号处理 ===//
IF BuyCondition THEN
BEGIN
    StopPrice := Highest_5 * StopLossPct;  // 动态止损价计算
    DRAWICON(1,LOW * 0.98, 1);               // 买入信号图标
    DRAWTEXT(1,LOW * 0.95, 'B', coloryellow); // 修正:使用简单标注
END

SellCondition := CROSS(CLOSE, StopPrice) OR CROSS(CLOSE, MA10);  // 修正:使用 CROSS 函数
IF SellCondition THEN
    DRAWICON(1,HIGH * 1.02, 2);


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

使用道具 举报

5

主题

13

帖子

13

积分

Rank: 1

等级: 新手上路

注册:
2025-4-9
曾用名:
 楼主| 发表于 2025-4-10 21:19 | 显示全部楼层
你好,该策略在股票图形上没有显示,请问是什么原因?如何修改,能使股票图形出现买卖信号,谢谢
回复

使用道具 举报

5

主题

13

帖子

13

积分

Rank: 1

等级: 新手上路

注册:
2025-4-9
曾用名:
 楼主| 发表于 2025-4-10 21:48 | 显示全部楼层
修改后的策略在股票k线图上没有出现买卖信号或者开多开空,以及不能回测,麻烦修改一下,满足以上需求,谢谢!
回复

使用道具 举报

38

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-4-11 09:05 | 显示全部楼层
//=== 输入参数 ===//
INPUT:
    N1(5,1,20),        // 短期均线周期
    N2(10,5,60),       // 中期均线周期
    N3(20,10,120),     // 长期均线周期
    VolRatio(1.8,1,3), // 量能放大倍数
    MinAmpl(0.06,0.03,0.1),  // 最小振幅要求
    StopLossPct(0.93,0.8,0.95); // 动态止损比例



//=== 指标计算 ===//
MA5 : MA(CLOSE, N1);
MA10 : MA(CLOSE, N2);
MA20 : MA(CLOSE, N3);

Vol5 := MA(VOL, N1);
Vol10 := MA(VOL, N2);
HHV_10 := HHV(HIGH, 10);      // 金字塔标准函数
Highest_5 := HHV(HIGH, 5);    // 修正:使用 HHV 替代原未定义函数

//=== 交易条件 ===//
BuyCondition := MA5 > MA10 AND MA10 > MA20      // 均线多头排列
           AND MA5 > REF(MA5, 1)                // 短期趋势向上
           AND MA10 > REF(MA10, 1)              // 中期趋势向上
           AND VOL > Vol5 * VolRatio            // 量能放大
           AND VOL > REF(Vol5, 1) * 1.5         // 修正:使用 REF 替代错误引用
           AND Vol10 > REF(Vol10, 5)            // 量能趋势向上
           AND CLOSE > OPEN                     // 阳线
           AND (CLOSE - REF(CLOSE, 1)) / REF(CLOSE, 1) > 0.015  // 涨幅>1.5%
           AND (HIGH - LOW) / LOW > MinAmpl     // 满足最小振幅
           AND CLOSE > MAX(MA20, REF(HHV_10, 1)); // 突破关键位

//=== 信号处理 ===//
IF BuyCondition THEN
BEGIN
    StopPrice := Highest_5 * StopLossPct;  // 动态止损价计算
    DRAWICON(1,LOW * 0.98, 1);               // 买入信号图标
    DRAWTEXT(1,LOW * 0.95, 'B', coloryellow); // 修正:使用简单标注
    buy(1,1,marketr);
END

SellCondition := CROSS(CLOSE, StopPrice) OR CROSS(CLOSE, MA10);  // 修正:使用 CROSS 函数
IF SellCondition THEN
begin
    DRAWICON(1,HIGH * 1.02, 2);
    sell(1,holding,marketr);
    end
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-25 02:17 , Processed in 0.145364 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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