Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1219

 

¿Lasvariables estáticas declaradas en una función de clase son transferibles a todas las instancias de esa clase?

Por alguna razón, esperaba que fuera diferente para cada instancia.

¿La alternativa son sólo las variables a nivel de clase o hay otras formas complicadas?

 

Hola, necesito especificar la ruta para guardar el archivo, más precisamente el historial de ticks. Ayuda a resolver este problema )

//------------------------------------------------------------------
#property copyright "www.forex-tsd.com"
#property link      "www.forex-tsd.com"
//------------------------------------------------------------------
#property indicator_chart_window

//
//
//
//
//

extern string FileName   = "Ticks.csv";
extern bool   SaveVolume = true; 
int fileHandle;

MqlBookInfo book[];

//------------------------------------------------------------------
//
//------------------------------------------------------------------
//
//
//
//
//

int  OnInit()                   
{ 
   MarketBookAdd(_Symbol); 
      fileHandle = FileOpen(Symbol()+" - "+FileName,FILE_WRITE|FILE_SHARE_READ|FILE_ANSI|FILE_CSV); 
      return(0); 
}
void OnDeinit(const int reason) 
{
   MarketBookRelease(_Symbol);
   FileClose(fileHandle);
}

//------------------------------------------------------------------
//
//------------------------------------------------------------------
//
//
//
//
//

int OnCalculate(const int rates_total, const int prev_calculated, const datetime &Time[],
                const double &Open[], const double &High[], const double &Low[], const double &Close[],
                const long &TickVolume[], const long &Volume[], const int &Spread[])
{                
   if (fileHandle <0)
   {
      static bool alerted = false;
         if (!alerted)
         {
            Alert("File : "+Symbol()+" - "+FileName+" could not be opened"); alerted = true;
         }
         return(0);
   }         

   //
   //
   //
   //
   //
   
   bool bget = MarketBookGet(_Symbol,book);
   int bidVolume = 0;
   int askVolume = 0;

      if (bget)
      {
         int    size = ArraySize(book);
         string info = "\n";
            for (int i=0; i<size; i++)
               {
                  if (book[i].type==BOOK_TYPE_SELL) askVolume += (int)book[i].volume;
                  if (book[i].type==BOOK_TYPE_BUY)  bidVolume += (int)book[i].volume;
               }                  
      }            
      
   if (FileSize(fileHandle) == 0)
         FileWriteString(fileHandle,"date and time,bid,ask,bid volume,ask volume\n");
         if (SaveVolume)
               FileWriteString(fileHandle,TimeToString(TimeCurrent(),TIME_DATE|TIME_SECONDS)+","+DoubleToString(SymbolInfoDouble(_Symbol,SYMBOL_BID),_Digits)+","+DoubleToString(SymbolInfoDouble(_Symbol,SYMBOL_ASK),_Digits)+","+DoubleToString(bidVolume,0)+","+DoubleToString(askVolume,0)+"\n");
         else  FileWriteString(fileHandle,TimeToString(TimeCurrent(),TIME_DATE|TIME_SECONDS)+","+DoubleToString(SymbolInfoDouble(_Symbol,SYMBOL_BID),_Digits)+","+DoubleToString(SymbolInfoDouble(_Symbol,SYMBOL_ASK),_Digits)+"\n");
         FileFlush(fileHandle);
   return(0);
}
 

@NeuralNetwork

FileOpen

El archivo se abre en la carpeta del terminal cliente en la subcarpeta MQL5\Files (o carpeta_agente\MQL5\Files en caso de pruebas).

Si se especifica FILE_COMMON entre las banderas, el archivo se abre en la carpeta común de todos los terminales cliente \Terminal\Common\Files.

--

a otra ubicación sólo a través de un "enlace simbólico"

      fileHandle = FileOpen(Symbol()+" - "+FileName,FILE_WRITE|FILE_SHARE_READ|FILE_ANSI|FILE_CSV);    // FILE_COMMON 



 
NeuralNetwork:
Muchas gracias. Pero, quiero establecer la ruta para guardar el archivo especificando otra unidad o carpeta. No puedo hacerlo...

https://www.mql5.com/ru/docs/files

3 líneas

Документация по MQL5: Файловые операции
Документация по MQL5: Файловые операции
  • www.mql5.com
Из соображений безопасности в языке MQL5 строго контролируется работа с файлами. Файлы, с которыми проводятся файловые операции средствами языка MQL5, не могут находиться за пределами файловой "песочницы". общая папка всех установленных на компьютере терминалов  – обычно расположена в каталоге C:\Documents and Settings\All Users\Application...
 
Fast235:

@NeuralNetwork

FileOpen

El archivo se abre en la carpeta del terminal cliente en la subcarpeta MQL5\Files (o carpeta_agente\MQL5\Files en caso de pruebas).

Si se especifica FILE_COMMON entre las banderas, el archivo se abre en la carpeta común de todos los terminales cliente \Terminal\Common\Files.

--

a otra ubicación sólo a través de un "enlace simbólico"



Muchas gracias.
 
Roman Shiredchenko:


¿cómo resolverán los administradores y moderadores el problema de un robot mal escrito?

 

Por favor, aconsejen si es posible obtener los valores del RSI para el timeframe semanal en el código del Asesor Experto, pero calculando los valores para la semana, comenzando no desde el lunes, sino por ejemplo desde el miércoles (es decir, para la semana desde el miércoles hasta el próximo miércoles). Entiendo que no funcionará con iRSI, porque toma barras semanales, y éstas comienzan el lunes.

Hasta ahora sólo veo una forma de calcularlo. ¿Existe una solución más sencilla o lista?

 
Roman Shiredchenko:

Gritar, vociferar, maldecir, no querer hacer funcionar tu propio código, culpar a los moderadores y administradores, insultar a los moderadores y administradores...

En general, el paquete completo. Le daré una semana para que se calme y resuelva sus errores. ¡Pensamiento!

 
Valeriy Yastremskiy:

Para dar cuenta de un billete.

Al abrir un pedido, el ticket debe ser memorizado.

Gracias
 
Valeriy Yastremskiy:

Las banderas controlan el número de tipos de órdenes o si hay una entrada controlan la hora de cierre de la orden de mercado, si no es igual a cero entonces la orden se ha cerrado y la bandera de apertura de la orden es falsa.

Gracias, ya lo tengo, la gente lo sugirió )))))))😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃
Razón de la queja: