Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 673

 

Es decir, sería algo así:

// Простой параболик. Переворотная стратегия.
// В условиях, когда в терминале уже есть открытые позиции по другим инструментам.

input double TakeProfit    =2500;
input double StopLoss      =400;
input double Lots          =1;
input double TrailingStop  =100;

input double Parameter1    =0.02; // Параметры индикатора PSAR
input double Parameter2    =0.2;
   
static int ticket_sell     =0;

void OnTick()
{
 

Hola. Puede alguien mostrarme cómo insertar Comment(TimeToStr(TimeLocal(),TIME_SECONDS));

Lo tengo o la hora (local) se actualiza sólo con un nuevo tick (nuestro Internet es malo), o la hora es correcta y el Asesor Experto deja de funcionar

 
Irina_:

Hola. Puede alguien mostrarme cómo insertar Comment(TimeToStr(TimeLocal(),TIME_SECONDS));

Lo tengo o la hora (local) se actualiza sólo con un nuevo tick (nuestro Internet es malo), o la hora es correcta y el Asesor Experto deja de funcionar


Debes escribir el reloj en OnTimer() para que no dependa de los ticks.
 

Nunca he utilizado OnTimer() antes. ¿Qué aspecto tendría? Soy un principiante.

Ahora lo he hecho así:


int inicio()

{ aquí está el código del búho

- - - - - - - - - - - - - - - -

al final puse :

while(!IsStopped())

{

Comment(TimeToStr(TimeLocal(),TIME_SECONDS) +""+TimeToStr(TimeCurrent(),TIME_SECONDS) )

}

return(0);

}

Parece que se ve, pero el comentario aparece en el gráfico un tiempo después, tras 15 minutos, cuando el EA ya ha abierto un par de órdenes ¿Por qué?

 
Irina_:

Nunca he utilizado OnTimer() antes. ¿Qué aspecto tendría? Soy un principiante.

Ahora lo he hecho así:


int inicio()

{ aquí está el código del búho

- - - - - - - - - - - - - - - -

al final puse :

while(!IsStopped())

{

Comment(TimeToStr(TimeLocal(),TIME_SECONDS) +""+TimeToStr(TimeCurrent(),TIME_SECONDS) )

}

return(0);

}

Parece que se ve, pero el comentario aparece en el gráfico un tiempo después, tras 15 minutos, cuando el EA ya ha abierto un par de órdenes ¿Por qué?


int OnInit()
{

EventSetTimer(нужное количество секунд);
   




   return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
   EventKillTimer();
   



}
//+------------------------------------------------------------------+
void OnTick()
{

   
}
//+------------------------------------------------------------------+
void OnTimer()
{


Comment(TimeToStr(TimeLocal(),TIME_SECONDS));
} //+------------------------------------------------------------------+
 
Gracias, lo probaré.
 
vadynik:

Para no perder el valor que necesita una variable global, mueva su declaración fuera deOnTick() o hágala estática
No es necesario moverlo fuera del ámbito global y hacerlo estático. Dentro de la función. Junto a position_exists.
 
simpleton:
No es necesario sacarlo y hacerlo global, basta con hacerlo estático. Dentro de la función. Junto a position_exists.

Entonces, ¿qué escribí? O
 
rusa:
¿Funcionan los EAs de Metatrader 4 en el terminal androide?
No. No hay ninguna disposición para los EA en absoluto.
 
Mr.Profit:

Resulta que SymbolSelect("AUDUSD", true) devuelve true sólo si AUDUSD no está en MarketWatch - es decir, cuando el par se añade a MarketWatch. Una vez que el par está en MarketWatch, las siguientes llamadas devuelven false.

Este comportamiento no coincide en absoluto con el manual de esta función.

Tuve que utilizar una función escrita por mí mismo que escanea todos losSymbolName(i, true) para i=0...SymbolsTotal(true).

Todo encaja.

El segundo parámetro de la función es un interruptor.

1. Si envía true, entonces tiene que seleccionar un símbolo en Market Watch.

1.1.Si no está ya ahí, se seleccionará y la función devolverá true.

1.2. Si ya está ahí, la función no funcionará (no hay nada que seleccionar) y devolverá false.

2. Si envía false, el símbolo debe ser eliminado de la vigilancia del mercado.

2.1 Si está ahí, y no hay gráficos abiertos y/o posiciones abiertas para este símbolo, entonces el símbolo será eliminado de la Vigilancia del Mercado y la función devolverá true.

2.2 Si está presente, pero hay gráficos abiertos con este símbolo y/o hay posiciones abiertas con él, la función no funcionará y devolverá false.

2.3 Si no está, la función no funciona (no hay nada que eliminar) y devuelve false.

Es así...