Sì, lo vedo. E vedo la risposta alla domanda nel post sottohttps://www.mql5.com/ru/forum/160587/page115#comment_6521492. In altre parole, il problema è che la funzionalità non è divisa in sotto-attività logiche. Hai messo insieme: l'analisi degli ordini, la decisione di un'azione commerciale e l'esecuzione di un'operazione.
Un tale compito può essere risolto esattamente in tre fasi:
Raccolta di informazioni sugli ordini che devono essere monitorati dal programma. Questo è solo il ciclo di valutazione dell'ordine, che avete già. Il risultato di questo ciclo deve essere l'array di ordini.
Calcolo dei segnali di trading. Il risultato del calcolo è un comando per aprire e/o chiudere ordini. Dipende dalla strategia di trading. In precedenza, quando non c'era l'enumerazione, usavo i codici: 0 - nessun segnale, 1 - apri acquisto, -1 - apri vendita, 2 - chiudi acquisto, -2 - chiudi vendita.
Esecuzione di un'operazione commerciale. Se c'è un segnale di trading e uno degli ordini (punto 1) è adatto ad esso, viene eseguita un'operazione di trading. Dopo di che, l'intero algoritmo viene riavviato a partire dal punto 1. In alcuni casi, si esce anche da OnTick per continuare con il tick successivo.
Bene, grazie. Almeno è chiaro cosa fare. Cercherò di capire "come" farlo da solo. Anche se non ho ancora familiarità con gli array. Grazie ancora comunque.
Mickey Moose:L'ho scritto in un file, tutto va bene, ma ora come faccio a sparare i dati, per esempio "eurusd" "1.2242" dati temporanei ecc?
stringa s=FileReadString(F1); // Leggere la prossima linea del file di testo StringSplit(s, "," , a); // Dividere gli elementi separati da virgole nell'array datetime T1=StrToTime(a[4]); // La trasformazione procede ulteriormente... int ord=StrToInteger(a[8]); double Price=StrToDouble(a[12]);
Bene, grazie. Almeno è più chiaro cosa fare. Cercherò di capire il "come" da solo. Non ho ancora familiarità con gli array, però. Comunque, grazie ancora.
Scrivi almeno un blocco e mostramelo. In questo caso vi diranno di più.
Consenti l'uso dei cookie per accedere al sito MQL5.com.
Abilita le impostazioni necessarie nel browser, altrimenti non sarà possibile accedere.
Hai effettuato l'accesso. L'autenticazione a due fattori è stata disattivata. Configurala di nuovo e scansiona un nuovo codice QR, oppure continua con l'autenticazione a due fattori disattivata.
Sì, lo vedo. E vedo la risposta alla domanda nel post sottohttps://www.mql5.com/ru/forum/160587/page115#comment_6521492. In altre parole, il problema è che la funzionalità non è divisa in sotto-attività logiche. Hai messo insieme: l'analisi degli ordini, la decisione di un'azione commerciale e l'esecuzione di un'operazione.
Un tale compito può essere risolto esattamente in tre fasi:
Bene, grazie. Almeno è chiaro cosa fare. Cercherò di capire "come" farlo da solo. Anche se non ho ancora familiarità con gli array. Grazie ancora comunque.
Ditemi come uscirne!!!
for(int i=OrdersTotal()-1; i>=0; i--)
{
OrderSelect(i,SELECT_BY_POS);
if(OrderMagicNumber()==Magic && OrderType()==OP_SELL)
pausa;
L'avvertimento è: il valore di ritorno di 'OrderSelect' deve essere controllato
Inqualealtromododovrebbe essere controllatoquesto valore'OrderSelect'?
se faccio così: j=OrderSelect(); È corretto?
Ditemi come uscirne!!!
for(int i=OrdersTotal()-1; i>=0; i--)
{
OrderSelect(i,SELECT_BY_POS);
if(OrderMagicNumber()==Magic && OrderType()==OP_SELL)
pausa;
L'avvertimento è: il valore di ritorno di 'OrderSelect' deve essere controllato
Inqualealtromododovrebbe essere controllatoquesto valore'OrderSelect'?
se faccio così: j=OrderSelect(); È corretto?
Non ha funzionato!
stringa s=FileReadString(F1); // Leggere la prossima linea del file di testo
StringSplit(s, "," , a); // Dividere gli elementi separati da virgole nell'array
datetime T1=StrToTime(a[4]); // La trasformazione procede ulteriormente...
int ord=StrToInteger(a[8]);
double Price=StrToDouble(a[12]);
Bene, grazie. Almeno è più chiaro cosa fare. Cercherò di capire il "come" da solo. Non ho ancora familiarità con gli array, però. Comunque, grazie ancora.
Scrivi almeno un blocco e mostramelo. In questo caso vi diranno di più.
Non ha funzionato!
Leggete attentamente, di nuovo.
Tutto il codice sarà come questo
Non ha funzionato!
Quindi non hai fatto nulla. L'hai scritto sopra:
E tu l'hai scritto senza controllare. Anche se così sarebbe più leggibile:
@Ihor Herasko @Alekseu Fedotov
GRAZIE!!! HA FUNZIONATO COSÌ!