金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 327|回复: 1

麻烦老师帮编译成金字塔能执行的交易程序

[复制链接]

12

主题

18

帖子

18

积分

Rank: 1

等级: 新手上路

注册:
2023-12-11
曾用名:
发表于 2024-12-30 07:39 | 显示全部楼层 |阅读模式
plaintext;

INPUT:MA1Length(5), MA2Length(10), RSILength(14), OverBoughtLevel(70), OverSoldLevel(30);
MA1 := MA(CLOSE, MA1Length);
MA2 := MA(CLOSE, MA2Length);
RSI := RSI(CLOSE, RSILength);

// 全局变量定义
GLOBALVARIABLE:PositionCount = 0;

// 交易条件判断
If CrossOver(MA1, MA2) and RSI < OverSoldLevel Then Begin
    // 平空仓并做多
    SellShort(1, 0, MARKET);
    Buy(1, 1, MARKET);
    PositionCount := 1;
End

If CrossUnder(MA1, MA2) and RSI > OverBoughtLevel Then Begin
    // 平多仓并做空
    Sell(1, 1, MARKET);
    BuyShort(1, 0, MARKET);
    PositionCount := 1;
End

// 盈利加仓条件
If MarketPosition = 1 and BarsSinceEntry > 0 and CLOSE > EntryPrice * 1.05 Then Begin
    // 盈利 5%后加仓 1 手
    Buy(1, 1, MARKET);
    PositionCount := PositionCount + 1;
End

If MarketPosition = -1 and BarsSinceEntry > 0 and CLOSE < EntryPrice * 0.95 Then Begin
    // 亏损 5%后加仓 1 手(此处可根据风险偏好调整)
    BuyShort(1, 1, MARKET);
    PositionCount := PositionCount + 1;
End

回复

使用道具 举报

3

主题

718

帖子

759

积分

Rank: 9Rank: 9Rank: 9

等级: 管理员

注册:
2021-5-10
曾用名:
发表于 2024-12-30 08:57 | 显示全部楼层
INPUT:MA1Length(5), MA2Length(10), RSILength(14), OverBoughtLevel(70), OverSoldLevel(30);
MA1 := MA(CLOSE, MA1Length);
MA2 := MA(CLOSE, MA2Length);
LC:=REF(CLOSE,1);
RSI:=SMA(MAX(CLOSE-LC,0),RSILength,1)/SMA(ABS(CLOSE-LC),RSILength,1)*100;


// 全局变量定义
GLOBALVARIABLE:PositionCount = 0;

// 交易条件判断
If Cross(MA1, MA2) and RSI < OverSoldLevel Then Begin
    // 平空仓并做多
    SellShort(1, 0, MARKET);
    Buy(1, 1, MARKET);
    PositionCount := 1;
End

If Cross(MA2, MA1) and RSI > OverBoughtLevel Then Begin
    // 平多仓并做空
    Sell(1, 1, MARKET);
    BuyShort(1, 0, MARKET);
    PositionCount := 1;
End

// 盈利加仓条件
If holding = 1 and ENTERBARS > 0 and CLOSE > ENTERPRICE * 1.05 Then Begin
    // 盈利 5%后加仓 1 手
    Buy(1, 1, MARKET);
    PositionCount := PositionCount + 1;
End

If holding = -1 and ENTERBARS > 0 and CLOSE < ENTERPRICE * 0.95 Then Begin
    // 亏损 5%后加仓 1 手(此处可根据风险偏好调整)
    BuyShort(1, 1, MARKET);
    PositionCount := PositionCount + 1;
End
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-21 14:04 , Processed in 0.122167 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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