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

 
Aleksey Vyazmikin:

Probablemente dependa del método de modelado de garrapatas...

Posiblemente. Pero este broker tiene una calidad de cotización del 100% en todos los pares, excepto enel EUR/USD(el par más popular). Si optimizas tu EA en tal calidad, tienes garantizado el fracaso).

 
Aleksandr Prishenko:

Tal vez. Pero este broker tiene una calidad de cotización del 100% en todos los pares, excepto enel EUR/USD(el par más popular). Si usted optimiza su Asesor Experto usando tal calidad, está garantizado el fracaso).

Se puede ajustar a cualquier condición, lo principal es utilizar más variables/indicadores. Nadie garantiza una repetición de la secuencia de los mismos precios que en el historial - es sólo la probabilidad en la que el Asesor Experto tiene que sobrevivir...

 
Una operación por barra o tiempo. ¿Cómo aplicarlo?
 
Vladimir Baskakov:
Una operación por barra ***

En OnTradeTransaction capturamos la transacción TRADE_TRANSACTION_DEAL_ADD y determinamos el tipo de transacción. Si la operación es DEAL_TYPE_BUY o DEAL_TYPE_SELL, memorizamos la hora actual de apertura del bar. En el bloque de generación de señales, comparamos esta hora con la hora de apertura de la barra actual.

 
Vladimir Karputov:

En OnTradeTransaction capturamos la transacción TRADE_TRANSACTION_DEAL_ADD y determinamos el tipo de transacción. Si la operación es DEAL_TYPE_BUY o DEAL_TYPE_SELL, memorizamos la hora actual de apertura del bar. En el bloque de generación de señales, comparamos este tiempo con el tiempo de apertura de la barra actual.

if (day!=TimeDay(TimeCurrent()))
      {
      
      // проверяем условие открытия
          {
          //если условие подходит, открываем сделку — и изменяем флаг day
          day=TimeDay(TimeCurrent());
          }
 
Vladimir Baskakov:

"TimeDay" - no existe tal función.

 
Vladimir Karputov:

"TimeDay" - no existe tal función.

Perdone mi error, ¿es así?
MqlDateTime currTime=TimeToStruct(TimeCurrent());
   if (day!=currTime.day)
      {
      day=currTime.day);
      
      // открываем сделку
      
 

Vladimir Baskakov:
Пардон ошибся, а так?

MqlDateTime currTime=TimeToStruct(TimeCurrent());
   if (day!=currTime.day)
      {
      day=currTime.day);
      
      // открываем сделку
      

Esto funcionará como "un trato al día".

 
Vladimir Karputov:

Esto funcionará como "un trato al día".

¡Oh, eso es!

 
Hola.
Pregunta: ¿Cómo se calcula el número real de barras del marco temporal? Al pedir Bares, iBars da 01.01.1970 (si se convierte a fecha). Siendo realistas, la barra actual en la pantalla es del 21.09.2019.
La historia completa de la carta es de 25 semanas... (PERIOD_W1).

¿Cómo es exactamente la línea de código de la consulta, qué aparece realmente en la pantalla? ¿Cómo se concilia? Gracias.
Razón de la queja: