设为首页 收藏本站 切换语言 切换语言

基础知识-MT5架构

| 发表于 前天 14:29 | 显示全部楼层 |复制链接
//+------------------------------------------------------------------+
//|                                                       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("这个货币市场深度发生变化。。。");

  }
//+------------------------------------------------------------------+


举报

评论 使用道具

精彩评论2

cyqcyq
DD
| 发表于 前天 14:44 | 显示全部楼层
没看懂,应该挺有意思的
举报

点赞 评论 使用道具

cobra
DDD
| 发表于 前天 19:29 | 显示全部楼层
活跃一下哈哈
举报

点赞 评论 使用道具

发新帖
EA交易
您需要登录后才可以评论 登录 | 立即注册

 简体中文国旗 简体中文
 繁體中文国旗 繁體中文
 English国旗 English(英语)
 日本語国旗 日本語(日语)
 Deutsch国旗 Deutsch(德语)
 Русский язык国旗 Русский язык(俄语)
 بالعربية国旗 بالعربية(阿拉伯语)
 Türkçe国旗 Türkçe(土耳其语)
 Português国旗 Português(葡萄牙语)
 ภาษาไทย国旗 ภาษาไทย(泰国语)
 한어国旗 한어(朝鲜语/韩语)
 Français国旗 Français(法语)
翻译