金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 196|回复: 3

交易策略转代码

[复制链接]

2

主题

4

帖子

4

积分

Rank: 1

等级: 新手上路

注册:
2025-9-10
曾用名:
发表于 2025-9-10 14:15 | 显示全部楼层 |阅读模式
买多开仓条件:

首先在日K线形态下根据CCL指标、成交量、持仓量这三个指标进行筛选。
条件1:在前五个交易日中,日K线级别走势图中,任意一个交易日的持仓量对比前一个交易日是放量30%或以上的。
条件2:在前五个交易日中,日K线级别走势图中,任意一个交易日的成交量对比前一个交易日是放量30%或以上的的。
条件3:在前五个交易日中,日K线级别走势图中,任意一个交易日的CCL指标中的多方增仓(上轨红色量柱)对比上一个交易日是放量30%或以上的。

满足以上三个条件后有两种买入时机
第一种:
根据BOLL指标,当满足以上三个条件后当价格在布林轨道中轨下方时开2成多仓,假如下跌10%进行3成仓补仓,在5成仓位亏损10%时再进行4成补仓,总仓位为原本金90%,设置止损为总仓位的6%

第二种:
当价格站上5日均线后回踩到10日均线时开3成仓,下跌15%时补6成仓。设总仓位止损为10%。

卖出平仓条件:
在买入后有连续两个或以上的交易日,CCL指标显示有连续空平(下轨有连续红色量柱)

回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-9-10 14:31 | 显示全部楼层


// 参数设置
INPUT:VOL_INCREASE(30,10,100,1);  // 放量百分比阈值
INPUT:STOP_LOSS_PCT1(6,1,20,1);   // 第一种策略止损百分比
INPUT:STOP_LOSS_PCT2(10,1,20,1);  // 第二种策略止损百分比
INPUT:ADD_POSITION_PCT1(10,1,30,1); // 第一种补仓百分比
INPUT:ADD_POSITION_PCT2(15,1,30,1); // 第二种补仓百分比

// 跨周期调用日线数据
日线持仓量 := openint;  // 日线持仓量
日线成交量 := vol;      // 日线成交量
日线收盘价 := close;    // 日线收盘价

// CCI指标计算
TYP := (HIGH + LOW + CLOSE)/3;
CCI := (TYP - MA(TYP,14))/(0.015 * AVEDEV(TYP,14));

// 条件1:持仓量放量30%以上
COND1 := ANY(日线持仓量/REF(日线持仓量,1) >= 1 + VOL_INCREASE/100, 5);

// 条件2:成交量放量30%以上
COND2 := ANY(日线成交量/REF(日线成交量,1) >= 1 + VOL_INCREASE/100, 5);

// 条件3:CCI多方增仓放量30%以上 (简化处理)
COND3 := ANY(CCI/REF(CCI,1) >= 1 + VOL_INCREASE/100, 5);

// 筛选条件
FILTER_COND := COND1 AND COND2 AND COND3;

// 布林带计算
MID := MA(日线收盘价,20);
UPPER := MID + 2*STD(日线收盘价,20);
LOWER := MID - 2*STD(日线收盘价,20);

// 第一种买入时机:价格在布林中轨下方
BUY_COND1 := FILTER_COND AND 日线收盘价 < MID;

// 第二种买入时机:价格站上5日线后回踩10日线
MA5 := MA(日线收盘价,5);
MA10 := MA(日线收盘价,10);
BUY_COND2 := FILTER_COND AND CROSS(日线收盘价,MA5) AND 日线收盘价 <= MA10;

// 卖出条件:连续两个交易日CCI显示空平信号 (简化处理)
SELL_COND := ALL(CCI > REF(CCI,1), 2);

// 仓位管理
VARIABLE:POSITION1 := 0;  // 第一种策略仓位
VARIABLE:POSITION2 := 0;  // 第二种策略仓位

// 第一种策略交易逻辑
IF BUY_COND1 THEN BEGIN
    // 初始开仓2成
    BUY(1, 20%, MARKET);
    POSITION1 := 20;
   
    // 下跌10%补仓3成
    IF 日线收盘价/ENTERPRICE <= 1 - ADD_POSITION_PCT1/100 AND POSITION1 < 50 THEN BEGIN
        BUY(1, 30%, MARKET);
        POSITION1 := POSITION1 + 30;
    END
   
    // 5成仓位亏损10%补仓4成
    IF POSITION1 >= 50 AND AVGENTERPRICE/日线收盘价 >= 1 + ADD_POSITION_PCT1/100 THEN BEGIN
        BUY(1, 40%, MARKET);
        POSITION1 := POSITION1 + 40;
    END
   
    // 止损逻辑
    IF POSITION1 > 0 AND AVGENTERPRICE/日线收盘价 >= 1 + STOP_LOSS_PCT1/100 THEN BEGIN
        SELL(1, 100%, MARKET);
        POSITION1 := 0;
    END
END

// 第二种策略交易逻辑
IF BUY_COND2 THEN BEGIN
    // 初始开仓3成
    BUY(1, 30%, MARKET);
    POSITION2 := 30;
   
    // 下跌15%补仓6成
    IF 日线收盘价/ENTERPRICE <= 1 - ADD_POSITION_PCT2/100 AND POSITION2 < 60 THEN BEGIN
        BUY(1, 60%, MARKET);
        POSITION2 := POSITION2 + 60;
    END
   
    // 止损逻辑
    IF POSITION2 > 0 AND AVGENTERPRICE/日线收盘价 >= 1 + STOP_LOSS_PCT2/100 THEN BEGIN
        SELL(1, 100%, MARKET);
        POSITION2 := 0;
    END
END

// 平仓逻辑
IF SELL_COND AND (POSITION1 > 0 OR POSITION2 > 0) THEN BEGIN
    SELL(1, 100%, MARKET);
    POSITION1 := 0;
    POSITION2 := 0;
END
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

2

主题

4

帖子

4

积分

Rank: 1

等级: 新手上路

注册:
2025-9-10
曾用名:
 楼主| 发表于 2025-9-11 19:47 | 显示全部楼层
技术008 发表于 2025-9-10 14:31
// 参数设置
INPUT:VOL_INCREASE(30,10,100,1);  // 放量百分比阈值
INPUT:STOP_LOSS_PCT1(6,1,20,1) ...

编译后显示有错误:
> 编译错误 : SyntaxError
>     line : 1
> 错误信息 : invalid syntax (CCL_jzt.py, line 1)
哥你看看这是咋回事,还请指点一二
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-9-12 09:07 | 显示全部楼层
https://www.weistock.com/docs/HE ... %E4%BA%A4%E6%98%93/


不是python,这个是pel图表策略,看上面链接如何进行图表程序化方式
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-25 03:16 , Processed in 0.084726 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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