- 2
- 0
- 约9.09千字
- 约 18页
- 2016-05-27 发布于重庆
- 举报
MT4-程序的基本结构
使用MQ4语言编制自动交易系统的基本知识.Title 编制自动交易系统的基本知识一个交易系统大致包括以下几个方面:1 开仓策略,即什么条件满足时开仓, 如某条线和某条线上交叉或下交叉,2 平仓策略,即什么条件满足时平仓, 包括止赢设置,止损设置,和跟踪止赢设置三个方面.3 资金管理, 其中一个方面就是下单的大小4 时间管理, 如持仓时间,开平仓时间间隔等5 账户状态分析,如交易历史,当前资金/仓位/各仓为盈亏状态等.当然一个交易系统不必包括全部内容,本文做为入门知识也仅通过实例介绍交易系统程序的基本构成.//+------------------------------------------------------------------+//| Designed by OKwh, China |//| Copyright 2007, OKwh Dxdcn |//| /FXTrade |//+------------------------------------------------------------------+#property copyright Copyright 2007 , Dxd, China.#property link /FXTrade , /users/DxdCn#define MAGICMA 200610011231//+------------------------------------------------------------------+//| 注意没有指标文件那些property |//+------------------------------------------------------------------+extern int whichmethod = 1; //1~4 种下单方式 1 仅开仓, 2 有止损无止赢, 3 有止赢无止损, 4 有止赢也有止损extern double TakeProfit = 100; //止赢点数extern double StopLoss = 20; //止损点数extern double MaximumRisk = 0.3; //资金控制,控制下单量extern double TrailingStop =25; //跟踪止赢点数设置extern int maxOpen = 3; //最多开仓次数限制 extern int maxLots = 5; //最多单仓持仓量限制 extern int bb = 0; //非零就允许跟踪止赢extern double MATrendPeriod=26;//使用26均线 开仓条件参数 本例子int i, p2, xxx,p1, res;double Lots; datetime lasttime; //时间控制, 仅当一个时间周期完成才检查条件int init() //初始化{ Lots = 1;lasttime = NULL;return(0); }int deinit() { return(0); } //反初始化//主程序int start(){CheckForOpen(); //开仓 平仓 条件检查 和操作if (bb0) CTP(); //跟踪止赢return(0);}//+------下面是各子程序--------------------------------------------+double LotsOptimized() //确定下单量,开仓调用 资金控制{double lot=Lots;int orders=HistoryTotal(); // history orders totalint losses=0; // number of losses orders without a break//MarketInfo(Symbol(),MODE_MINLOT); 相关信息//MarketInfo(Symbol(),MODE_MAXLOT);//MarketInfo(Symbol(),MODE_LOTSTEP);lot=Normali
原创力文档

文档评论(0)