Características del lenguaje mql5, sutilezas y técnicas - página 17

 
Combinador:
Err ¿por qué si no es visible de todos modos?

Estos parámetros pueden omitirse si no es necesario mostrar un indicador.

Y la compatibilidad con el código antiguo no se verá comprometida. Durante las pruebas, el indicador siempre aparece.

 
Slawa:

Porque es imposible establecer las propiedades de visualización (parte de dibujo) a través de la manija del indicador (parte de cálculo). Un error es cuando algo está escrito de una manera, pero funciona de otra.

En este caso es necesario un enfoque diferente. Acceso al indicador por nombre corto, como en el grupo de funciones ChartIndicatorXXX. Algo como ChartIndicatorSetInteger(chart_id,sub_window,indicator_name,PROP_COLOR,mod,value)

Ya hemos pensado en ello, pero aún no nos hemos puesto a ello.

Si está destinado a los indicadores fijados de forma programada, ¿no sería mejor sustituir el resaltado por el asa del indicador?
 

Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading

Peculiaridades del lenguaje mql5, consejos y trucos

fxsaber, 2017.02.25 16:02

  static bool HistoryDealSelect( MqlTradeResult &Result )
  {
    if ((Result.deal == 0) && (Result.order != 0))
    {
      if (::HistorySelectByPosition(::HistoryOrderGetInteger(Result.order, ORDER_POSITION_ID)))
        for (int i = ::HistoryDealsTotal() - 1; i >= 0; i--)
        {
          const ulong DealTicket = ::HistoryDealGetTicket(i);

          if (Result.order == ::HistoryDealGetInteger(DealTicket, DEAL_ORDER))
          {
            Result.deal = DealTicket;

            break;
          }
        }
    }

    return(::HistoryDealSelect(Result.deal));
  }
  // Учтены MT5-нюансы: Result.deal == 0
  static bool OrderSendSync( const MqlTradeRequest &Request, MqlTradeResult &Result )
La sincronización ya no es relevante. Sólo se destaca la pieza responsable de la corrección de Result.deal.
 
fxsaber:
La sincronización ya no es relevante. Sólo se destaca la pieza responsable de la corrección de Result.deal.
¿Qué es la "corrección de resultados"?
 
Alexey Viktorov:
Si esto es para los indicadores que se fijan mediante programación, ¿no es mejor reemplazar el resaltado por la manija del indicador?
No es mejor. Porque es imposible sin cambios en la arquitectura. He descrito el motivo con detalle.
 
Artyom Trishkin:
¿Qué es la "corrección de resultados"?

Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading

Bichos, errores, preguntas

fxsaber, 2017.02.23 15:34

Del BOD.

No se garantiza la finalización del boleto comercial resultante. El hecho de que se llene o no depende del modo de ejecución del instrumento y de la configuración del servidor concreto.

Que se acostó por un resultado no nulo.Trato - tomar medidas.

 
Roffild:

Estos parámetros pueden omitirse si no es necesario mostrar el indicador.

Si quieres mostrarlo, puedes poner estos ajustes en los parámetros.
 
fxsaber:

Bueno... Veo que no se puede apostar por un resultado no nulo. Entonces, ¿qué dice esta línea?

// Учтены MT5-нюансы: Result.deal == 0

¿Dónde están contabilizados?

 
Artyom Trishkin:

Bueno... Veo que no se puede apostar por un resultado no nulo. Entonces, ¿qué dice esta línea?

¿Dónde están contabilizados?


En OrderSendSync se llama a la sobrecarga (ver arriba) HistoryDealSelect.
 

fxsaber:

static bool OrderSendSync( const MqlTradeRequest &Request, MqlTradeResult &Result )

La sincronización ya no es relevante. Sólo se destaca la pieza responsable de la corrección de Result.deal.

Y déjame preguntarte por qué estática.