Aprender y escribir juntos en MQL5 - página 20

 

Transferido desde Escribir y ganar en MQL5



Khomtchenko 2011.05.07 22:01

Me pueden decir cómo modificar, es decir, cambiar el valor del stop loss en mql5. Ya sé cómo hacerlo en el 4. Estoy intentando modificar mi robot para la versión 5 y se ha quedado atascado.


 
sergeev:

Transferido desde Escribir y ganar en MQL5



Khomtchenko 2011.05.07 22:01

Me pueden decir cómo modificar, es decir, cambiar el valor del stop loss en mql5. Ya sé cómo hacerlo en el 4. Estoy intentando modificar mi robot para la versión 5 y se ha quedado atascado.



Lea este artículo Cómo crear un Trailing Stop
 
El probador escupe un gráfico sin los indicadores necesarios, como el estocástico, etc., luego tengo que añadir, ¿cómo hacer para que se añadan automáticamente?
 
customprogrammi:
El probador escupe un gráfico sin los indicadores necesarios, como los estocásticos, etc., por lo que hay que añadirlos más tarde.

Utilice la plantilla requerida, puede leer sobre las plantillas en la sección de Ayuda del Terminal MetaTrader 5Trabajar con gráficosPlantillas y perfiles:

Hay varios nombres de plantillas predefinidas en el terminal:

  • default.tpl - plantilla básica que se aplica automáticamente al crear un nuevo gráfico;
  • tester.tpl - plantilla que se utiliza para el gráfico, en el que se muestran los resultados de las pruebas;
  • debug.tpl- plantilla que se aplica al gráfico que se crea al inicio de la depuración del programa MQL5 desde el MetaEditor.

Para crear una plantilla con los parámetros requeridos (o modificar una existente), configure el gráfico de la manera requerida y guarde la plantilla con el nombre requerido utilizando el comando correspondiente.

 
AUser:

¿Alguien puede sugerir algunos ejemplos, artículos sobre el tema?

http://docs.mql4.com/ru/globals
Глобальные переменные - Документация на MQL4
  • docs.mql4.com
Глобальные переменные - Документация на MQL4
 
AUser:

Variables globales del terminal cliente.


Deberíamos cubrir el tema. No he encontrado ningún ejemplo real en la Ayuda. Estoy tratando de averiguar cómo crear dicha variable. Hasta ahora, tengo errores en mis variantes.

¿Puede alguien sugerir un ejemplo, un artículo sobre el tema?


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

Aprendamos a leer un manual, la gente ha escrito las letras con palabras, y tú las ignoras.

GlobalVariableSet("nombre_de_la_variable",valor_de_la_variable)

Establece el nuevo valorde la variable global. Si la variable no existe, el sistema crea una nueva variable global.

 
AUser:

Gracias, eso es todo:

¿Cómo podría yo, un tonto sin calefacción, conocer las comillas?)

No hay ningún ejemplo para mql5 Ayuda))

datetime  GlobalVariableSet(
   string  name,      // имя
   double  value      // устанавлимое значение
   );

El manual dice que el nombre de una variable global se especifica como una cadena, las comillas son una forma normal de especificar una cadena.

Lee las reglas, porque son reglas.

Puedes configurarlo así:

string  name="Глобальная_переменная";
double   value=123.0456;
GlobalVariableSet(name,value);
Документация по MQL5: Глобальные переменные терминала / GlobalVariableName
Документация по MQL5: Глобальные переменные терминала / GlobalVariableName
  • www.mql5.com
Глобальные переменные терминала / GlobalVariableName - Документация по MQL5
 
Tengo un procedimiento para detectar el inicio de una nueva barra en mql4:
void Fun_New_Bar() // Un fiie de detección .

{ // ...nueva barra
static datetime New_Time=0; // hora de la barra actual
New_Bar=false; // no hay nueva barra
if(New_Time!=Time[0]) // compara la hora
{
New_Time=Time[0]; // la hora es ahora
New_Bar=true; // Atrapó la nueva barra
}
} Todo
funcionó como un reloj.

Aquí lo modifiqué en mql5:
void Fun_New_Bar() // Detección de la diversión ...
{ // ... nueva barra
static datetime New_Time=0; // Hora de la barra actual
New_Bar=false; // No hay nueva barra
MqlTick last_tick;//Los precios del último tick recibido
SymbolInfoTick(_Symbol,last_tick);//Rellena la estructura last_tick con los precios del símbolo actual.
if(New_Time!=last_tick.time) // Compara el tiempo
{
New_Time=last_tick.time; // Ahora el tiempo es
New_Bar=true; // Atrapó una nueva barra
}
}Pero
algo sobre la variable New_Bar que se vuelve verdadera cada tick.

Debo estar obteniendo el tiempo de la nueva barra mal de alguna manera.
Обработчик события "новый бар"
Обработчик события "новый бар"
  • 2010.10.04
  • Konstantin Gruzdev
  • www.mql5.com
Язык программирования MQL5 позволяет решать задачи на совершенно новом уровне. Даже те задачи, которые уже вроде имеют решения, благодаря объектно-ориентированному программированию могут подняться на качественно новый уровень. В данной статье специально взят простой пример проверки появления нового бара на графике, который был преобразован в достаточно мощный и универсальный инструмент. Какой? Читайте в статье.
 
Khomtchenko:
Pero la variable New_Bar se convierte en verdadera cada tick.

Debo estar entendiendo mal la hora de la nueva barra.

Porque se toma un nuevo tiempo de tic cada vez, y por supuesto no es igual al anterior.

Y en la función anterior tomaste la hora de inicio de la barra, así que aquí también debes tomar la hora de la barra, no la hora del tick.

 
No lo dudo, pero para comprobarlo, ¿alguien ha creado el mismo EA en mql4 y mql5 y ha comparado los resultados de las pruebas? Debería ser perfectamente similar si el código está bien transformado, ¿no? ¿O me equivoco?
Razón de la queja: