Sviluppato una libreria di funzioni API per MetaTrader 4 - pagina 6

 
<br / translate="no"> Notate anche che Omega "non conosce" le definizioni del file Mforex.h. Cioè, per esempio, quando chiamate la funzione di apertura della posizione, dovreste specificare il codice dell'operazione, per esempio, Sell - 1, invece di OP_SELL, ecc. Per maggiori dettagli, vedere la documentazione di DevKit, che descrive il modo in cui omega lavora con le librerie esterne.
Buona fortuna!


Ho la documentazione per DevKit, ma non ci ho trovato nulla, l'inglese è una foresta oscura.
Ma c'è un estratto del documento mforex.n,
Ordini
enum { OP_BUY=0,
OP_SELL,
OP_BUY_LIMIT,
OP_SELL_LIMIT,
OP_BUY_STOP,
OP_SELL_STOP,
OP_BALANCE,
OP_CREDITO
};

significa che se
OP_BUY=0 allora
OP_SELL=1 e
OP_BUY_LIMIT=2 ecc.

Se è così, non è difficile.

E il nome dello strumento?
 
<br / translate="no"> E il nome dello strumento?

Hai praticamente capito tutto da solo. Il nome dello strumento deve essere tra virgolette, in quanto viene passato a MT4 invariato. Quando ho creato la libreria MFOREX, inizialmente volevo numerare tutte le coppie disponibili allo stesso modo, ma poi si è scoperto che i modi standard non possono fornire una lista di strumenti scambiati! Quindi, scriviamo semplicemente "USDCHF" o "GBPUSD".
Potete anche passare il nome della coppia in una variabile stringa.
Buona fortuna!
 
Grazie mille, meno problemi con l'Omega finora.
Ho trovato un problema più grande:
L'Expert Advisor in MT4 è rotto, cioè non funziona da solo, è grigio nella lista, cosa fare?
L'ho scaricato di nuovo e non è cambiato.

L'ho scaricato da HELP:

Una volta completato lo sviluppo, è necessario compilare l'EA. Per farlo, eseguite il comando di menu "File - Compile" nell'editor EA, premete F9 o cliccate sul pulsante della barra degli strumenti. Come risultato di una compilazione riuscita, verrà creato un file eseguibile del programma con l'estensione *.EX4 e verrà automaticamente collocato nella cartella /EXPERTS. L'elenco degli Expert Advisors compilati può essere visualizzato nella finestra "Navigator - Expert Advisors" del terminale client. Se la compilazione non ha successo, l'icona dell'Expert Advisor sarà grigia. Significa che non può essere usato.
 
Come risultato di una compilazione riuscita, viene creato un file di programma eseguibile con estensione *.EX4, che viene collocato automaticamente nella cartella /EXPERTS. L'elenco degli EA compilati può essere visualizzato nella finestra Navigator-Advisors del terminale client. Se la compilazione non ha successo, l'icona dell'Expert Advisor sarà grigia. Significa che non può essere usato. <br / translate="no">

Qui ti sbagli. L'Expert Advisor è completamente realizzabile. Il colore grigio significa anche che non esiste un file sorgente *.MQ4. La maggior parte degli EA commerciali sono distribuiti in questo modo in forma compilata. Prova a rimuovere la fonte di qualsiasi Expert Advisor e riavvia il terminale - l'Expert Advisor diventerà grigio.
Inoltre, consiglio di sostituire il file Mem.dll con uno nuovo. Ho convertito quest'ultimo nella nuova build del terminale di trading 197. Mem.dll è già stato cambiato alla nuova versione nei file sul mio sito:
http://www.min2006.ru
Buona fortuna!
 
Buon pomeriggio, ho questa domanda:
se voglio entrare nel mercato per mercato, devo ancora specificare un prezzo?
 
Buon pomeriggio, ho questa domanda:<br/ translate="no"> se voglio entrare nel mercato per mercato, ho ancora bisogno di specificare un prezzo?

Ciao, questa è una procedura standard. Tutti gli Expert Advisors lavorano in questo modo: prima si ottiene il prezzo corrente (la funzione TikKot) e poi si forma un nuovo ordine a questo prezzo (NewPos). Se aprite un ordine di acquisto, prenderete il prezzo Ask, e se vendete un ordine, prenderete il prezzo Bid.
Guardate l'esempio sul mio sito in C++ o Delphi. Vi si possono trovare varianti di apertura delle posizioni.
Buona fortuna!
 
Così ieri stavo eseguendo DLL in Omega tutto il giorno con diverse funzioni e ho scoperto che Omega si blocca costantemente da DLL. La finestra del numero di computer si apre e anche alcuni, non so se questo è un problema solo nella demo o cosa? Quindi non mi disturba molto la finestra dei numeri, ma l'Omega si blocca rendendo impossibile il lavoro...
 
Così ieri stavo eseguendo DLL in Omega tutto il giorno con diverse funzioni e ho scoperto che Omega si blocca costantemente da DLL. La finestra del numero di computer si apre e anche alcuni, non so se questo è un problema solo nella demo o cosa? Quindi la finestra con il numero non mi disturba molto, ma l'omega si blocca rendendo impossibile il lavoro... <br/ translate="no">

Non posso rispondere a niente di specifico. Non ho testato la libreria con Omega. Apparentemente il problema è una chiamata di funzione errata della libreria. Avete riservato la memoria per gli array di dati restituiti? Posso anche raccomandarti di indagare attentamente i log di MT4 e della libreria stessa (crea il file Protokol.dat quando funziona).
La finestra con il numero di computer appare solo nella versione demo. Buona fortuna!
 
Avete riservato la memoria per gli insiemi di dati restituiti? <br / translate="no">


Come si fa?
 
<br/ translate="no">Come si fa?

È una procedura standard per qualsiasi linguaggio di programmazione. Guardate nella documentazione di Omega. È necessario dichiarare un array per il suo uso successivo. Per esempio, per ottenere la storia delle quotazioni avete bisogno di 2000-5000 elementi dell'array. Per l'array, prima dell'operazione, dobbiamo usare Omega per allocare lo spazio necessario in memoria.
Avete visto cosa c'è nei registri?