//+------------------------------------------------------------------+ //| 12.mq4 | //| Copyright 2025, MetaQuotes Ltd. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2025, MetaQuotes Ltd." #property link "https://www.mql5.com" #property version "1.00" #property strict //+-


我将帮你将这个交易策略转换为MQL4代码。以下是实现该策略的完整代码: ```mql4 //+------------------------------------------------------------------+ //| 12.mq4 | //| Copyright 2025, MetaQuotes Ltd. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2025, MetaQuotes Ltd." #property link "https://www.mql5.com" #property version "1.00" #property strict // 输入参数 input double LotSize = 0.01; // 交易手数 input int StopLoss = 100; // 止损点数 input int BollingerPeriod = 20; // 布林带周期 input double BollingerDeviation = 2;// 布林带标准差 input int ZigZagDepth = 12; // ZigZag深度 input int ZigZagDeviation = 5; // ZigZag偏差 input int ZigZagBackstep = 3; // ZigZag回退 input int FastEMA = 12; // MACD快线周期 input int SlowEMA = 26; // MACD慢线周期 input int SignalA = 9; // MACD信号线周期 int ticket = 0; // 订单编号 //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { // 检查是否有持仓 if(OrdersTotal() == 0) { // 获取指标值 double upperBand = iBands(NULL, 0, BollingerPeriod, BollingerDeviation, 0, PRICE_CLOSE, MODE_UPPER, 0); double lowerBand = iBands(NULL, 0, BollingerPeriod, BollingerDeviation, 0, PRICE_CLOSE, MODE_LOWER, 0); double zigzag1 = iCustom(NULL, 0, "ZigZag", ZigZagDepth, ZigZagDeviation, ZigZagBackstep, 0, 1); double zigzag2 = iCustom(NULL, 0, "ZigZag", ZigZagDepth, ZigZagDeviation, ZigZagBackstep, 0, 2); double macd = iMACD(NULL, 0, FastEMA, SlowEMA, SignalA, PRICE_CLOSE, MODE_MAIN, 0); // 检查买入条件 if(zigzag1 != 0 && zigzag2 != 0 && zigzag1 < lowerBand && zigzag2 > lowerBand && macd > -10 && macd < 5) { // 开买单 ticket = OrderSend(Symbol(), OP_BUY, LotSize, Ask, 3, Bid - StopLoss*Point, 0, "", 0, 0, clrGreen); } } else { // 检查平仓条件 double upperBand = iBands(NULL, 0, BollingerPeriod, BollingerDeviation, 0, PRICE_CLOSE, MODE_UPPER, 0); double zigzag1 = iCustom(NULL, 0, "ZigZag", ZigZagDepth, ZigZagDeviation, ZigZagBackstep, 0, 1); double zigzag2 = iCustom(NULL, 0, "ZigZag", ZigZagDepth, ZigZagDeviation, ZigZagBackstep, 0, 2); double macd = iMACD(NULL, 0, FastEMA, SlowEMA, SignalA, PRICE_CLOSE, MODE_MAIN, 0); if(zigzag1 != 0 && zigzag2 != 0 && zigzag1 > upperBand && zigzag2 < upperBand && macd > 20) { // 平仓 OrderClose(ticket, LotSize, Bid, 3, clrRed); } } } //+------------------------------------------------------------------+ ``` 代码说明: 1. 定义了输入参数,包括交易手数、止损点数、布林带和ZigZag指标参数等。 2. 在OnTick()函数中: - 检查是否有持仓 - 如果没有持仓,检查买入条件: * ZigZag指标线穿过布林带下轨线 * MACD值在-10和5之间 - 如果满足条件,以指定手数开买单 - 如果有持仓,检查平仓条件: * ZigZag指标线穿过布林带上轨线 * MACD值大于20 - 如果满足条件,平掉当前持仓 3. 使用了iBands()、iCustom()和iMACD()函数获取指标值。 注意:在实际使用前,建议在策略测试器中测试该EA,并根据实际市场情况调整参数。 [2025-04-22 16:27:33 | AI问答 | 1140点数解答]
- //+------------------------------------------------------------------+ //| 12.mq4 | //| Copyright 2025, MetaQuotes Ltd. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2025, MetaQuotes Ltd." #property link "https://www.mql5.com" #property version "1.00" #property strict //+-(1140点数解答 | 2025-04-22 16:27:33)112
- //+------------------------------------------------------------------+ //| 12.mq4 | //| Copyright 2025, MetaQuotes Ltd. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2025, MetaQuotes Ltd." #property link "https://www.mql5.com" #property version "1.00" #property strict //+-(376点数解答 | 2025-04-22 16:30:23)124
- //+------------------------------------------------------------------+ //| 12.mq4 | //| Copyright 2025, MetaQuotes Ltd. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2025, MetaQuotes Ltd." #property link "https://www.mql5.com" #property version "1.00" #property strict //+-(542点数解答 | 2025-04-22 19:11:15)122
- //+------------------------------------------------------------------+ //| 12.mq4 | //| Copyright 2025, MetaQuotes Ltd. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2025, MetaQuotes Ltd." #property link "https://www.mql5.com" #property version "1.00" #property strict //+-(415点数解答 | 2025-04-22 19:15:40)158
- //+------------------------------------------------------------------+ //| ZigZagBollingerEA.mq4 | //| Copyright 2024, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2024, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" #pro(504点数解答 | 2025-04-23 10:56:16)105
- //+------------------------------------------------------------------+ //| ZigZagBollingerEA.mq4 | //| Copyright 2024, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2024, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" #pro(446点数解答 | 2025-04-23 10:57:55)101
- 按照本框架整理代码策略用于外汇EA自动交易//+------------------------------------------------------------------+ //| 12.mq4 | //| Copyright 2025, MetaQuotes Ltd. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property strict //+------------------------------------------------------------------+ //| Expert initialization function | //+-------------------- 买入条件:阴阳烛的最低价同时低于周期为2的平均线周期和为20的布林带下轨线,并且随机指标(Stochastic)的值小于5,MACD值小于5,下买单,每根阴阳烛触发次数小于3,设置固定的止损值为30,固定止盈800。阴阳(405点数解答 | 2025-04-24 11:26:01)109
- 按照本框架整理代码策略用于外汇EA自动交易//+------------------------------------------------------------------+ //| 12.mq4 | //| Copyright 2025, MetaQuotes Ltd. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property strict //+------------------------------------------------------------------+ //| Expert initialization function | //+-------------------- 买入条件:阴阳烛的最低价同时低于周期为2的平均线周期和为20的布林带下轨线,并且随机指标(Stochastic)的值小于5,MACD值小于5,下买单,每根阴阳烛触发次数小于3,设置固定的止损值为30,固定止盈800。阴阳(1184点数解答 | 2025-04-24 11:27:55)102
- “可以成为千一的恋人吗”HTML源码,双击html文件可以本地运行,打开HTML页面,上面显示可以或者不要,越是拒绝,可以的按钮就会越来越大,直到点击可以为止 (这是界面图片,记得需要一个完整的框架你可以自行截图这个图片的适合比例) https://s3.bmp.ovh/imgs/2025/07/26/1d40e20226747686.jpg 真的不可以嘛?๑ᵒᯅᵒ๑ (这是第二张图片的切换) https://s3.bmp.ovh/imgs/2025/07/26/5422e5281214f40c.jpg 不要嘛,再想一想千一可以当乖乖的狗~ (第三张的图片) https://s3.bmp.ovh/imgs/2025/07/26/132a2d971d0b9a5b.jpg 不行,你必须当千一的恋人<(`^´)> (第四张的图片) https://s3.bmp.ovh/imgs/2025/07/26/77ed0e5e589807fb.jpg 千一真的真的超爱你的!٩(๛ ˘ ³˘)۶♥ (第五张的图片) https://s3.bmp.ovh/imgs/2025/07/26/215a4(1411点数解答 | 2025-07-26 08:37:17)108
- ssd_send(0x11,ff,03,98,81,03); //gip_1 ssd_send(0x11,01,01,00); ssd_send(0x11,02,01,00); ssd_send(0x11,03,01,53); ssd_send(0x11,04,01,13); ssd_send(0x11,05,01,00); ssd_send(0x11,06,01,04); ssd_send(0x11,07,01,00); ssd_send(0x11,08,01,00); ssd_send(0x11,09,01,22); ssd_send(0x11,0a,01,22); ssd_send(0x11,0b,01,00); ssd_send(0x11,0c,01,01); ssd_send(0x11,0d,01,00); ssd_send(0x11,0e,01,00); ssd_send(0x11,0f,01,25);(64点数解答 | 2024-11-06 16:52:19)234
- 救援争先 内存限制: 256 Mb时间限制: 1000 ms 题目描述 某地出现了灾害,各地派出了 n n 只救援队。这些救援队是在同一天出发的,但出发时间不一样,路程也有长有短,所以达到时间有先有后。 给定每个队伍的出发时间,以及每只队伍的路程,请按照到达时间为这些队伍排序,如果多只队伍的到达时间正好相等,则出发时间靠前的队伍排在前列,如果出发时间仍然相等,则编号较小的队伍排在前列。 输入格式 第一行:单个整数 n n,表示救援队数量。 第二行到第 n + 1 n+1 行:在第 i + 1 i+1 行,有两个时间,表示第 i i 只救援队的出发时间和路程,数据格式均为 hh:mm: hh 表示小时,在 00 到 23 之间; mm 表示分钟,在 00 到 59 之间。 输出格式 共 n n 行,每行一个整数,按救援队到达的先后顺序输出它们的编号。 数据范围 1 ≤ n ≤ 1000 1≤n≤1000。 样例数据 输入: 3 19:00 01:00 15:00 05:00 15:00 05:00 输出: 2 3 1 说明: 3只队伍同时到达,2号和3号出发较早,所(693点数解答 | 2025-08-07 10:56:54)107
- 救援争先 内存限制: 256 Mb时间限制: 1000 ms 题目描述 某地出现了灾害,各地派出了 n n 只救援队。这些救援队是在同一天出发的,但出发时间不一样,路程也有长有短,所以达到时间有先有后。 给定每个队伍的出发时间,以及每只队伍的路程,请按照到达时间为这些队伍排序,如果多只队伍的到达时间正好相等,则出发时间靠前的队伍排在前列,如果出发时间仍然相等,则编号较小的队伍排在前列。 输入格式 第一行:单个整数 n n,表示救援队数量。 第二行到第 n + 1 n+1 行:在第 i + 1 i+1 行,有两个时间,表示第 i i 只救援队的出发时间和路程,数据格式均为 hh:mm: hh 表示小时,在 00 到 23 之间; mm 表示分钟,在 00 到 59 之间。 输出格式 共 n n 行,每行一个整数,按救援队到达的先后顺序输出它们的编号。 数据范围 1 ≤ n ≤ 1000 1≤n≤1000。 样例数据 输入: 3 19:00 01:00 15:00 05:00 15:00 05:00 输出: 2 3 1 说明: 3只队伍同时到达,2号和3号出发较早,所(432点数解答 | 2025-08-07 10:58:12)69