金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 602|回复: 33

请帮忙写出代码

[复制链接]

1

主题

19

帖子

19

积分

Rank: 1

等级: 新手上路

注册:
2024-11-13
曾用名:
发表于 2025-9-27 12:28 | 显示全部楼层 |阅读模式
K线收盘价大于均线(要求K线脱离均线),MACD快线高于零轴,开多单,有持仓的情况下,不能再开仓,并且用atr指标进行移动止损  当浮盈1倍ATR后,止损移到保本点第二阶段:浮盈3倍ATR后,用2倍ATR跟踪止损
第三阶段:浮盈5倍ATR后,用3倍ATR跟踪止损

K线收盘价小于均线(要求K线脱离均线)MACD快线低于零轴,开空单,有持仓的情况下,不能再开仓,并且用atr指标进行移动止损 当浮盈1倍ATR后,止损移到保本点
第二阶段:浮盈3倍ATR后,用2倍ATR跟踪止损
第三阶段:浮盈5倍ATR后,用3倍ATR跟踪止损
请分别写出两套代码,一套做多,一套做空。


回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-9-28 08:57 | 显示全部楼层
{ 多头策略:K线收盘价大于均线且MACD快线高于零轴时开多
  止损规则:
  1. 初始止损:1倍ATR
  2. 浮盈1倍ATR后:止损移到保本点
  3. 浮盈3倍ATR后:2倍ATR跟踪止损
  4. 浮盈5倍ATR后:3倍ATR跟踪止损
}

// 参数设置
INPUT:MA_PERIOD(20,1,100,1);  // 均线周期
INPUT:ATR_PERIOD(14,1,100,1); // ATR周期
INPUT:LOTS(1,1,10,1);         // 开仓手数

// 指标计算
MA_LINE := MA(CLOSE,MA_PERIOD);
DIFF := EMA(CLOSE,12) - EMA(CLOSE,26);  // MACD快线
DEA := EMA(DIFF,9);
MACD := (DIFF-DEA)*2;
ATR_VALUE := MA(TR,ATR_PERIOD);  // ATR值

// 开仓条件
// K线脱离均线(收盘价大于均线+1倍ATR)且MACD快线高于零轴
BUY_COND := CLOSE > MA_LINE + ATR_VALUE AND DIFF > 0;

// 全局变量记录止损位
VARIABLE:STOP_LOSS_PRICE := 0;
VARIABLE:MAX_PROFIT := 0;  // 记录最大浮动盈利(ATR倍数)

// 开多仓
IF BUY_COND AND HOLDING = 0 THEN BEGIN
    BUY(1, LOTS, MARKET);
    STOP_LOSS_PRICE := ENTERPRICE - ATR_VALUE;  // 初始止损位
    MAX_PROFIT := 0;
END;

// 移动止损逻辑
IF HOLDING > 0 THEN BEGIN
    // 计算当前浮动盈利(ATR倍数)
    CURRENT_PROFIT := (CLOSE - ENTERPRICE) / ATR_VALUE;
   
    // 更新最大浮动盈利
    IF CURRENT_PROFIT > MAX_PROFIT THEN
        MAX_PROFIT := CURRENT_PROFIT;
   
    // 第一阶段:浮盈1倍ATR后,止损移到保本点
    IF MAX_PROFIT >= 1 AND STOP_LOSS_PRICE < ENTERPRICE THEN
        STOP_LOSS_PRICE := ENTERPRICE;
   
    // 第二阶段:浮盈3倍ATR后,2倍ATR跟踪止损
    IF MAX_PROFIT >= 3 THEN
        STOP_LOSS_PRICE := MAX(STOP_LOSS_PRICE, CLOSE - 2*ATR_VALUE);
   
    // 第三阶段:浮盈5倍ATR后,3倍ATR跟踪止损
    IF MAX_PROFIT >= 5 THEN
        STOP_LOSS_PRICE := MAX(STOP_LOSS_PRICE, CLOSE - 3*ATR_VALUE);
   
    // 止损执行
    IF CLOSE <= STOP_LOSS_PRICE THEN
        SELL(1, HOLDING, MARKET);
END;

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

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-9-28 08:57 | 显示全部楼层
{ 空头策略:K线收盘价小于均线且MACD快线低于零轴时开空
  止损规则:
  1. 初始止损:1倍ATR
  2. 浮盈1倍ATR后:止损移到保本点
  3. 浮盈3倍ATR后:2倍ATR跟踪止损
  4. 浮盈5倍ATR后:3倍ATR跟踪止损
}

// 参数设置
INPUT:MA_PERIOD(20,1,100,1);  // 均线周期
INPUT:ATR_PERIOD(14,1,100,1); // ATR周期
INPUT:LOTS(1,1,10,1);         // 开仓手数

// 指标计算
MA_LINE := MA(CLOSE,MA_PERIOD);
DIFF := EMA(CLOSE,12) - EMA(CLOSE,26);  // MACD快线
DEA := EMA(DIFF,9);
MACD := (DIFF-DEA)*2;
ATR_VALUE := MA(TR,ATR_PERIOD);  // ATR值

// 开仓条件
// K线脱离均线(收盘价小于均线-1倍ATR)且MACD快线低于零轴
SELL_COND := CLOSE < MA_LINE - ATR_VALUE AND DIFF < 0;

// 全局变量记录止损位
VARIABLE:STOP_LOSS_PRICE := 0;
VARIABLE:MAX_PROFIT := 0;  // 记录最大浮动盈利(ATR倍数)

// 开空仓
IF SELL_COND AND HOLDING = 0 THEN BEGIN
    BUYSHORT(1, LOTS, MARKET);
    STOP_LOSS_PRICE := ENTERPRICE + ATR_VALUE;  // 初始止损位
    MAX_PROFIT := 0;
END;

// 移动止损逻辑
IF HOLDING < 0 THEN BEGIN
    // 计算当前浮动盈利(ATR倍数)
    CURRENT_PROFIT := (ENTERPRICE - CLOSE) / ATR_VALUE;
   
    // 更新最大浮动盈利
    IF CURRENT_PROFIT > MAX_PROFIT THEN
        MAX_PROFIT := CURRENT_PROFIT;
   
    // 第一阶段:浮盈1倍ATR后,止损移到保本点
    IF MAX_PROFIT >= 1 AND STOP_LOSS_PRICE > ENTERPRICE THEN
        STOP_LOSS_PRICE := ENTERPRICE;
   
    // 第二阶段:浮盈3倍ATR后,2倍ATR跟踪止损
    IF MAX_PROFIT >= 3 THEN
        STOP_LOSS_PRICE := MIN(STOP_LOSS_PRICE, CLOSE + 2*ATR_VALUE);
   
    // 第三阶段:浮盈5倍ATR后,3倍ATR跟踪止损
    IF MAX_PROFIT >= 5 THEN
        STOP_LOSS_PRICE := MIN(STOP_LOSS_PRICE, CLOSE + 3*ATR_VALUE);
   
    // 止损执行
    IF CLOSE >= STOP_LOSS_PRICE THEN
        SELLSHORT(1, HOLDING, MARKET);
END;
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

1

主题

19

帖子

19

积分

Rank: 1

等级: 新手上路

注册:
2024-11-13
曾用名:
 楼主| 发表于 2025-9-28 09:34 | 显示全部楼层
技术008 发表于 2025-9-28 08:57
{ 多头策略:K线收盘价大于均线且MACD快线高于零轴时开多
  止损规则:
  1. 初始止损:1倍ATR

老师您好,软件显示语句末尾缺少分号,还有就是我想保留单根均线,麻烦您帮我修正一下,谢谢
回复

使用道具 举报

1

主题

19

帖子

19

积分

Rank: 1

等级: 新手上路

注册:
2024-11-13
曾用名:
 楼主| 发表于 2025-9-28 09:35 | 显示全部楼层
技术008 发表于 2025-9-28 08:57
{ 空头策略:K线收盘价小于均线且MACD快线低于零轴时开空
  止损规则:
  1. 初始止损:1倍ATR

老师您好,软件显示语句末尾缺少分号,还有就是我想保留单根均线,麻烦您帮我修正一下,谢谢
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-9-28 09:42 | 显示全部楼层
[PEL] 复制代码
{ 多头策略:K线收盘价大于均线且MACD快线高于零轴时开多
  止损规则:
  1. 初始止损:1倍ATR
  2. 浮盈1倍ATR后:止损移到保本点
  3. 浮盈3倍ATR后:2倍ATR跟踪止损
  4. 浮盈5倍ATR后:3倍ATR跟踪止损
}

// 参数设置
INPUT:MA_PERIOD(20,1,100,1);  // 均线周期
INPUT:ATR_PERIOD(14,1,100,1); // ATR周期
INPUT:LOTS(1,1,10,1);         // 开仓手数

// 指标计算
MA_LINE : MA(CLOSE,MA_PERIOD);
DIFF := EMA(CLOSE,12) - EMA(CLOSE,26);  // MACD快线
DEA := EMA(DIFF,9);
MACD := (DIFF-DEA)*2;
ATR_VALUE := MA(TR,ATR_PERIOD);  // ATR值

// 开仓条件
// K线脱离均线(收盘价大于均线+1倍ATR)且MACD快线高于零轴
BUY_COND := CLOSE > MA_LINE + ATR_VALUE AND DIFF > 0;

// 全局变量记录止损位
VARIABLE:STOP_LOSS_PRICE := 0;
VARIABLE:MAX_PROFIT := 0;  // 记录最大浮动盈利(ATR倍数)

// 开多仓
IF BUY_COND AND HOLDING = 0 THEN BEGIN
    BUY(1, LOTS, MARKET);
    STOP_LOSS_PRICE := ENTERPRICE - ATR_VALUE;  // 初始止损位
    MAX_PROFIT := 0;
END;

// 移动止损逻辑
IF HOLDING > 0 THEN BEGIN
    // 计算当前浮动盈利(ATR倍数)
    CURRENT_PROFIT := (CLOSE - ENTERPRICE) / ATR_VALUE;
   
    // 更新最大浮动盈利
    IF CURRENT_PROFIT > MAX_PROFIT THEN
        MAX_PROFIT := CURRENT_PROFIT;
   
    // 第一阶段:浮盈1倍ATR后,止损移到保本点
    IF MAX_PROFIT >= 1 AND STOP_LOSS_PRICE < ENTERPRICE THEN
        STOP_LOSS_PRICE := ENTERPRICE;
   
    // 第二阶段:浮盈3倍ATR后,2倍ATR跟踪止损
    IF MAX_PROFIT >= 3 THEN
        STOP_LOSS_PRICE := MAX(STOP_LOSS_PRICE, CLOSE - 2*ATR_VALUE);
   
    // 第三阶段:浮盈5倍ATR后,3倍ATR跟踪止损
    IF MAX_PROFIT >= 5 THEN
        STOP_LOSS_PRICE := MAX(STOP_LOSS_PRICE, CLOSE - 3*ATR_VALUE);
   
    // 止损执行
    IF CLOSE <= STOP_LOSS_PRICE THEN
        SELL(1, HOLDING, MARKET);
END;
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-9-28 09:42 | 显示全部楼层
[PEL] 复制代码
{ 空头策略:K线收盘价小于均线且MACD快线低于零轴时开空
  止损规则:
  1. 初始止损:1倍ATR
  2. 浮盈1倍ATR后:止损移到保本点
  3. 浮盈3倍ATR后:2倍ATR跟踪止损
  4. 浮盈5倍ATR后:3倍ATR跟踪止损
}

// 参数设置
INPUT:MA_PERIOD(20,1,100,1);  // 均线周期
INPUT:ATR_PERIOD(14,1,100,1); // ATR周期
INPUT:LOTS(1,1,10,1);         // 开仓手数

// 指标计算
MA_LINE : MA(CLOSE,MA_PERIOD);
DIFF := EMA(CLOSE,12) - EMA(CLOSE,26);  // MACD快线
DEA := EMA(DIFF,9);
MACD := (DIFF-DEA)*2;
ATR_VALUE := MA(TR,ATR_PERIOD);  // ATR值

// 开仓条件
// K线脱离均线(收盘价小于均线-1倍ATR)且MACD快线低于零轴
SELL_COND := CLOSE < MA_LINE - ATR_VALUE AND DIFF < 0;

// 全局变量记录止损位
VARIABLE:STOP_LOSS_PRICE := 0;
VARIABLE:MAX_PROFIT := 0;  // 记录最大浮动盈利(ATR倍数)

// 开空仓
IF SELL_COND AND HOLDING = 0 THEN BEGIN
    BUYSHORT(1, LOTS, MARKET);
    STOP_LOSS_PRICE := ENTERPRICE + ATR_VALUE;  // 初始止损位
    MAX_PROFIT := 0;
END;

// 移动止损逻辑
IF HOLDING < 0 THEN BEGIN
    // 计算当前浮动盈利(ATR倍数)
    CURRENT_PROFIT := (ENTERPRICE - CLOSE) / ATR_VALUE;
   
    // 更新最大浮动盈利
    IF CURRENT_PROFIT > MAX_PROFIT THEN
        MAX_PROFIT := CURRENT_PROFIT;
   
    // 第一阶段:浮盈1倍ATR后,止损移到保本点
    IF MAX_PROFIT >= 1 AND STOP_LOSS_PRICE > ENTERPRICE THEN
        STOP_LOSS_PRICE := ENTERPRICE;
   
    // 第二阶段:浮盈3倍ATR后,2倍ATR跟踪止损
    IF MAX_PROFIT >= 3 THEN
        STOP_LOSS_PRICE := MIN(STOP_LOSS_PRICE, CLOSE + 2*ATR_VALUE);
   
    // 第三阶段:浮盈5倍ATR后,3倍ATR跟踪止损
    IF MAX_PROFIT >= 5 THEN
        STOP_LOSS_PRICE := MIN(STOP_LOSS_PRICE, CLOSE + 3*ATR_VALUE);
   
    // 止损执行
    IF CLOSE >= STOP_LOSS_PRICE THEN
        SELLSHORT(1, HOLDING, MARKET);
END;
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

1

主题

19

帖子

19

积分

Rank: 1

等级: 新手上路

注册:
2024-11-13
曾用名:
 楼主| 发表于 2025-9-28 09:58 | 显示全部楼层
技术008 发表于 2025-9-28 09:42
[mw_shl_code=pel,true]
{ 多头策略:K线收盘价大于均线且MACD快线高于零轴时开多
  止损规则:

谢谢老师,我如果调整均线  MACD 还有ATR 的参数,请问在哪里调整?
回复

使用道具 举报

1

主题

19

帖子

19

积分

Rank: 1

等级: 新手上路

注册:
2024-11-13
曾用名:
 楼主| 发表于 2025-9-28 10:08 | 显示全部楼层
YQ1314 发表于 2025-9-28 09:58
谢谢老师,我如果调整均线  MACD 还有ATR 的参数,请问在哪里调整?

抱歉老师,我自己已经找到
回复

使用道具 举报

1

主题

19

帖子

19

积分

Rank: 1

等级: 新手上路

注册:
2024-11-13
曾用名:
 楼主| 发表于 2025-9-28 15:18 | 显示全部楼层
技术008 发表于 2025-9-28 09:42
[mw_shl_code=pel,true]
{ 多头策略:K线收盘价大于均线且MACD快线高于零轴时开多
  止损规则:


本帖子中包含更多资源

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

x
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-9 02:02 , Processed in 0.147281 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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