Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 169
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
Buon pomeriggio. Non posso leggere i dati dal file e riscriverli immediatamente. Se decommento un frammento di codice con loop e MathRand(), il file diventa poltiglia come dovrebbe essere. Ma se le linee vengono lasciate commentate (già c'è disordine nel file), allora la prossima volta che abilito/disabilito l'Expert Advisor, il file conterrà degli zeri. Gli array di lettura-scrittura sono doppio ROM1[128][128] e doppio ROM2[3][128]. Gli array non vengono cambiati da nessun'altra parte nel codice, solo letti. Ecco un pezzo di codice:
int init()
{
Print ("Сработала ф-ия init"); // Сообщение
Handle=FileOpen("Neuro",FILE_BIN|FILE_READ|FILE_WRITE);// Открытие файла на чтение и запись
FileSeek(Handle, 0, SEEK_SET); //указатель на начало файла
FileReadArray(Handle, ROM1);
FileSeek(Handle, 131073, SEEK_SET); //указатель на конец первого массива
FileReadArray(Handle, ROM2);
/*
for(i=0; i<128; i++) //заполнение памяти первого слоя кашей
{
for(k=0; k<128; k++)
{
ROM1[i][k] = (MathRand()-16383)/3200;
}
}
for(i=0; i<3; i++) //заполнение памяти второго слоя кашей
{
for(k=0; k<128; k++)
{
ROM1[i][k] = (MathRand()-16383)/3200;
}
}
*/
return(0);
}
//--------------------------------------------------------------------
int deinit()
{
FileSeek(Handle, 0, SEEK_SET);
FileWriteArray(Handle, ROM1);
FileSeek(Handle, 131073, SEEK_SET);
FileWriteArray(Handle, ROM2);
FileClose(Handle);
return(0);
}
due ordini identici.
Grazie.
due ordini identici.
Grazie.
Puoi cercare un segnale quando vuoi, ma l'apertura di una posizione deve essere temporizzata.
Guarda il tempo di apertura di una posizione con magic 565 e guarda il tempo attuale. Se il tempo corrente è più lungo del tempo di apertura di una posizione con magic 565 del numero di minuti specificato, allora potete aprire una posizione.
Puoi cercare un segnale quando vuoi, ma devi permettere l'apertura di una posizione per tempo.
Vedere il tempo di apertura di una posizione con magic 565 e vedere il tempo attuale. Se l'ora corrente è più lunga dell'ora di apertura di Magik 565 di un determinato numero di minuti, allora la posizione può essere aperta.
Grazie mille. Come appare nel codice?
Un po' di tutto. La funzione non leggerà una matrice bidimensionale doppia, anche se la scriverà correttamente.
Ho fatto un ciclo per la lettura elemento per elemento. Forse può essere utile a qualcuno.
FileSeek(Handle, n, SEEK_SET); //изменение позиции файлового курсора
Neuron[k][i].rom[l] = FileReadDouble(Handle, DOUBLE_VALUE); //загрузка из файла
n=n+8;
}
Grazie mille. Come appare nel codice?
Non è scrivere codice gratis, è aiutare coloro che stanno cercando di scriverlo da soli, ma hanno difficoltà.
Mostraci cosa non puoi fare nel tuo codice - ti aiuteremo.
Ho lavorato un po'. La funzione doppio array bidimensionale non vuole leggere, anche se scrive bene.
Ho fatto una lettura ciclo per ciclo. Forse qualcuno ne avrà bisogno.
FileSeek(Handle, n, SEEK_SET); //изменение позиции файлового курсора
Neuron[k][i].rom[l] = FileReadDouble(Handle, DOUBLE_VALUE); //загрузка из файла
n=n+8;
}
Perché dovrei offrire tali stampelle alla gente, solo perché non ho affrontato il compito da solo?
Per leggere un array bidimensionale da un file, dovrebbe essere un array bidimensionale preparato per questo.
Se ricordo bene quell'esempio di codice, non ho visto che il file viene chiuso dopo essere stato scritto. Un file vuoto viene creato e i dati vengono scritti in esso, ma questo file riempito viene memorizzato nella memoria principale e i dati del file possono essere letti solo dal disco. Come risultato, il file sembra che sia stato scritto ma fisicamente non è sul disco... Per salvare i dati su disco, si deve chiudere il file o salvarlo forzatamente su disco.
E questo non è scrivere codice libero, ma un aiuto per coloro che stanno cercando di scriverlo da soli, ma non riescono a farlo bene.
Mostraci cosa non puoi fare nel tuo codice e ti aiuteremo.
grazie
Per favore, scrivi un semplice (molto semplice) esempio in mql4. Sono solo un principiante assoluto.
1) aprire un ordine pendente quando raggiunge qualsiasi valore (cioè se il prezzo è 0,7777, allora aprire un ordine pendente)
2) Chiudere un ordine (a mercato) quando ha raggiunto qualsiasi valore (cioè se il prezzo è 0,6666, allora chiudere l'ordine).
Non posso nemmeno chiudere un ordine usando un numero d'ordine unico. Voglio provare a cambiare lo stato attuale del mio robot di trading, ma non ci capisco niente.
Ho provato a leggere un tutorial da questo sito, ma nessun effetto (forse sono così stupido), e gli esempi elementari non sono in qualche modo su Internet. Grazie in anticipo
Per favore, scrivi un semplice (molto semplice) esempio in mql4. Sono solo un principiante assoluto.
1) aprire un ordine pendente quando raggiunge qualsiasi valore (cioè se il prezzo è 0,7777, allora aprire un ordine pendente)
2) Chiudere un ordine a mercato quando ha raggiunto qualsiasi valore (cioè se il prezzo è 0,6666, allora chiudere l'ordine).
Non posso nemmeno chiudere un ordine usando un numero d'ordine unico. Voglio provare a cambiare lo stato attuale del mio robot di trading, ma non ci capisco niente.
Ho provato a leggere un tutorial da questo sito, ma nessun effetto (forse sono così stupido), e gli esempi elementari non sono in qualche modo su Internet. Grazie in anticipo
Se hai problemi con gli ordini pendenti, cercali sul CodeBase e vedi come è scritto il codice.