Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 385

 
Artyom Trishkin:

Sí, gracias por la ciencia. Me aseguraré de pensar en ello...

ZS. ¿Qué impide entonces devolver la comprobación no en una condición, sino en una variable y ya comprobarla? Probablemente la complejidad más salvaje de este proyecto en el futuro...

Y una cosa más: si el proyecto se amplía, el tiempo de ejecución del código también puede aumentar. Como resultado, habrá muchos cálculos que realizar después de que los datos se escriban en la variable. Entonces, ¿no es posible que cuando necesitemos una segunda comprobación, la orden ya se haya cerrado (en un stop, por ejemplo... o toma...), y el programa calcule entonces un valor incorrecto almacenado en la variable?

Exactamente, hay que pensar de antemano en los grandes proyectos y en todas las posibles situaciones que pueden darse. Así que me reafirmo en mi convicción: ten siempre los datos más recientes justo antes de utilizarlos. En la medida de lo posible.

Voy a añadir en el destacado y después de su uso, si las nuevas condiciones comerciales siguen
 
Artyom Trishkin:
¿Me estás hablando a mí? Bueno, también me alegro por ti. Pero al final volverás a lo que te sugerí, uniéndote así a las filas de los inadecuados.
Yo también quería escribirle algo, pero el hombre escribe con errores gramaticales, así que pensé - no hace falta, es demasiado tarde, no entenderá....
 
new-rena:
Voy a añadir en el destacado y después de su uso, si las nuevas condiciones comerciales siguen

Si los datos siguen siendo necesarios después, deben ser frescos de nuevo. Es decir, encontrarlos de nuevo en el mercado, no leer de una variable, sino encontrarlos. Entonces, incluso la desconexión del terminal no afectará a los valores de las variables. Se han puesto en marcha - han obtenido información fresca, con lo que han averiguado el estado general del entorno en el momento de la puesta en marcha y han seguido trabajando desde el punto en el que se encontraban antes. Naturalmente, hemos hecho algunos ajustes para las nuevas realidades después de reiniciar el terminal. Pero nuestros datos son los más actualizados en el momento actual. Y las variables ... ...definitivamente no son para almacenar información importante. Pero para utilizar en las órdenes de comercio, o para tomar decisiones importantes - en primer lugar, todos los datos necesarios fueron leídos desde el servidor en las variables, a continuación, se analizó, se tomó una decisión basada en el análisis de los datos frescos, y los valores de las variables se pasaron a la función responsable de las acciones específicas que debe tomar el Asesor Experto al tomar una decisión. Algo así...

Bueno... No estoy hablando del probador, en todo caso ...

 
new-rena:
Yo también quería escribirle algo, pero el hombre escribe con errores gramaticales, así que pensé - no hace falta, es demasiado tarde, no entenderá....
:) ¿Tarde, en el sentido de "perdido para siempre"? O simplemente... ¿tiempo de despedida para él?
 
Artyom Trishkin:
:) ¿Tarde, como en "perdido para siempre"? O simplemente... ¿la hora del adiós para él?

el primero, a juzgar por lo que escribe a la gente que le da consejos.

Adiós - hay tres significados aquí )

 
new-rena:

uno, a juzgar por lo que escribe a la gente que le da consejos.

Adiós - aquí hay tres significados).

Bueno... No creo que vaya a comprar nada. Así que eso nos deja o dormir o despedirnos...
 
Artyom Trishkin:
Bueno... ...no creo que vaya a comprar nada. Así que o duermes o te despides...
veamos - suerte de principiante )
 
new-rena:
veamos - suerte de principiante)
He oído un dicho diferente...
 
Por favor, aconséjeme. Estoy conectado a una señal y en consecuencia tengo sus órdenes abiertas copiadas, ¿puedo cambiar el volumen del lote que negocia de alguna manera. Si es así, ¿cómo?
 

Mira, en el cuatro, parece que no puedo pasar...

Trabajo con arrays - necesito escribir la hora de llegada del tick en el array - por ejemplo, escribo una oferta. En cada garrapata. Lo hago todo según las entradas, por lo que estoy agradecido a Artyom Trishkin . No todo funciona. Lucha por el segundo día. Imprime

 Print (" Значение xBuffer_Time[SIZE-1] = ", DoubleToStr(xBuffer_Time[SIZE-1],Digits) );

ceros.

https://www.mql5.com/ru/forum/145455/page913#1017464

//---------------------
extern int MaxDrawTicks=100;
extern int Num_Aver_of_Ticks=5;  
double     xBuffer_Time []; // Массив значений  
                         // В котором индекс - номер тика, значение - это бид 
int SIZE=0;               // Вспомогательная переменная для массива                                  
int tickCounter, tickCounter_Current; 
//+------------------------------------------------------------------+
int init()
  {   
//--- устанавливаем размер динамического массива
   if(ArrayResize(xBuffer_Time,SIZE)<0) {Print(" Ошибка в изменении размера массива времени поступления тиков "); return(false);}
//--- установим индексацию для буфера как в таймсерии для динамического массива
  // ArraySetAsSeries(xBuffer_Time,true);    
//---   Возвращает количество элементов указанного массива. 
   SIZE=ArraySize(xBuffer_Time);
   if (SIZE>=0) Print("Размер массива: ",SIZE);
   else Print("Ошибка. Массив не создан ",SIZE);        
   ArrayInitialize(xBuffer_Time, 0);
   return(0);
  }  
//+------------------------------------------------------------------+
int start()
  {  
   //ArrayResize(ValueArr,size);
   //ValueArr[size-1] = GetValue();
   //size++; 
 //----------------------------------------  
   ArrayResize(xBuffer_Time,SIZE);
   xBuffer_Time[SIZE-1] = Bid; //NormalizeDouble((iTime (_Symbol,1,0)-_start), 2); 
   SIZE ++;
   Print (" Значение xBuffer_Time[SIZE-1] = ", DoubleToStr(xBuffer_Time[SIZE-1],Digits) );
   Print (" Значение SIZE = ", DoubleToStr(SIZE,2) );  
 //---------------------------------------      
//------------
   return(0);
  }

Gracias.

Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - MQL4 форум
  • www.mql5.com
Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - MQL4 форум
Razón de la queja: