金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 457|回复: 20

请老师帮忙敲个码,万分感谢

[复制链接]

3

主题

15

帖子

15

积分

Rank: 1

等级: 新手上路

注册:
2025-6-28
曾用名:
发表于 2025-6-30 12:17 来自手机 | 显示全部楼层 |阅读模式
策略核心规则(5分钟周期):

1. 指标参数
   - 计算三条EXPMA线:  
     `快线MA1=5日` | `中线MA2=10日` | `慢线MA3=20日`(仅计算,暂不用作信号)

2. 多头交易
   - 开多:当`MA1上穿MA2`(当前K线收盘确认),下一根K线开盘价买入  
   - 平多条件(满足任一即平仓):  
     a. 浮动盈利≥2% 时立即平仓  
     b. `MA2下穿MA1`(当前K线收盘确认),下一根K线开盘价止损平仓  

3. 空头交易
   - 开空:当`MA1下穿MA2`(当前K线收盘确认),下一根K线开盘价卖出  
   - 平空条件(满足任一即平仓):  
     a. 浮动盈利≥2% 时立即平仓  
     b. `MA1上穿MA2`(当前K线收盘确认),下一根K线开盘价止损平仓  

4. 关键规则
   - 信号定义:  
     - 上穿 = 前值MA1≤MA2 且 当前值MA1>MA2  
     - 下穿 = 前值MA1≥MA2 且 当前值MA1<MA2  
   - 持仓限制:同一时间仅持有一个方向仓位  
   - 平仓优先级:盈利条件(a)优先于信号条件(b)  
   - 执行价格:除了浮动盈利≥2% 时立即平仓。其余所有操作均使用信号触发后下一根K线的开盘价  

> 注:浮动盈利计算  
> - 多单:(当前价-开仓价)/开仓价  
> - 空单:(开仓价-当前价)/开仓价
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-6-30 13:03 | 显示全部楼层
// EXPMA双方向交易策略 - 5分钟周期[^1]
// 参数设置
MA1:=EMA(CLOSE,5);   // 5日指数平滑移动平均[^2]
MA2:=EMA(CLOSE,10);  // 10日指数平滑移动平均[^3]
MA3:=EMA(CLOSE,20);  // 20日指数平滑移动平均[^4]

// 交易条件定义[^5]
BuySignal:=CROSS(MA1,MA2);    // MA1上穿MA2开多信号[^6]
SellProfit:=OPENPROFITPER>=2;  // 多头盈利≥2%[^7]
SellSignal:=CROSS(MA2,MA1);   // MA2下穿MA1平多信号[^8]

ShortSignal:=CROSS(MA2,MA1);  // MA1下穿MA2开空信号[^9]
CoverProfit:=OPENPROFITPER>=2; // 空头盈利≥2%[^10]
CoverSignal:=CROSS(MA1,MA2);  // MA1上穿MA2平空信号[^11]

// 交易系统 - 多头交易[^12]
BUY(BuySignal AND HOLDING=0,1,NEXTOPEN);  // 开多:次周期开盘价[^13]
SELL(SellProfit AND HOLDING>0,holding,MARKETR); // 盈利平多:立即市价平仓[^14]
SELL(SellSignal AND HOLDING>0   ,holding,NEXTOPEN); // 信号平多:次周期开盘价[^15]

// 交易系统 - 空头交易[^16]
BUYSHORT(ShortSignal AND HOLDING=0,1,NEXTOPEN); // 开空:次周期开盘价[^17]
SELLSHORT(CoverProfit AND HOLDING<0,holding,MARKETR); // 盈利平空:立即市价平仓[^18]
SELLSHORT(CoverSignal AND HOLDING<0 ,holding,NEXTOPEN); // 信号平空:次周期开盘价[^19]


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

使用道具 举报

3

主题

15

帖子

15

积分

Rank: 1

等级: 新手上路

注册:
2025-6-28
曾用名:
 楼主| 发表于 2025-6-30 15:48 来自手机 | 显示全部楼层
老师有个情况,若同时允许在持仓过程中出现反向信号时进行反手操作。比如:开多的时候遇到死叉,做反手操作。开空时候遇到金叉做反手操作。
回复

使用道具 举报

3

主题

15

帖子

15

积分

Rank: 1

等级: 新手上路

注册:
2025-6-28
曾用名:
 楼主| 发表于 2025-6-30 15:51 来自手机 | 显示全部楼层
3. **交易执行(均在下一根K线开盘价操作)**      | 持仓状态 | 触发条件         | 操作                |    |----------|------------------|---------------------|    | 无仓     | 金叉出现         | 开多仓              |    | 无仓     | 死叉出现         | 开空仓              |    | 多仓     | 浮动盈利≥2%      | 平多仓(止盈)      |    | 多仓     | 死叉出现         | **平多仓+开空仓**(反手)|    | 空仓     | 浮动盈利≥2%      | 平空仓(止盈)      |    | 空仓     | 金叉出现         | **平空仓+开多仓**(反手)|  4. **核心机制**      - 反手规则:        - 持多仓时遇死叉 → 立即平多并开空        - 持空仓时遇金叉 → 立即平空并开多      - 盈利平仓优先级高于反手(若同时满足条件,优先执行盈利平仓)      - 同一时间仅持有一个方向仓位      - 浮动盈利计算:        - 多仓:(当前价-开仓价)/开仓价        - 空仓:(开仓价-当前价)/开仓价
回复

使用道具 举报

3

主题

15

帖子

15

积分

Rank: 1

等级: 新手上路

注册:
2025-6-28
曾用名:
 楼主| 发表于 2025-6-30 15:53 | 显示全部楼层
这样的交易条件

本帖子中包含更多资源

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

x
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-6-30 15:54 | 显示全部楼层
上面本身就有反手的
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

3

主题

15

帖子

15

积分

Rank: 1

等级: 新手上路

注册:
2025-6-28
曾用名:
 楼主| 发表于 2025-6-30 16:21 | 显示全部楼层
回测没有出现反手,只有平仓。虽然开多开空都有。但是比如死叉出现后只有平仓,没有反手。是不是应为执行要求是下周期的开盘价。错失了反手机会?
绿色框部分应该直接反手做多。老师请问,需要怎么优化

本帖子中包含更多资源

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

x
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-6-30 16:23 | 显示全部楼层

// EXPMA双方向交易策略 - 5分钟周期[^1]
// 参数设置
MA1:=EMA(CLOSE,5);   // 5日指数平滑移动平均[^2]
MA2:=EMA(CLOSE,10);  // 10日指数平滑移动平均[^3]
MA3:=EMA(CLOSE,20);  // 20日指数平滑移动平均[^4]

// 交易条件定义[^5]
BuySignal:=CROSS(MA1,MA2);    // MA1上穿MA2开多信号[^6]
SellProfit:=OPENPROFITPER>=2;  // 多头盈利≥2%[^7]
SellSignal:=CROSS(MA2,MA1);   // MA2下穿MA1平多信号[^8]

ShortSignal:=CROSS(MA2,MA1);  // MA1下穿MA2开空信号[^9]
CoverProfit:=OPENPROFITPER>=2; // 空头盈利≥2%[^10]
CoverSignal:=CROSS(MA1,MA2);  // MA1上穿MA2平空信号[^11]


SELLSHORT(CoverProfit AND HOLDING<0,holding,MARKETR); // 盈利平空:立即市价平仓[^18]
SELLSHORT(CoverSignal AND HOLDING<0 ,holding,NEXTOPEN); // 信号平空:次周期开盘价[^19]
// 交易系统 - 多头交易[^12]
BUY(BuySignal AND HOLDING=0,1,NEXTOPEN);  // 开多:次周期开盘价[^13]
SELL(SellProfit AND HOLDING>0,holding,MARKETR); // 盈利平多:立即市价平仓[^14]
SELL(SellSignal AND HOLDING>0   ,holding,NEXTOPEN); // 信号平多:次周期开盘价[^15]

// 交易系统 - 空头交易[^16]
BUYSHORT(ShortSignal AND HOLDING=0,1,NEXTOPEN); // 开空:次周期开盘价[^17]
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

3

主题

15

帖子

15

积分

Rank: 1

等级: 新手上路

注册:
2025-6-28
曾用名:
 楼主| 发表于 2025-7-3 15:09 | 显示全部楼层
老师麻烦帮我重新优化一下这个代码,十分感谢
策略核心规则(5分钟周期):

1. 指标参数
   - 计算三条EXPMA线:  
     `快线MA1=5日` | `中线MA2=10日` | `慢线MA3=20日`(仅计算,暂不用作信号)

2. 多头交易
   - 开多:当上一根k线`MA1上穿MA2`
   - 平多条件(满足任一即平仓):  
     a. 浮动盈利≥2% 时立即平仓  
     b. 当上一根k线`MA2下穿MA1`立即止损平仓  

3. 空头交易
   - 开空:当上一根K线`MA1下穿MA2`
   - 平空条件(满足任一即平仓):  
     a. 浮动盈利≥2% 时立即平仓  
     b. 当上一根k线`MA1上穿MA2`,立即止损平仓  

4. 关键规则
   - 信号定义:  
     - 上穿 = 前值MA1≤MA2 且 当前值MA1>MA2  
     - 下穿 = 前值MA1≥MA2 且 当前值MA1<MA2  
   - 持仓限制:同一时间仅持有一个方向仓位  
   - 平仓优先级:盈利条件(a)优先于信号条件(b)  
  
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-7-3 15:10 | 显示全部楼层
和上面有什么区别呢,不一样的地方说下
另外建议自己尝试写下把,如果自己一点都不写的,,。,
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-7 02:11 , Processed in 0.127025 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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