MT4其他常用内置函数

2025-03-04  本文已影响0人  AI_Finance

MT4(MetaTrader 4)除了订单相关的内置函数外,还提供了许多其他有价值的内置函数,这些函数涵盖了账户信息、市场数据、时间管理、图表操作、文件操作、字符串处理、数学计算等多个方面。以下是 MT4 中一些常用且有价值的内置函数分类及其功能简介:


1. 账户信息函数

这些函数用于获取账户的基本信息,例如余额、杠杆、货币等。

  1. AccountBalance()

    • 功能:获取账户余额。
    • 语法
      double AccountBalance();
      
    • 返回值:账户余额。
  2. AccountEquity()

    • 功能:获取账户净值(余额 + 浮动盈亏)。
    • 语法
      double AccountEquity();
      
    • 返回值:账户净值。
  3. AccountFreeMargin()

    • 功能:获取账户的可用保证金。
    • 语法
      double AccountFreeMargin();
      
    • 返回值:可用保证金。
  4. AccountMargin()

    • 功能:获取账户当前占用的保证金。
    • 语法
      double AccountMargin();
      
    • 返回值:占用的保证金。
  5. AccountLeverage()

    • 功能:获取账户的杠杆倍数。
    • 语法
      double AccountLeverage();
      
    • 返回值:账户杠杆。
  6. AccountCurrency()

    • 功能:获取账户的基础货币。
    • 语法
      string AccountCurrency();
      
    • 返回值:账户基础货币(如 USD)。
  7. AccountNumber()

    • 功能:获取账户号码。
    • 语法
      int AccountNumber();
      
    • 返回值:账户号码。

2. 市场信息函数

这些函数用于获取交易品种的市场数据,例如点值、价格、保证金要求等。

  1. MarketInfo()

    • 功能:获取指定交易品种的市场信息。
    • 语法
      double MarketInfo(string symbol, int type);
      
    • 参数
      • symbol:交易品种(如 EURUSD)。
      • type:信息类型(如 MODE_BIDMODE_ASKMODE_MARGINREQUIRED 等)。
    • 返回值:指定类型的市场信息。

    常用的 type

    • MODE_BID:当前买价。
    • MODE_ASK:当前卖价。
    • MODE_SPREAD:点差。
    • MODE_MARGINREQUIRED:开仓所需保证金。
    • MODE_TICKVALUE:每点的价值。

3. 时间函数

这些函数用于获取时间信息,例如服务器时间、本地时间等。

  1. TimeCurrent()

    • 功能:获取服务器时间。
    • 语法
      datetime TimeCurrent();
      
    • 返回值:服务器时间(datetime 类型)。
  2. TimeLocal()

    • 功能:获取本地计算机时间。
    • 语法
      datetime TimeLocal();
      
    • 返回值:本地时间。
  3. TimeGMT()

    • 功能:获取 GMT 时间。
    • 语法
      datetime TimeGMT();
      
    • 返回值:GMT 时间。
  4. TimeDayOfWeek()

    • 功能:获取当前时间是星期几。
    • 语法
      int TimeDayOfWeek();
      
    • 返回值:星期几(0 表示星期日,1 表示星期一,依此类推)。
  5. TimeDayOfYear()

    • 功能:获取当前时间是今年的第几天。
    • 语法
      int TimeDayOfYear();
      
    • 返回值:今年的第几天。

4. 图表操作函数

这些函数用于操作图表,例如获取图表信息、修改图表属性等。

  1. ChartID()

    • 功能:获取当前图表的 ID。
    • 语法
      long ChartID();
      
    • 返回值:当前图表的唯一 ID。
  2. WindowPriceMin() / WindowPriceMax()

    • 功能:获取当前图表窗口的价格范围。
    • 语法
      double WindowPriceMin();
      double WindowPriceMax();
      
    • 返回值:图表窗口的最小/最大价格。
  3. ChartSetInteger()

    • 功能:设置图表属性。
    • 语法
      bool ChartSetInteger(long chart_id, int property_id, long sub_window, long value);
      
    • 参数
      • chart_id:图表 ID。
      • property_id:属性类型(如 CHART_MODECHART_SCALE 等)。
      • value:属性值。
    • 返回值:成功返回 true,失败返回 false
  4. ChartOpen()

    • 功能:打开新图表。
    • 语法
      long ChartOpen(string symbol, int period);
      
    • 返回值:新图表的 ID。

5. 技术指标函数

这些函数用于获取技术指标的值,例如移动平均线、RSI 等。

  1. iMA()

    • 功能:计算移动平均线(MA)。
    • 语法
      double iMA(string symbol, int timeframe, int period, int ma_shift, int ma_method, int applied_price, int shift);
      
    • 返回值:指定位置的 MA 值。
  2. iRSI()

    • 功能:计算相对强弱指数(RSI)。
    • 语法
      double iRSI(string symbol, int timeframe, int period, int applied_price, int shift);
      
    • 返回值:指定位置的 RSI 值。
  3. iMACD()

    • 功能:计算 MACD 指标。
    • 语法
      double iMACD(string symbol, int timeframe, int fast_ema_period, int slow_ema_period, int signal_period, int applied_price, int mode, int shift);
      
    • 返回值:指定位置的 MACD 值。

6. 文件操作函数

这些函数用于在本地文件系统中读写文件。

  1. FileOpen()

    • 功能:打开文件以进行读写操作。
    • 语法
      int FileOpen(string filename, int mode, int delimiter=';');
      
    • 返回值:文件句柄。
  2. FileWrite()

    • 功能:向文件写入数据。
    • 语法
      void FileWrite(int handle, ...);
      
  3. FileRead()

    • 功能:从文件读取数据。
    • 语法
      string FileRead(int handle);
      
  4. FileClose()

    • 功能:关闭文件。
    • 语法
      void FileClose(int handle);
      

7. 数学和字符串函数

这些函数用于数学计算和字符串处理。

  1. MathAbs()

    • 功能:计算绝对值。
    • 语法
      double MathAbs(double value);
      
  2. MathPow()

    • 功能:计算幂。
    • 语法
      double MathPow(double base, double exponent);
      
  3. StringFind()

    • 功能:查找子字符串的位置。
    • 语法
      int StringFind(string text, string substring, int start=0);
      
  4. StringSubstr()

    • 功能:提取子字符串。
    • 语法
      string StringSubstr(string text, int start, int length);
      

总结

MT4 提供了大量的内置函数,涵盖了账户管理、市场数据、时间管理、图表操作、技术指标、文件操作以及数学和字符串处理等多个领域。这些函数是开发自动化交易系统、指标和脚本的基础工具,合理使用这些函数可以帮助开发者实现复杂的交易逻辑和功能。

上一篇 下一篇

猜你喜欢

热点阅读