Errori, bug, domande - pagina 1929

 

Ora è impossibile determinare se l'Expert Advisor sta funzionando in modalità di trading o in modalità di ricezione dei frame. Si prega di aggiungere una menzione appropriata nel nome dell'EA, come viene già fatto con Debug-start.

 

Forum sul trading, sistemi di trading automatico e test di strategie di trading

Bug, bug, domande

A100, 2017.07.11 17:50

Fammi un esempio di questo caso d'uso

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

Abbiamo bisogno di un analogo di IndicatorParameters per gli EA - ExpertParameters.

A causa della sua assenza, è impossibile capire in OnTesterPass quali parametri di ingresso del passaggio calcolato sono arrivati.

La funzione FrameInputs non aiuta? O forse non capisco cosa e come dovrebbe essere usato.

 
Stanislav Korotky:

La funzione FrameInputs non aiuta? Oppure non capisco cosa e come dovrebbe essere usato.

Sì, è quello che ti serve! Non potevo vederlo.

 

Prima si poteva trascinare una DLL in me e vedere l'elenco delle funzioni disponibili, ora non c'è questa cosa o è cambiato in qualche modo?

 

Ancora una volta l'errore di HistorySelect nel tester. Nel 1626 non credo che ce ne fosse uno. Nel 1629 c'è.

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

Ancora una volta l'errore di HistorySelect nel tester. Nel 1626 non credo che ce ne fosse uno. Nel 1629 - c'è.

Expert Advisor è in esecuzione sul tuo computer con informazioni precaricate.

Ci vuole un po' di tempo (meno di 10 secondi) perché l'azione fatta ora sia visualizzata:

1. Il vostro terminale invia una richiesta al server

2. Il server lo elabora.

3) aggiorna le informazioni del tuo terminale

4. Dopo di che riceverete i corretti HistorySelect e HistoryDealsTotal

Significato: per vedere l'ultima azione nella storia, è necessario eseguire Sleep dopo Trade e prima di HistorySelect

... o usare qualche altro mezzo per controllare che la cronologia non sia superata.

(lo stesso che per le citazioni - le avete ma sono le stesse che erano al momento del download)

 
Ivan Ivanov:
fxsaber:

Ancora una volta l'errore di HistorySelectnel tester. Nel 1626 non credo che ce ne fosse uno. Nel 1629 c'è.

 

Ecco un esempio:

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

Senza Sleep non funziona per me, ma quando ci sono 10 secondi va bene.

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

Ecco un esempio:

Si tratta di un tester.