Errori, bug, domande - pagina 677

 
Ho dimenticato qualcosa. Chi può dirmi come usare correttamente #import per una libreria che si trova in una sottodirectory della cartella principale?
 
danielalmaty:

Ciao, potresti darmi un suggerimento?


La differenza è che nella versione originale, l'oggetto è descritto come:

CiADX *m_ADX;

cioè l'oggetto è dinamico. E nel tuo:

CiADX m_ADX;

In questo caso il metodo dovrebbe assomigliare a questo:

//+------------------------------------------------------------------+
//| Create ADX indicator.                                            |
//| INPUT:  indicators -pointer of indicator collection.             |
//| OUTPUT: true-if successful, false otherwise.                     |
//| REMARK: no.                                                      |
//+------------------------------------------------------------------+
bool CSignalMY_MA_ADX::InitADX(CIndicators* indicators)
  {
//--- add ADX indicator to collection
   if(!indicators.Add(m_ADX))
     {
      printf(__FUNCTION__+": error adding object of the ADX");
      return(false);
     }
//--- initialize ADX indicator
   if(!m_ADX.Create(m_symbol.Name(),m_period,m_period_ADX))
     {
      printf(__FUNCTION__+": error initializing object of the ADX");
      return(false);
     }
//--- ok
   return(true);
  }
 
Interesting:
Ho dimenticato qualcosa. Chi può dirmi come usare correttamente #import per la libreria che si trova nella sottodirectory della cartella principale?

In MT4, funziona così: #import "TrendLine\MemoryDLL.dll"
 

https://www.mql5.com/ru/forum/23/page15

MetaTester: cambiato il funzionamento del metodo di test "per prezzi aperti". Come prima, l'OnTick dell'Expert Advisor viene attivato solo all'apertura della barra, ma invece dei tick M1 OHLC, riproduce gli stati alto, basso e chiusura della barra che viene testata. Per questo motivo, gli stop e gli ordini pendenti possono scattare a un prezzo diverso da quello specificato. Questo ci ha permesso di ottenere un'accelerazione multipla dei test.

Possiamo mantenere la vecchia modalità insieme a quella nuova? Tutti potranno scegliere un compromesso tra velocità e qualità.
 
papaklass:

Per la qualità, la modalità "tutte le zecche" non vi andrebbe bene?

In certi casi, no. Non mi piace molto la modalità in cui gli scambi possono non essere eseguiti al prezzo dichiarato (e questo fenomeno sarà considerato la norma).

Pertanto, sosterrò personalmente la richiesta di Konstantin.

 
papaklass:

Cosa intende per "non al prezzo pubblicizzato"? Chiarire.

Leggete il testo con più attenzione.

MetaTester: cambiato il funzionamento del metodo di test "per prezzo di apertura". Come prima, OnTick dell'Expert Advisor viene lanciato solo all'apertura della barra, ma invece dei tick M1 OHLC vengono riprodotti gli stati alto, basso e chiusura della barra che viene testata. Per questo motivo, gli stop e gli ordini pendenti possono scattare a un prezzo diverso da quello specificato. Questo ci ha permesso di ottenere un'accelerazione multipla dei test.

Dato che sono abituato a lavorare con gli ordini pendenti, questo punto è molto importante per me, e non voglio che gli ordini pendenti si attivino"non al prezzo dichiarato".

Con questo approccio, questo tipo di test non mi interessa assolutamente.

Ecco perché suppongo che la variante che prevede due tipi di test "per prezzi di apertura" (sulle barre dei minuti e sulla barra da testare) sarà una soluzione abbastanza ragionevole.

 
papaklass:

Sì, neanche a me piace questo punto. Sulla barra successiva puoi semplicemente controllare se l'ordine pendente è nell'intervallo alto-basso della barra precedente. Se è così, allora ha funzionato ai prezzi stabiliti.

La domanda non riguarda il controllo, può essere fatto se lo si desidera. La domanda è: perché? In effetti, una tale implementazione non sarebbe accettabile per me personalmente nel modo "prezzi aperti", e quindi, quando si usa il modo "tutti i tick", otterrò dei rallentamenti tremendi. Oppure non so quale sarà il risultato in una corsa "veloce".
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы - Документация по MQL5
 

C'è un esempio di MovingAverages che funziona allo stesso modo (nell'attuale build 607) sia in modalità M1 OHLC che in modalità Open Prices. Perché? Perché funziona rigorosamente all'inizio di una barra - c'è un controllo speciale.

Imposta la stessa condizione nel tuo EA e usa M1 OHLC. E sarete fortunati.

 
stringo:

C'è un esempio di MovingAverages che funziona allo stesso modo (nell'attuale build 607) sia in modalità M1 OHLC che in modalità Open Prices. Perché? Perché funziona rigorosamente all'inizio di una barra - c'è un controllo speciale.

Se imposti la stessa condizione nel tuo EA e usi M1 OHLC. E sarete felici.


1. Beh, sì, forse sta commerciando come dovrebbe essere. Ma è incorporato nella sua strategia. Non ce l'ho come parte della mia strategia, uso gli ordini pendenti.

E non è chiaro per quanto riguarda gli stop - da quando dovrebbero (possono) funzionare a prezzi che non sono visualizzati?

Quindi non sarò felice, almeno non a meno che non passi a "Tutte le zecche".

E se controllo una nuova barra e faccio trading solo sulla sua apertura, sarà una strategia diversa.

Ne ho bisogno?

Обработчик события "новый бар"
Обработчик события "новый бар"
  • 2010.10.04
  • Konstantin Gruzdev
  • www.mql5.com
Язык программирования MQL5 позволяет решать задачи на совершенно новом уровне. Даже те задачи, которые уже вроде имеют решения, благодаря объектно-ориентированному программированию могут подняться на качественно новый уровень. В данной статье специально взят простой пример проверки появления нового бара на графике, который был преобразован в достаточно мощный и универсальный инструмент. Какой? Читайте в статье.
 
Interesting:

Beh, sì, potrebbe fare trading come si deve. Ma lo ha nella sua strategia. E non ce l'ho nella mia strategia, faccio trading su ordini pendenti.

E non capisco gli stop - da quando dovrebbero (potrebbero) lavorare a prezzi che non sono stabiliti?

Quindi non sarò felice, almeno non a meno che non passi a "Tutte le zecche".

E se controllo una nuova barra e faccio trading solo sulla sua apertura, allora sarà una strategia completamente diversa.

Ne ho bisogno?

No, come ho capito, ti hanno offerto un modo "come fare trading ai prezzi di apertura nel tester, ma tenendo conto dei tick". Hai bisogno di una tale opzione nel tester, vero? Puoi riprodurre i risultati del suo lavoro completando un po' il tuo codice ed eseguendolo in modalità M1 OHLC (sai, come introdurre un'opzione/interruttore nel tuo EA per i test)... E anche eseguirlo in modalità "all ticks".