Una domanda per gli esperti di MQL - pagina 9

 

Buon pomeriggio, aiutatemi a trovare un errore nel codice.

Questo è il programma iniziale del tutorial.

Non conta le zecche. Perché è così?

Grazie

//+------------------------------------------------------------------+
//| funzione di inizializzazione esperta |
//+------------------------------------------------------------------+
int Count=0; // variabile globale.
//--------------------------------------------------------------------
int init() // Special init()
{
Alert ("The init() function worked at start"); // Message
return; // Exit init()
}
//--------------------------------------------------------------------
int start() // Special init()
{
double Price = Ask; // Local variable Count.
Count++; // Contatore di tick
Alert("New tick ",Count," Price = ",Price);// Messaggio
return; // Exit start()
}
//--------------------------------------------------------------------
int deinit() // Funzione speciale deinit()
{
Alert ("Deinit() triggered during upload"); // Messaggio
return; // Exit deinit()
}
//--------------------------------------------------------------------

 

Ecco cosa sta uscendo

 

Buongiorno.

Il server della società di brokeraggio dove ho un conto reale è configurato in modo che se non c'è una quotazione per più di 3 minuti (tempi diversi per simboli diversi) allora viene generato un divieto di commercio e invece di eseguire un ordine di apertura/chiusura o di aggiornamento il server risponde con NESSUN PREZZO (finché non arriva la quotazione). Allo stesso tempo, viene visualizzato un messaggio nel registro:

2012.04.20 13:42:07 '245---00': ordine acquistare 0,2 JOK2 apertura a 0,00 sl: 0,00 tp: 0,00 fallito [Fuori quotazioni]

-------------------

Così si scopre che lavorare con EA multicurrency di questa società di brokeraggio in MT4 è impossibile. Soprattutto durante le ore notturne di bassa liquidità - una/due posizioni sono ancora aperte - e altre 2-3 vengono respinte!

Non capisco perché l'abbiano fatto. Il supporto non risponde davvero, si attorcigliano come vermi sotto lo stivale, e si rifanno agli sviluppatori mql - spesso affermando che questa è (letteralmente:) una caratteristica difettosa della piattaforma mt4. Va bene, lasciamolo alla loro coscienza.

Per favore, consigliatemi come riportare al terminale questo strano divieto " apertura a 0.00 sl: 0.00 tp: 0.00 fallita [Off quotes]" - così potrei controllare tutte le 3-4 valute di cui ho bisogno per "NO PRICE" in programmaticamente prima di aprire e solo allora l'EA invierebbe gli ordini per aprire/chiudere le posizioni! Il loro Tech-Support non dà una risposta a questa domanda ...

 
Rita:

Non capisco perché si fa così.

Questa è una stampella. Di solito è una stampella per i DC che hanno problemi con i ritardi nei preventivi.

Se vuoi monitorarlo tu stesso, devi monitorare tutti i tick per tutti i simboli scambiati e introdurre un divieto nell'Expert Advisor in anticipo.

 
greysoldier:

Buon pomeriggio, aiutatemi a trovare un errore nel codice.

Questo è il programma iniziale del tutorial.

Non conta le zecche. Perché è così?

Grazie

//+------------------------------------------------------------------+
//| funzione di inizializzazione dell'esperto |
//+------------------------------------------------------------------+
int Count=0; // variabile globale.
//--------------------------------------------------------------------
int init() //funzione speciale init()
{

}
//--------------------------------------------------------------------
int start() // funzione speciale start()
{
double Price = Ask; // variabile locale.

Count++; // Contatore di tick

Alert("New tick ",Count," Price = ",Price);// Messaggio
return; // Esci da start()
}
//--------------------------------------------------------------------
int deinit() // Funzione speciale deinit()
{

}
//--------------------------------------------------------------------

così
 
TheXpert:

Questa è una stampella. Di solito una cosa del genere viene introdotta nelle società di intermediazione che hanno problemi con i ritardi nelle quotazioni.

Se vogliamo monitorarlo noi stessi, dovremmo monitorare tutti i tick per tutti i simboli scambiati e introdurre il divieto all'Expert Advisor in anticipo.


Quindi risulta che non possiamo impostare programmaticamente il corretto funzionamento dell'EA multicurrency - per l'apertura/chiusura simultanea di posizioni di diverse valute?

Soprattutto perché c'è un intervallo diverso per le diverse valute (e ci sono centinaia di strumenti in MT4!) - nel server c'è un intervallo diverso prima del divieto "NO PRICE" e questi intervalli cambiano durante il giorno!

Cosa hanno da dire gli sviluppatori della piattaforma mt4? Come può un EA multivaluta funzionare normalmente in queste condizioni con frequenti [Off quotes], specialmente di notte ( vedi il mio post sopra)?

 
Rita:

In particolare, per diverse valute (e ci sono diverse centinaia di strumenti in MT4!) - il server imposta diversi intervalli al momento del divieto "NO PRICE".

Questo è vero.

e questi intervalli cambiano durante una giornata!

Questo è improbabile. Sembrano essere cablati nello strumento.

 

Ho fatto domande ai neofiti e nessuna risposta, forse qualcuno qui può aiutare.

Ciao, aiuto consiglio, ha scritto un gufo, periodicamente deve aprire 2 ordini contemporaneamente il problema è che non sempre apre entrambi gli ordini, slippage ho messo e 3 e 5 e 10, ma ancora no no sì e aprire un singolo. Non riesco a capire come organizzare un custode che tenga traccia delle aperture e, se necessario, aprire un ordine mancante "dimenticato"?

 
Mostrami la parte del codice dove imposti le condizioni per aprire questi due ordini allo stesso tempo...
 
Aprire un ordine, controllare l'apertura, se si apre, aprire un secondo ordine con un controllo...
Motivazione: