EATC

 找回密码
 立即注册
查看: 12|回复: 0

我自己写的网格交易程序工具,我是用于黄金交易。

[复制链接]

3

主题

19

帖子

1万

积分

交易元老

Rank: 8Rank: 8

积分
10083
发表于 10 小时前 | 显示全部楼层 |阅读模式
我自己在用的,我自己写的,可以限制交易区域和交易方向,平常参数根据市场自己调整。多空可以分别设置的。

image.png
image.png
image.png

// 输入参数
input double   LotSize         = 0.1;        // 交易手数
input int      GridSize        = 2000;          // 网格大小(点)
input int      MaxOrders       = 5;          // 最大订单数量
input int      Direction       = 1;           // 方向选择: 0=双向, 1=只多, 2=只空
input int      TakeProfit      = 3000;         // 止赢点数
input int      StopLoss        = 0;         // 止损点数
input int      MagicNumber     = 12345;       // 魔法数字
input double   InitialBuyPrice = 0.0;         // 初始开多价格(0=立即开始)
input double   InitialSellPrice = 0.0;        // 初始开空价格(0=立即开始)


// 全局变量
double gridBuyLevels[];   // 多头网格价格数组
double gridSellLevels[];  // 空头网格价格数组
int    totalBuys = 0;     // 当前多单数量
int    totalSells = 0;    // 当前空单数量
bool   buyGridStarted = false;  // 多头网格是否已启动
bool   sellGridStarted = false; // 空头网格是否已启动

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
{
    // 初始化数组
    ArrayResize(gridBuyLevels, MaxOrders);
    ArrayResize(gridSellLevels, MaxOrders);
   
    // 清空数组
    ArrayInitialize(gridBuyLevels, 0);
    ArrayInitialize(gridSellLevels, 0);
   
    // 检查参数有效性
    if(LotSize <= 0)
    {
        Print("错误: 交易手数必须大于0");
        return(INIT_PARAMETERS_INCORRECT);
    }
   
    if(GridSize <= 0)
    {
        Print("错误: 网格大小必须大于0");
        return(INIT_PARAMETERS_INCORRECT);
    }
   
    if(MaxOrders <= 0)
    {
        Print("错误: 最大订单数量必须大于0");
        return(INIT_PARAMETERS_INCORRECT);
    }
   
    Print("EA初始化完成");
    Print("参数设置:");
    Print("  交易手数: ", LotSize);
    Print("  网格大小: ", GridSize, " 点");
    Print("  最大订单: ", MaxOrders);
    Print("  方向: ", (Direction==0?"双向"Direction==1?"只多":"只空")));
    Print("  止赢: ", TakeProfit, " 点");
    Print("  止损: ", StopLoss, " 点");
    Print("  魔法数字: ", MagicNumber);
    Print("  初始开多价格: ", InitialBuyPrice);
    Print("  初始开空价格: ", InitialSellPrice);
   
    return(INIT_SUCCEEDED);
}


grideazjymt4.ex4

14.18 KB, 下载次数: 0, 下载积分: 活跃度 -5

售价: 1 E币  [记录]  [购买]

执行程序

grideazjymt4.mq4

21.07 KB, 下载次数: 0, 下载积分: 活跃度 -5

售价: 3 E币  [记录]  [购买]

源码

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

收藏本站|法律声明|Archiver|小黑屋|support@ea198.com|EATC ( 桂ICP备2022005787号

风险提示与免责声明:擅自从事外汇保证金交易的双方不受法律保护!社区内展示内容,均为网友自发分享,不构成投资建议,社区无法全面监控由第三方上传至社区的资源,因此不保证资源的合法性、安全性、完整性、真实性或品质等。您下载时,同意自行判断并承担所有风险。社区内的资源,仅限用于学习和研究目的,不得将用于商业或者非法用途,否则,一切后果请用户自负。社区信息来自网络,版权争议与社区无关,您下载后须在24个小时之内进行删除。如果您喜欢该内容,请支持正版。如有侵权请邮件与我们联系处理。