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
Non ho chiesto a nessuno in particolare.
Ma avrà fatto bene a prenderla sul personale.
Non posso chiamarti stupido, ma sei sordo, questo è certo.
Non si sentono gli altri. Non sto parlando delle mie osservazioni, ma dei consigli che ti sono stati dati.
Avete mai scritto programmi interoperabili?
Quello che Ant_TL chiede è "interoperabilità", ma non può essere implementato in MQL.
Avete mai scritto un programma interoperabile?
Quello che Ant_TL chiede è "interoperabilità", ma non è fattibile in MQL.
Non è difficile da implementare. E c'è una soluzione di principio. Troppo pigro per leggere oltre
Non è difficile da implementare. E c'è una soluzione. Troppo pigro per leggere oltre
Non sarete in grado di eseguire le operazioni con gli ordini e assicurarvi che l'ambiente non ne risenta.
È già stato detto diGetLastError(), non sarete in grado di ripristinare il codice che dovrebbe essere restituitodalla funzione GetLastError().
Non sarete in grado di eseguire operazioni con ordini ed essere sicuri che l'ambiente non sarà influenzato.
È già stato detto di GetLastError(), non sarete in grado di recuperare il codice che la funzione GetLastError() avrebbe dovuto restituire.
Puoi farlo se vuoi, avrà solo la sua propria funzione (intendoGetLastError())
Questa può sembrare una soluzione - OrderSelect() - MySelect() wrapper da usare nelle funzioni che cercano gli ordini per indice
int last_select=0; // mettilo da qualche parte prima di init e start
// ...... codice del programma
bool MySelect(int i,int mode=MODE_TRADES){ // selezione dell'ordine - restituisce True se l'ordine è selezionato e appartiene all'EA, False altrimenti
if(OrderSelect(i,SELECT_BY_POS,mode)){
last_select=OrderTicket();
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
return(true);
else
return(false);
}
return(false);
}
bool TickSelect(int tick){ // Ordina la selezione direttamente per tick
if(OrderSelect(tick,SELECT_BY_TICKET))
last_select=tick;
else
return(false);
return(true);
}
void SomeFunc(){ // Un template di funzione che può interrompere la selezione dell'ordine e, di conseguenza, interrompere la logica del programma, se la selezione dell'ordine corrente non è conservata
int tick=last_select;
// ... eseguire le azioni richieste
if(tick>0)
TickSelect(tick);
}
Non può, a meno che non cambiate voi stessi questo stato nel programma.
Si presume che lo stato dell'ordine sia cambiato da MODE_TRADES a MODE_HISTORY. E il tuo Expert Advisor non ha fatto nulla con l'ordine. È lo stesso ordine o è diverso?
Si è supposto che lo stato dell'ordine sia cambiato da MODE_TRADES a MODE_HISTORY. E il tuo EA non ha fatto nulla con l'ordine. È lo stesso ordine o è diverso?
È lo stesso ordine
Questa può sembrare una soluzione - OrderSelect() - MySelect() wrapper da usare nelle funzioni che cercano gli ordini per indice
int last_select=0; // mettilo da qualche parte prima di init e start
// ...... codice del programma
bool MySelect(int i,int mode=MODE_TRADES){ // Selezione dell'ordine di cui abbiamo bisogno - ritorna True se l'ordine è stato selezionato e appartiene all'Expert Advisor; altrimenti, False
if(OrderSelect(i,SELECT_BY_POS,mode)){
last_select=OrderTicket();
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
return(true);
else
return(false);
}
return(false);
}
bool TickSelect(int tick){ // Ordina la selezione direttamente per tick
if(OrderSelect(tick,SELECT_BY_TICKET))
last_select=tick;
else
return(false);
return(true);
}
void SomeFunc(){ // Un modello di funzione che può interrompere la selezione dell'ordine e quindi interrompere la logica del programma, se la selezione dell'ordine corrente non è curata
int tick=last_select;
// ... eseguire l'azione richiesta
se(tick>0)
TickSelect(tick);
}