Seleccione un símbolo en los ajustes - página 7

 
Aleksey Mavrin:

1. Ya está disponible.

¿Puede darme un enlace o dónde buscar?

 
Alexey Viktorov:

Esta es la segunda opción que he descrito. Opere con divisas de la lista preparada en una línea separada por comas. Sólo que en mi variante es un poco diferente. La lista tiene el siguiente aspecto

Luego se llena el array desde la lista y se opera con el array. Y también definimos el sufijo de la moneda y lo unimos automáticamente al llenar la matriz. Esto es para evitar tener que volver a escribir la lista en diferentes cuentas.

Ha pasado tanto tiempo y me acabo de dar cuenta.

//+------------------------------------------------------------------+
//|                                            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);
  }
//+------------------------------------------------------------------+