//+------------------------------------------------------------------+
//| EA框架说明.mq5 |
//| Copyright 2025, MetaQuotes Ltd. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2025, MetaQuotes Ltd."
#property link "https://www.mql5.com"
#property version "1.00"
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
#include <zhinengjiaoyi/15_class.mqh>
int OnInit()//导入时使用
{
//--- create timer
EventSetTimer(60);//定时器60秒执行一次void OnTimer()的程序
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)//程序退出时使用
{
//--- destroy timer
EventKillTimer();//定时器
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()//监控程序,价格变动时执行1次,可以在打印日志&专家看到
{
}
//+------------------------------------------------------------------+
//| Timer function |
//+------------------------------------------------------------------+
void OnTimer()//跟单时可以用时间来判定
{
//---
printf(TimeToString(TimeLocal(),TIME_DATE|TIME_SECONDS));
}
//+------------------------------------------------------------------+
//| Trade function |
//+------------------------------------------------------------------+
void OnTrade()
{
//---
}
//+------------------------------------------------------------------+
//| TradeTransaction function |
//+------------------------------------------------------------------+
void OnTradeTransaction(const MqlTradeTransaction& trans,//接受的信息事件
const MqlTradeRequest& request,//请求结构
const MqlTradeResult& result)//结果结果
{
/*
trans - 该参数获得描述应用于交易账户的交易事务的 MqlTradeTransaction结构;
request - 该参数获得描述交易请求的MqlTradeRequest结构;
result - 该参数获得描述交易请求执行结果的MqlTradeResult结构。
*/
if(trans.type==TRADE_TRANSACTION_REQUEST)
{
if(request.action==TRADE_ACTION_DEAL && request.type==ORDER_TYPE_BUY)
{
Alert("你已开多单。。。。");
}
}
}
//+------------------------------------------------------------------+
//| Tester function |
//+------------------------------------------------------------------+
double OnTester()
{
//---测试历史数据时候使用
double ret=0.0;
//---
//---
return(ret);
}
//+------------------------------------------------------------------+
//| TesterInit function |
//+------------------------------------------------------------------+
void OnTesterInit()
{
//---优化历史数据之后执行
}
//+------------------------------------------------------------------+
//| TesterPass function |
//+------------------------------------------------------------------+
void OnTesterPass()
{
//----优化历史数据之后执行
}
//+------------------------------------------------------------------+
//| TesterDeinit function |
//+------------------------------------------------------------------+
void OnTesterDeinit()
{
//----优化历史数据之后执行
}
//+------------------------------------------------------------------+
//| ChartEvent function |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,// 事件 ID
const long &lparam,// 长整型事件参量
const double &dparam,// 双精度事件参量
const string &sparam) // 字符串事件参量
{
//---
if(id==CHARTEVENT_CLICK)
{
Alert("你单击了鼠标"+ "X:"+(string)lparam + "y:"+(string)dparam);
}
}
//+------------------------------------------------------------------+
//| BookEvent function |
//+------------------------------------------------------------------+
void OnBookEvent(const string &symbol)
{
//---获取市场深度数据,需要事先同意用函数MarketBookAdd()接收这个交易品种的BookEvent。如果不同接收某个特定交易品种的BookEvent,可以调用 MarketBookRelease()。
printf("这个货币市场深度发生变化。。。");
}
//+------------------------------------------------------------------+
|