[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 792

 

Leggi il codice di un semplice EA nel tutorial - https://book.mql4.com/ru/samples/expert

Non capisco come cambia il valore della variabile Total

Nel blocco "Inserire ordini" il suo valore potrebbe cambiare, per esempio, potrebbe diventare 1.

Quando l'ordine viene chiuso, il valore della variabile Total non cambia nel blocco "Close Orders", anche se penso che dovrebbe essere azzerato (se l'ordine viene chiuso con successo).

La domanda - come in questo caso verranno aperti nuovi ordini (nel blocco "Order opening" - if (Total==0 && Opn_B==true) ), se il programma pensa ancora che ci siano ordini non chiusi? O forse il programma non può chiudere un ordine e aprirne un altro in una sola volta? Allora non capisco perché si dice che l'opzione b del rapporto dei criteri commerciali è usata nell'esempio?

 
fevrall:

Buon pomeriggio a tutti i membri del forum!

Non ho trovato risposte alle seguenti domande.

1. Due terminali sono in esecuzione su macchine diverse (il primo al lavoro, il secondo a casa), sullo stesso account reale.

Se un Expert Advisor su una e la stessa coppia di valute è in esecuzione su questi terminali, sulla stessa coppia di valute,

è equivalente a eseguire lo stesso EA sulla stessa coppia in diverse finestre dello stesso terminale?

2. Se si disabilita il funzionamento degli EA in uno di questi terminali (utilizzando l'apposito pulsante), come farà questo

influire su un altro terminale?

(Grazie in anticipo!)

1) Due terminali diversi sono due terminali diversi).

Anche se hai due diversi mt4 su una macchina, che lavorano su un conto - non si intersecano. Potrebbero intersecarsi per caso, se le magie dell'ordine coincidono, allora l'EA attivo percepirà l'ordine come "suo".

2. Se disabilitiamo il trading su un terminale, l'altro continuerà a funzionare, perché questo EA è un programma che gira su questo computer nel dato MT4, non sul server del centro dealing. Allo stesso modo, se si spegne il computer, l'Expert Advisor non farà trading. Ma c'è una sfumatura - se prima che l'EA fosse spento, ha piazzato degli ordini pendenti, questi saranno eseguiti sul mercato, anche quando l'EA è spento.

 
Techno:
È possibile impostare un divieto per 1 o 2 barre.

Techno, perché insisti su una soluzione temporanea a questo problema?

Non c'è modo di risolverlo logicamente? Il tuo metodo potrebbe portare alla soluzione del mio problema, ma è un modo indiretto di risolverlo...

 

obla4ko, grazie!

 
obla4ko:

Mi ricordo :), il tuo consiglio è buono, ma "è tutta una questione di sfumature", come dice PapaYozh!

Quando si lavora con le medie, ogni barra conta - la statistica, si sa! :)) - quindi devo cercare altre soluzioni più sottili ....

Se ho capito bene il tuo problema, allora non dovresti essere guidato dal tempo di chiusura dell'ordine. Dovresti iniziare al tempo della barra che ha dato il segnale per aprire la posizione. Quello che farei, personalmente, è il seguente:

1) creare una variabile di tipo datetime dove inserirei il valore Time[0] se l'ordine viene piazzato con successo;

2) nella funzione init(), inizializzate questa variabile con il valore "0". Preferisco un'inizializzazione esplicita, poiché è più chiara quando si rivede il codice;

3) quando appaiono le condizioni per aprire una posizione, prima di inviare la richiesta OrderSend(...), confronta il valore di questa variabile con il valore Time[0] e se non sono uguali, invia una richiesta.

4) se la posizione si aprisse, memorizzerebbe il valore di Time[0] proprio in quella variabile.

---

Non so se mi sono spiegato bene, ma ho fatto del mio meglio.

Naturalmente, questo è l'approccio più primitivo, perché l'EA potrebbe effettivamente reinizializzarsi sulla barra in cui l'ordine è stato aperto e dovremmo considerare tali situazioni quando scriviamo l'EA. Ma la variante che ho descritto andrà bene anche per voi nella fase iniziale.

 

Buon pomeriggio a tutti!

I programmatori e i dilettanti hanno bisogno del tuo aiuto! L'essenza è la necessità di un semplice indicatore che mostrasse la linea orizzontale, cioè dategli un livello da cui ha ballato (giù o su, senza differenza) e disegna un certo numero di punti ancora la linea, e così via fino al livello specificato. Per esempio, il livello da 1,2500 a 1,3400, una nuova linea ogni 50 punti...


Grazie in anticipo a tutti quelli che rispondono...

 

È interessante come ballano le ragazze... :)

Sono tornato agli "scherzi" del mio DC...

Com'è possibile?

... ...è interessante come le pose si siano aperte nell'aria... Conto demo.

Come è possibile?

La mia comprensione è che se le posizioni si sono aperte prima del gap, dovrebbero essere in piedi dove si sono aperte, non in bilico nel cielo...
... Beh, se sono stati spostati, perché non al bar dopo il divario, ma da qualche parte nell'aria... Miracoli... :)

 

artmedia70, è uno slittamento su un gap) Cambia il tuo dtz )) fanculo ))
 
artmedia70:

... interessante come le pose si sono aperte nell'aria... Conto demo.


Non dimenticare che sul grafico il prezzo è Bid, gli ordini di acquisto (sembra che tu li abbia) si aprono su Ask.
 
PapaYozh:

Non dimenticare che sul grafico il prezzo è Bid, gli ordini di acquisto (sembra che tu li abbia) si aprono su Ask.
Non stiamo aprendo un Buy su Ask ???????? E lo spread non può essere di 60 pips (deve essere dopo il gap), e se è prima del gap, lo spread di 325 pips sull'EUR è incredibile. :)
Motivazione: