如果需要获取多个符号的信息,只需声明多个CSymbolInfo 类 对象 即可:
#include <Trade\Trade.mqh>
#include <Trade\SymbolInfo.mqh>
#include <Trade\AccountInfo.mqh>
CPositionInfo m_position; // 交易位置对象
CTrade m_trade; // 交易对象
CSymbolInfo m_symbol_EURUSD; // 符号信息对象
CSymbolInfo m_symbol_USDJPY; // 符号信息对象
CSymbolInfo m_symbol_AUDUSD; // 符号信息对象
CAccountInfo m_account; // 账户信息包装器
input int period_EMA = 28;
input int period_WMA = 8;
#include <Trade\SymbolInfo.mqh>
#include <Trade\AccountInfo.mqh>
CPositionInfo m_position; // 交易位置对象
CTrade m_trade; // 交易对象
CSymbolInfo m_symbol_EURUSD; // 符号信息对象
CSymbolInfo m_symbol_USDJPY; // 符号信息对象
CSymbolInfo m_symbol_AUDUSD; // 符号信息对象
CAccountInfo m_account; // 账户信息包装器
input int period_EMA = 28;
input int period_WMA = 8;
其他一切都是标准的--初始化它们:
//+------------------------------------------------------------------+
//| 专家初始化函数|
//+------------------------------------------------------------------+
int OnInit()
{
//---
m_symbol_EURUSD.Name("EURUSD"); // 设置符号名称
m_symbol_USDJPY.Name("USDJPY"); // 设置符号名称
m_symbol_AUDUSD.Name("AUDUSD"); // 设置符号名称
//---
//| 专家初始化函数|
//+------------------------------------------------------------------+
int OnInit()
{
//---
m_symbol_EURUSD.Name("EURUSD"); // 设置符号名称
m_symbol_USDJPY.Name("USDJPY"); // 设置符号名称
m_symbol_AUDUSD.Name("AUDUSD"); // 设置符号名称
//---
您还需要重写 RefreshRates() 函数--这里有两种选择:
- 尝试一次性获取所有符号的价格(在上面的示例中为 "EURUSD"、USDJPY "和 "AUDUSD")。
- 或分别获取每个符号的价格。
弗拉基米尔
能否请您为专家添加一个可选的跟踪止损?
非常感谢。
谢谢
CamarillaGorilla :
弗拉基米尔
弗拉基米尔
能否请您为专家添加一个可选的跟踪止损?
非常感谢。
谢谢
期待在论坛俄语版发布:EMA_WMA v2
EMA_WMA:
作者: Vladimir Karputov