Errori, bug, domande - pagina 2123

 

Per riassumere la domanda. Qual è lo scopo di CAccountInfo, COrderInfo, CSymbolInfo, CPositionInfo e CTerminalInfo?

Ho guardato il loro codice sorgente. Qual è il vantaggio di usarli?


CDealInfo eCHistoryOrderInfo - anche questi sono scritti con errori logici. Qual è lo scopo di usarli?


Bene, abbiamo CTrade. Tutto è chiaro con esso; può essere utile dove e così via. Ma che dire delle Info-classi?

 
Quasi tutti i metodi nelle classi Info dovrebbero essere statici. Per quale motivo non è così?
 
Qualcuno ci pensa mentre scrive il codice?

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

Consulenti esperti: TrailingTakeProfit

fxsaber, 2018.02.07 16:17

Immaginate una semplice ottimizzazione per 100.000 passaggi di 10.000.000 di tick. Allora OnTick verrebbe chiamato un trilione di volte. Qualsiasi azione extra chiamata un trilione di volte richiederebbe secondi/minuti/ore extra. Apprezza il tuo tempo e quello degli altri.

 
fxsaber:
Qualcuno ci pensa quando scrive il codice?

Credo che...

 
Vladimir Pastushak:

Credo che...

Allora è meglio non scrivere così

   Comment(
           "\n","DayLimit ",DoubleToStr(DayLimit,2),               // Выводит на экран установленный лимит
           "\n","DayProfit ",DoubleToStr(DayProfit,2),             // Выводит на экран текущий профит за день
           "\n","Dostupno",DoubleToStr(DayProfit+DayLimit,2),      // Выводит на экран остаток от лимита
           "\n","Trade ",text                                      // Выводит на экран сообщение о разрешении торговать или нет
           );
 
Ragazzi! Aiuto) una settimana fa è uscito aggiornato il mio 10. Ho deciso di salvare uno screenshot dell'area di lavoro del terminale, ho premuto file-save as image-active chart e ho premuto OK, la finestra si chiude e questo è tutto......... Ho avuto lo stesso problema su due terminali in diversi broker (la reinstallazione non aiuta
 
fxsaber:

Allora è meglio non scrivere così.

Spesso è difficile capire cosa intendi. Richiede di sedersi accanto a te e vedere tutto quello che leggi, controlli, scrivi.

Manca il contesto.

 
Rashid Umarov:

Spesso è difficile capire cosa intendi. Richiede di sedersi accanto a te e vedere tutto quello che leggi, controlli, scrivi.

Manca il contesto.

Perché DoubleToStr da solo sarà chiamato tre trilioni di volte per niente. Vediamo quanto tempo ci vuole.

double Func( const string )
{
  return(1);
}

void OnStart()
{  
  double d = 0;

  for (long i = 0; i < 3 e12; i++)
    d += Func(DoubleToString(d, 2));
  
  Print(d);  
}

Sulla mia macchina non debole, sono 50 ore. Cioè, un Expert Advisor vuoto con un tale Commento (il Commento stesso non sarà chiamato nella modalità di ottimizzazione, ma i parametri di input saranno calcolati) aggiungerà 50 ore al tempo di attesa. Chi pensa a questo quando scrive il codice?

 
2018/02/08 00:21:15 Completato #2151967 Stardust11
Особенности языка mql5, тонкости и приёмы работы
Особенности языка mql5, тонкости и приёмы работы
  • 2017.11.20
  • www.mql5.com
В данной теме будут обсуждаться недокументированные приёмы работы с языком mql5, примеры решения тех, или иных задач...
 

Da remoto.

Думаю, все сильно зависит от кодера. Испытываю неприятное ощущение от отсутствия каких-либо попыток что-либо написать не медленно.

Ho affinato la velocità nel mio tester solo quando avevo bisogno di ottimizzare rapidamente (centinaia di volte più velocemente di MT) un overshoot completo. Ci sono volute poche ore per ottimizzare in un fine settimana, invece di un mese.

E in MT4Orders, quando si voleva finalmente mettere un punto ragionevole a MT5.

Non stiamo parlando di un'esecuzione in combattimento, siamo nel Tester. Il solo fatto che il Cloud sia disponibile dimostra che la velocità è un collo di bottiglia. In sintesi, gli utenti di Cloud hanno speso una somma enorme per pagare l'incompetenza dei codificatori.

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

Consulenti: TimeEA

fxsaber, 2018.02.07 04:01

Non un solo EA di MQ in KB (non ho guardato la consegna standard). Strana situazione. MQ continua a sottolineare le buone velocità di MT5 ma non sembra averle misurate. Forse è per questo che permettono di pubblicare il codice lento a scopo di formazione.


Mi piacerebbe vedere un codice di riferimento di MQ. Quando non ci sono errori logici, l'accelerazione algoritmica è impossibile, il codice è scomposto, sono coinvolti diversi tipi di ordine (non solo il mercato), l'invio e l'elaborazione degli ordini asincroni, la storia del trading e i tick sono coinvolti. Almeno per un simbolo.