在设置中选择一个符号 - 页 7

 
Aleksey Mavrin:

1.已经有了。

你能给我一个链接或在哪里看吗?

 
Alexey Viktorov:

这是我描述的第二个选项。从准备好的列表中以逗号分隔的方式交易货币。只是在我的变体中,情况有些不同。该清单看起来像这样

然后,数组 从列表中被填充,我们对数组进行操作。而且我们还定义了货币后缀,并在填充数组 时自动加入。这是为了避免在不同的账户中重新输入清单。

已经这么久了,我才意识到。

//+------------------------------------------------------------------+
//|                                            AccountInfoDouble.mq5 |
//|                        Copyright 2021, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2021, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property script_show_inputs
//+------------------------------------------------------------------+
//| ENUM_FOREX_CROSSES                                                 |
//+------------------------------------------------------------------+
enum Enum_Symbol {EURUSD,GBPUSD,USDCHF,USDJPY,USDCAD,AUDUSD,AUDNZD,AUDCAD,AUDCHF,AUDJPY,
                  CHFJPY,EURGBP,EURAUD,EURCHF,EURJPY,EURNZD,EURCAD,GBPCHF,GBPJPY,CADCHF
                 };
//+------------------------------------------------------------------+
input double      InpLots = 0.1;    // Lots
input Enum_Symbol Symb    = EURUSD; // Forex.crosses
//---
string symb_name[]= {"EURUSD","GBPUSD","USDCHF","USDJPY","USDCAD","AUDUSD","AUDNZD","AUDCAD","AUDCHF","AUDJPY",
                     "CHFJPY","EURGBP","EURAUD","EURCHF","EURJPY","EURNZD","EURCAD","GBPCHF","GBPJPY","CADCHF"
                    };
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   double priceL=0.0;
   double marginL=0.0;
//--- select lot size
   if(!SymbolInfoDouble(symb_name[Symb],SYMBOL_ASK,priceL))
      return;
   if(!OrderCalcMargin(ORDER_TYPE_BUY,symb_name[Symb],InpLots,priceL,marginL))
      return;
   if(marginL<=0.0)
      return;
   Alert(symb_name[Symb]," \\  ","price "," =  ",priceL);
   Alert(symb_name[Symb]," \\  ","margin"," =  ",marginL);
   printf("price  =  %G",priceL);
   printf("margin =  %G",marginL);
  }
//+------------------------------------------------------------------+