基于RSI的自动挂单与订单管理 - MetaTrader 4 的实用工具

Mike 2014.08.12 22:46 29 0 0
附件

自动挂单与管理订单

  • 利用RSI 自动挂单;
  • 周末降低风险,下周恢复持仓;
  • 邮件发送一些有用的信息。

使用建议:

1. 设置测试模式为 true 以进行回测,false 以进行实盘交易:

extern bool testmode = false;//true:用于回测

2. 如果在测试模式下,请仅设置一个交易品种,例如:

extern string tradesymbol1 = "EURUSDm_802_2802_1602_200_860";
extern string tradesymbol2 = "";
extern string tradesymbol3 = "";
extern string tradesymbol4 = "";
extern string tradesymbol5 = "";
extern string tradesymbol6 = "";

如果是在真实账户模式下,设置 testmode 为 false,并配置交易品种,如下所示(使用 "," 分隔品种,使用 "_" 分隔品种参数):

extern string tradesymbol1 = "EURUSDm_802_2802_1602_200_860,USDCHFm_506_2606_1506_120_600";
extern string tradesymbol2 = "USDJPYm_460_2802_1302_100_320";
extern string tradesymbol3 = "";
extern string tradesymbol4 = "";
extern string tradesymbol5 = "";
extern string tradesymbol6 = "";

EURUSDm_802_2802_1602_200_860 的含义:

  • 交易品种:EURUSDm(m 代表我的 Exness 小账户,可能需要修改为您自己的品种)
  • 挂单点数:802(挂单间隔)
  • 周末点数加幅:2802(周末扩大点数)
  • 取消点数:1602(当间隔超过此点数时,关闭挂单)
  • 移动止损:200(移动止损)
  • 虚拟止盈:860(虚拟止盈)

3. 如果您想在周末删除挂单,请设置 weekenddelete=true;如果您想扩大挂单间隔并在下周恢复,请设置 weekenddelete=false。

extern bool weekenddelete = false;//true: 删除 false: 修改

4. 周末模式的开始和结束时间(5 表示星期五,7 表示星期日(时间为 GMT,可能需要根据您的当地时间进行调整,默认参数在北京时间下运行良好):

//周五交易结束时间
extern int weekendbeginday = 5;
extern string weekendbegintime = "20:30";//周五 20:30
extern int weekendendday = 7;
extern string weekendendtime = "23:30";//周日 20:30

5. 所有您希望通过邮件接收 RSI 值提示(>70 或 <30)并定期报告给您的品种。显然,如果您的账户不是迷你账户,您需要修改 AUDJPYm。

string symbolsstr1 = "AUDJPYm,AUDCADm,AUDCHFm,AUDNZDm,AUDSGDm,AUDUSDm,CADCHFm,CADHKDm,CADJPYm,CHFJPYm,CHFPLNm,CHFSGDm,EURAUDm,EURBRLm,EURCADm,EURCHFm,EURDKKm,EURGBPm,EURHKDm,EURHUFm,EURJPYm,EURMXNm";
string symbolsstr2 = "GBPCHFm,GBPJPYm,GBPNZDm,GBPUSDm,HKDJPYm,HUFJPYm,MXNJPYm,NZDCADm,NZDCHFm,NZDJPYm,NZDSGDm,NZDUSDm,SGDJPYm,USDBRLm,USDCADm,USDCHFm,USDCZKm,USDDKKm,USDHKDm,USDHUFm,USDJPYm,USDMXNm";
string symbolsstr3 = "EURNOKm,EURNZDm,EURPLNm,EURRUBm,EURSEKm,EURSGDm,EURTRYm,EURUSDm,EURZARm,GBPAUDm,GBPCADm,USDNOKm,USDPLNm,USDRONm,USDRUBm,USDSEKm,USDSGDm,USDTRYm,USDZARm,XAGUSDm,XAUUSDm,ZARJPYm";
long sendmininterval = 3600;

 6. RSI 配置:

//rsi
extern int rsitimeframe = PERIOD_H4;
extern int rsiperiod  = 14;
extern ENUM_APPLIED_PRICE rsiappliedprice = PRICE_CLOSE;
extern int rsishift = 0;
extern double rsiupperline = 70;
extern double rsilowerline = 30;

7. 使用 magicweekendexpiration 来识别周末模式,如果有人有更好的方法,请告诉我。

int magicweekendexpiration = 1577836800;//2020-1-1 0:0:0 int值:1577836800

8. 其他注意事项:

如果切换到周末模式失败,EA 将发送邮件并尝试 MAX_MODIFY_TRY_TIME(默认 100 次)次,直到成功。

不应用止损,如果某个品种的小损失(最小买入或最大卖出订单)超过挂单点数,EA 将挂另一个相同品种的订单。

在测试模式下,如果权益低于余额的 95%,EA 将写入状态到警告文件。

if(((AccountEquity()/AccountBalance()) < 0.95))
        {
            WriteToWarningFile();
        }

如果您发现任何错误或有建议,请随时告诉我。

列表
评论 0