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

 
Seric29:

Me refiero a que si la condición es verdadera, entonces haga 2 acciones idénticas, por ejemplo

He declarado variables y no se hace nada salvo esta acciónPrecio_UrNij = Bar_Cl[iHgCL]>Bar_Op[iHgOP] ? Bar_Cl[iHgCL]:Bar_Op[iHgOP]; o esta acciónPrecio_UrVerh = Bar_Cl[iLwCL]<Bar_Op[iLwOP] ? Bar_Cl[iLwCL]:Bar_Op[iLwOP]; cómo hacer que realice 2 acciones idénticas con los niveles superior e inferior por condición. ¿Puede alguien sugerir cómo escribirlo de forma más breve?

1. Este código es muy difícil de leer.

          int iHgCL=iHighest(_Symbol,PERIOD_D1,MODE_CLOSE,4,qt+1); int iHgOP=iHighest(_Symbol,PERIOD_D1,MODE_OPEN,4,qt+1);

Difícilmente alguien buscaría una declaración de variable fuera del comienzo de una línea.

2. Sólo tienes que llamar a la función de construir niveles dos veces dentro del bloque if

vs_Line_TR( Line_TR, iTime(_Symbol,PERIOD_D1,qt+2),  Price_UrNij, iTime(_Symbol,PERIOD_D1,qt), Price_UrNij, clrGreen, DRAW_LINE, 2, false, false);
vs_Line_TR( Line_TR, iTime(_Symbol,PERIOD_D1,qt+2),  Price_UrVerh, iTime(_Symbol,PERIOD_D1,qt), Price_UrVerh, clrGreen, DRAW_LINE, 2, false, false);
 

¿cuál es la diferencia de uso? ¿cuál es el matiz?

MqlDateTime dt;
datetime time=TimeTradeServer(dt)

и

MqlDateTime tm;
TimeToStruct(TimeTradeServer(),tm);
 
Fast528:

dígame cuál es la diferencia en el uso? ¿cuál es el matiz?

Probablemente no haya ninguna diferencia.

 
Alexey Viktorov:

Probablemente no haya ninguna diferencia.

¿Supongo que el primer caso es si quieres usar la variable de tiempo y la estructura, y el segundo caso es sólo los datos de la estructura?

 
Fast528:

¿Supongo que el primer caso es si quieres usar la variable de tiempo y la estructura, y el segundo caso es sólo los datos de la estructura?

No presté atención a la variable del tiempo.

¿Para qué sirve? Al fin y al cabo, no cuesta nada trasladar la estructura al tiempo. Pero en este caso no habrá memoria reservada para la variable.

O si sólo necesitamos el tiempo sin dividirlo en partes, ¿por qué debemos reservar la memoria para la estructura?

 
Alexey Viktorov:

No presté atención a la variable del tiempo.

¿Para qué sirve? No cuesta nada trasladar la estructura al tiempo. Pero en este caso no habrá memoria reservada para la variable.

O si sólo necesita tiempo sin división, ¿por qué tendría que reservar la memoria para la estructura?

Necesito que el indicador muestre las posiciones de entrada/salida en el gráfico y dibuje una línea entre ellas, por ejemplo, en el periodo de hoy menos 1 día, como se suele hacer en un indicador o robot?

 

Realizando una prueba.

El programa abre el archivo en OnInit():

CFileTxt file;
int file_handle=file.Open("file_name.lic",FILE_READ);
if(file_handle==INVALID_HANDLE)
     {      
      return INIT_FAILED;
     }

No sólo no encuentra el archivo en la carpeta, sino que además borra otro archivo en la carpeta MQL5\Files del agente de pruebas después de la prueba. Hay dos archivos en total que se borran al iniciar.

Error5004 en FileOpen().

El problema está sólo en el probador.

Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
  • www.metatrader5.com
Тестер стратегий позволяет тестировать и оптимизировать торговые стратегии (советники) перед началом использования их в реальной торговле. При тестировании советника происходит его однократная прогонка с начальными параметрами на исторических данных. При оптимизации торговая стратегия прогоняется несколько раз с различным набором параметров...
 
Juer:

Realizando la prueba.

El programa abre el archivo en OnInit():

No sólo no encuentra el archivo en la carpeta, sino que además borra otro archivo en la carpeta MQL5\Files del agente de pruebas después de la prueba. Hay dos archivos en total que se borran al iniciar.

Error5004 en FileOpen().

El problema está sólo en el probador.

Se están limpiando las carpetas de los agentes. Esto es correcto. Si necesita meter un archivo previamente guardado, utilice la referencia al archivo guardado en la carpeta compartida.


Ejemplo de mis códigos:

//--- STEP 6
   if(m_file_txt.Open(InpFileName,FILE_WRITE|FILE_COMMON)==INVALID_HANDLE)
 
Vladimir Karputov:

Se están limpiando las carpetas de los agentes. Esto es correcto. Si necesita meter un archivo previamente guardado, utilice la referencia al archivo guardado en la carpeta compartida.


Un ejemplo de mis códigos:

¿Qué carpeta compartida? No lo uso para nada. Siempre empiezo en modo portátil. Tengo todo en la carpeta de instalación.

 
Juer:

¿Qué carpeta compartida? No lo uso para nada. Yo siempre corro en modo portátil. Tengo todo en la carpeta de instalación.

Carpeta compartida:FILE_COMMON. Busca, lee. Pensar.