Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 150
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
Buona sera!
Per favore aiutatemi a scrivere il codice, non sento di poterlo fare da solo, ecco il succo:
Se avete bisogno di farlo per voi - questo è un freelance. E per aiutarvi a raccontare ciò che volete ottenere, mostrate ciò che avete fatto e descrivete ciò che non è riuscito.
Il punto è questo: qui in questo thread per aiutare chi soffre e chi cerca.
Se hai bisogno di farlo per te - questo è nel freelance. E per ottenere aiuto, devi dire cosa vuoi ottenere, mostrare cosa stai facendo e descrivere cosa non ha funzionato.
Il punto è che non capisco come fare in modo che l'EA analizzi solo gli ordini di una particolare coppia e non gli ordini di tutte le coppie nel terminale.
Se puoi, per favore dammi un'idea o un esempio di codice, poiché i libri di testo descrivono separatamente cosa funziona e come funziona, ma non ci sono molti esempi concreti.
Vi sarei grato per il vostro aiuto.
Grazie.
Il suo nome è High_Low v2 (ZigZag), (nell'allegato del perché il nome glitched)
double zz2 = iCustom( NULL, 0, "High_Low v2 (ZigZag)",300, 6, 0, 0);
Cioè, ho sostituito il nome di un indicatore personalizzato e il suo
Nel caso dei frattali, per esempio, ha funzionato per me.
Il punto è che non capisco come fare in modo che l'EA conti solo gli ordini di una particolare coppia e non il totale di tutte le coppie nel terminale.
Non capisco come fare in modo che un EA calcoli solo gli ordini di una coppia particolare, e non la somma di tutte le coppie nel terminale.
Sarò molto grato per l'aiuto.
Lo apprezzerei molto.
Sentitevi liberi di guardare nel CodeBase - ogni EA ha un ciclo d'ordine :-)
Per esempio https://www.mql5.com/ru/code/16588 (il primo che ho incontrato)
for(int index = orders-1; index >= 0; index--)
{
if(OrderSelect(index,SELECT_BY_POS,MODE_HISTORY)==false)
{
Print("Error in history!");
break;
}
if(OrderSymbol()==symbol && OrderMagicNumber()==MAGICMA)
{
if(OrderType()==OP_BUY || OrderType()==OP_SELL)
{
if(OrderProfit()>0) break;
if(OrderProfit()<0) losses++;
}
}
}
la condizione"if(OrderSymbol()==simbolo && OrderMagicNumber()==MAGICMA)" è esattamente ciò che seleziona gli ordini da un simbolo specifico e con un MAGIC specifico
PS/ nel codice copia-incolla di cui sopra rompere in caso di un errore di OrderSelect non è del tutto corretto, piuttosto usate continue (non importa quale sia la ragione per cui l'ordine non viene scelto, forse c'è un problema con qualche meccanismo interno di MetaTrader, ma l'ordine successivo non verrà saltato)
Sentitevi liberi di guardare nel CodeBase - ogni EA ha un ciclo d'ordine :-)
Per esempio https://www.mql5.com/ru/code/16588 (il primo che ho incontrato)
Ciao ragazzi!!! aiutatemi a scrivere una funzione che restituisca un segnale di acquisto o di vendita. Non so ancora come lavorare con le barre in MQL (anche se non so molte cose!).
La condizione è la seguente: la barra madre è una barra all'interno della quale, cioè, all'interno del massimo e del minimo c'è una barra con il prezzo di chiusura (è importante!!! esattamente il prezzo di chiusura.) Una volta che qualche barra buca quella madre e chiude sopra il massimo o sotto il minimo, diventa ora la barra madre!
Se il prezzo di chiusura della barra madre è superiore al prezzo di apertura, restituiamo il segnale di acquisto.
Se il prezzo di chiusura della barra madre è inferiore al prezzo di apertura, restituiamo il segnale di vendita.
È molto importante impostare l'intervallo di tempo nella variabile esterna.
Ma ecco il problema, almeno per me, come può l'Expert Advisor trovare l'ultima barra opaca sul grafico? Sì, visivamente lo vedo subito! ....
Sarebbe conveniente per me specificare l'indice dell'ultima barra MAT in una variabile esterna e poi la funzione inizierà a ballare da essa; o un'altra variante per prendere una barra con l'indice, per esempio, 50 e passare attraverso il ciclo a zero.
Molto per favore aiutate l'orfano!!!
Buon pomeriggio!
Puoi darmi un'idea? Abbiamo bisogno che un EA non possa aprire un ordine se un ordine è già stato aperto a questo prezzo. Come implementare il controllo?
Buon pomeriggio!
Puoi darmi un'idea? Abbiamo bisogno che un EA non possa aprire un ordine se un ordine è già stato aperto a questo prezzo. Come implementare il controllo?
Questo è un compito difficile. Per disperazione, assegnavo un ordine magico al_prezzo/punto desiderato dato lo slittamento.
È molto più semplice in mql5: c'è una posizione con un prezzo che non corrisponde al prezzo richiesto e un ordine con il prezzo richiesto.
Buon pomeriggio!
Puoi darmi un'idea? Abbiamo bisogno che un EA non possa aprire un ordine se un ordine è già stato aperto a questo prezzo. Come implementare il controllo?
Si scrive un ciclo di ordini, in cui si confronta il prezzo di apertura di ogni ordine con il valore di prezzo dato, e se c'è una corrispondenza, allora il flag di un nuovo ordine non viene sollevato.