Errores, fallos, preguntas - página 1929

 

Ahora es imposible determinar si el Asesor Experto está funcionando en modo de negociación o en modo de recepción de tramas. Por favor, añada una mención apropiada en el nombre del EA, como ya se hace con el Debug-start.

 
const uchar Tmp[]; // 'Tmp' - 'const' variable must be initialized  
FrameAdd(Name, ID, Value, Tmp); // Нужно передать только Value
 
fxsaber:

Necesitamos un análogo de IndicatorParameters para EAs - ExpertParameters.

Debido a su ausencia, es imposible entender en OnTesterPass qué parámetros de entrada del pase calculado han llegado.

¿No ayuda la función FrameInputs? O tal vez no entiendo qué y cómo se supone que se usa.

 
Stanislav Korotky:

¿No ayuda la función FrameInputs? O no entiendo qué y cómo debe usarse.

¡Sí, eso es lo que necesitas! No pude verlo.

 

Antes podías arrastrar una DLL hacia mí y ver la lista de funciones disponibles, ahora no puedes hacerlo, ¿o ha cambiado de alguna manera?

 

De nuevo el error de HistorySelect en el probador. En 1626, creo que no había ninguno. En 1629 hay.

#include <Trade\Trade.mqh>

void OnTick()
{
  static CTrade Trade;

  const datetime NowTime = TimeCurrent();
  
  if (Trade.Buy(1) && Trade.PositionClose(_Symbol) && HistorySelect(NowTime, NowTime))
  {
    Print(HistoryDealsTotal()); // 0 - это при том, что мы открыли и закрыли позицию в NowTime-время
      
    ExpertRemove();
  }
}
 
fxsaber:

De nuevo el error de HistorySelect en el probador. En 1626, creo que no había ninguno. En 1629 - hay.

ElAsesor Experto está funcionando en su ordenador con información precargada.

La acción realizada ahora tarda algún tiempo (menos de 10 segundos) en aparecer:

1. Su terminal envía una solicitud al servidor

2. El servidor lo procesa.

3) actualiza la información de tu terminal

4. Después de esto, recibirá los datos correctos de HistorySelect y HistoryDealsTotal

Significado: para ver la última acción en el historial, es necesario ejecutar Sleep después de Trade y antes de HistorySelect

... o comprobar de alguna manera que el historial no está desfasado.

(lo mismo que en el caso de las cotizaciones: las tienes pero son las mismas que había en el momento de la descarga)

 
Ivan Ivanov:
fxsaber:

De nuevo el error de HistorySelecten el probador. En 1626, creo que no había ninguno. En 1629 hay.

 

He aquí un ejemplo:

//--- отправка запроса
    if ( !OrderSend(request,result) )
      PrintFormat("OrderSend error %d",GetLastError());
    else
    { Sleep(9999); // Time to get result
      ..... // Здесь мне нужен result
    }

Sin Sleep no me funciona, pero cuando hay 10 segundos va bien.

https://www.mql5.com/ru/docs/trading/ordersend
Документация по MQL5: Торговые функции / OrderSend
Документация по MQL5: Торговые функции / OrderSend
  • www.mql5.com
Торговые функции / OrderSend - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Ivan Ivanov:

He aquí un ejemplo:

Se trata de un probador.
Razón de la queja: