[ARCHIVIO] Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 3. - pagina 644
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
La questione è che non sono molto bravo nella programmazione MQL e il mio EA è basato sui principi BASIC =) Una variabile è assegnata a un ordine aperto. Il terminale dice che sono stato riloggato e il valore di questa variabile scompare quando l'ordine viene aperto. Se questo accade, il terminale dovrebbe controllare le posizioni aperte e assegnare quei valori alle variabili che sono state assegnate dal robot. E l'Expert Advisor mostra buone letture nel test.
A seconda di ciò che si vuole memorizzare (quali informazioni), si possono usare diverse opzioni:
Se non ti dispiace, ecco un esempio. Per quanto ho capito, i dati non saranno aggiornati fino all'esecuzione del ciclo?
Saranno usati solo gli stessi dati durante questo ciclo infinito? I dati saranno aggiornati con la nuova spunta o no?
Il fatto è che non sono molto bravo nella programmazione MQL e il mio EA è basato sui principi di Bacyca =) Una variabile è assegnata a un ordine aperto. Il terminale dice che sono stato riloggato e il valore di questa variabile scompare quando l'ordine viene aperto. Mi chiedo come fargli controllare le posizioni aperte se c'è un overlog e assegnare quei valori alle variabili che sono state impostate da un robot.
Stai parlando di un numero magico? Non ci sono abbastanza informazioni per aiutarti... qual è la variabile e come è assegnata - è da lì che devi partire.
Ma il mio Expert Advisor sta mostrando buoni risultati nel test.
Saranno usati solo gli stessi dati durante questo ciclo infinito? I dati saranno aggiornati con una nuova spunta o no?
Saranno usati solo gli stessi dati durante questo ciclo infinito? I dati saranno aggiornati con la nuova spunta o no?
Per favore consigliatemi se c'è una funzione incorporata, che posso eseguire qualche funzione, scritta da me, solo all'apertura di ogni barra, non su ogni tick. Non è così difficile da scrivere a mano, ma quando un po' di codice viene eseguito dai tick e un po' dalle barre, il programma diventa molto confuso) Grazie mille)
quindi basta determinare quando si apre una nuova barra ed eseguire la vostra funzione.
Potete determinare l'apparizione di una nuova barra memorizzando il tempo di apertura della barra e poi confrontandolo con il tempo attuale della barra 0. Se il nuovo tempo è più lungo del tempo precedente, allora abbiamo una nuova barra.
sergeev grazie per il consiglio, sembra funzionare)
Ok, un'altra cosa.
Nel mio EA ho questa ramificazione:
if(period=="M15")
{
//controlla per aprire buy
Alert(buysell);
se(buysell=="comprare")
Allarme(1);
.............
}
Fondamentalmente, if annidati. MA. la condizione if(period=="M15") è soddisfatta e Alert dà un risultato, e compra, ma la condizione if(buysell=="buy") non è soddisfatta e il comando Alert(1) non è nemmeno avviato. diavolo, entrambe le condizioni sono anche sintatticamente le stesse, ma perché una è soddisfatta e l'altra no?
quindi devi solo determinare quando si apre una nuova barra ed eseguire la tua funzione.
Potete determinare l'apparizione di una nuova barra memorizzando il tempo di apertura della barra e poi confrontandolo con il tempo attuale della barra 0. Se il nuovo tempo è più lungo del tempo precedente, allora avete una nuova barra.
Lo scriverò: