Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Ora mi sta dando...
2012.02.26 15:47:46 Tester file C:-Usersopenlive\AppData\Roaming\MetaQuotes\Terminal\9C3619DD286B60B1DB9B9989A2FFC701\MQL5\Files\signal10000.csv open error [32]
Per prima cosa, controlla cosa hai nella cartella C:-Users\openlive\AppData\Roaming\MetaQuotes\Terminal\9C3619DDD286B60B1DB9B989A2FFC701\MQL5Files\
Secondo: non c'è nessun errore 32 in MQL5. Strano... Controllate l'handle dopo aver provato ad aprire il file e l'ultimo codice di errore dopo aver provato ad aprirlo?
Cos'è la "modalità matematica"?
Cos'è la "modalità di calcolo matematico"?
In questa modalità, solo OnTester() viene chiamato; tuttavia, la complessità e il volume dei calcoli in OnTester() non è limitato. Se si calcola il profitto del vostro Expert Advisor per i parametri di input dati, è possibile utilizzare l'algoritmo genetico del tester per l'ottimizzazione.
Per favore aiutatemi a capire, il mio cervello sta bollendo.
1. Capisco che il passaggio al sistema operativo x64 è legato al fatto che è impossibile "partizionare" più di 4 GB di RAM su 4 byte. Ho il sistema operativo x64, perché i puntatori occupano 4 byte (non riguarda solo mql, ma anche C++))?
2. Domanda su MT4: perché quando chiamo la funzione dll:
La variabile dll può essere presa normalmente in queste varianti:
Anche se presumo che puntatore e riferimento, per idea non dovrebbero essere compatibili, per esempio perché il puntatore al doppio prende 4 byte nel mio caso.
Funziona così:
Non funziona:
Almeno come funzionerebbe (voglio passare più array)? Non voglio farlo via backtracking.
Almeno come farlo correttamente (voglio passare diversi array)? Perché non voglio passare dalla porta di servizio.
E in MQL, chi metterà & nella dichiarazione di funzione?
Sì, probabilmente sarebbe la cosa giusta da fare. Ma non è che MQL funzioni comunque in C (potrei sbagliarmi).
Sì, probabilmente sarebbe la cosa giusta da fare. Solo MKL non funziona in qualche modo da C comunque (posso sbagliarmi).
c'è una differenza nel passaggio - tutto deve essere passato solo per riferimento &, per puntatore ' * ' solo gli oggetti di classe possono essere passati
Pensavo che un'area di memoria elementare fosse composta da due parti: un indirizzo e un valore. Se un indirizzo viene trasmesso, deve essere in qualche variabile con l'indirizzo dell'area da trasmettere nel campo "valore". Ecco perché non capisco come queste varianti possano funzionare correttamente allo stesso tempo:
Possiamo provare a trovare una spiegazione come - viene trasferita l'area di memoria "così com'è" e il lato ricevente decide cosa fare con essa (scrivere l'indirizzo al valore o copiare l'indirizzo). Ma questa ipotesi è distrutta dal fatto che non funziona così:
Si potrebbe di nuovo cercare una spiegazione - nei primi duplicati, l'indirizzo nel campo "valore" è dato come input, e la parte ricevente decide cosa fare con esso. In contrasto con questo, il fatto che in C++ il compilatore dice di non farlo, a suo parere o così:
o questo:
Tutto sommato, non vedo altro che contraddizioni.Tu chiedi, io rispondo.
Sono giunto alla conclusione che un link e un puntatore sono essenzialmente la stessa cosa. Ci sono leggere differenze:
Un punto molto importante è: se la funzione chiamata ha un riferimento o un puntatore come argomento, l'indirizzo viene effettivamente passato. Questo è molto importante da capire quando si chiama da dll.
Puoi dirmi come trovare il valore esatto dell'incrocio della linea stocastica principale e dell'indicatore?
Visivamente è facile, ma come implementarlo programmaticamente?