Erros, bugs, perguntas - página 1929

 

Agora é impossível determinar se o Expert Advisor está a funcionar em modo de negociação ou em modo de recepção de quadros. Por favor, acrescente uma menção apropriada no nome da EA, como já é feito com o Debug-start.

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

Precisamos de um análogo de IndicatorParameters para EAs - ExpertParameters.

Devido à sua ausência, é impossível compreender no OnTesterPass quais os parâmetros de entrada do passe calculado que chegaram.

A função FrameInputs não ajuda? Ou talvez não compreenda o quê e como é suposto ser utilizado.

 
Stanislav Korotky:

A função FrameInputs não ajuda? Ou não compreendo o quê e como é suposto ser utilizado.

Sim, é disso que você precisa! Não consegui vê-lo.

 

Antes podia arrastar uma DLL para dentro de mim e ver a lista de funções disponíveis, agora não pode fazer isso, ou mudou de alguma forma?

 

Mais uma vez o erro HistorySelect no testador. Em 1626, penso que não havia nenhum. Em 1629 existe.

#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:

Mais uma vez o erro HistorySelect no testador. Em 1626, penso que não havia nenhum. Em 1629 - há.

OExpert Advisor está a correr no seu computador com informação pré-carregada.

Leva algum tempo (menos de 10 segundos) para que a acção feita agora seja exibida:

1. O seu terminal envia um pedido para o servidor

2. O servidor processa-o.

3) actualiza a sua informação terminal

4. Depois disso receberá o HistorySelect e HistoryDealsTotal correcto

Significado: para ver a última acção na história, é necessário executar Sleep after Trade e before HistorySelect

... ou verificar de alguma forma que a história não está desactualizada.

(o mesmo que para as citações - tem-nas mas são as mesmas que eram no momento do descarregamento)

 
Ivan Ivanov:
fxsaber:

Mais uma vez HistorySelect errorin the tester. Em 1626, penso que não havia nenhum. Em 1629 existe.

 

Aqui está um exemplo :

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

Sem dormir, não funciona para mim, mas quando há 10 segundos está bem.

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

Aqui está um exemplo :

Trata-se de um testador.
Razão: