Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 782
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
Ho un'idea per scrivere una funzione che prenda e sposti un array. La domanda è come rendere questa funzione in modo che essa stessa determini quale tipo di array sia unidimensionale o bidimensionale, in modo da non dover specificare negli argomenti ogni volta che l'array è bidimensionale o regolare. Allo stesso tempo, voglio applicare un modello, in modo da non dover specificare il tipo di array.
Come posso fare in modo da non dover specificare quale tipo di array?
Fare un sovraccarico:
Sovraccarico da fare:
La seconda dimensione può essere dinamica?
Non è dinamico, è solo scritto come un argomento ricevuto, basta mettere le parentesi quadre.
Come posso implementare in un ciclo (o in qualche altro modo) l'enumerazione delle possibili varianti di condizione?
Per esempio, ci sono 2 indicatori MA e MACD, cioè rappresentano 3 possibili varianti di condizione:
1 opzione - if(iMA ...) {...};
2° scenario - if(iMACD ...) {...};
variante 3 - if(iMA ... iMACD ...) {...};
È facile combinare i parametri di input, ma come combinare le condizioni? Questo è particolarmente utile se ci sono più di 2 indicatori o formule
Dare link ad esempi, se disponibili
Come implementare in un ciclo (o in qualche altro modo) l'enumerazione delle possibili varianti di condizione?
Se ho capito bene, la risposta si trova nel topic.
Ciao di nuovo, di nuovo non capisco qualcosa di ovvio.
Quindi come passare un array a una funzione?
Errori:
']' - espressione prevista
'b' - conversione dei parametri non consentita
Supponiamo che io sappia come eliminare il primo errore:
Func(b[3]);
Ma allora cosa, passerà solo il terzo elemento? Non ha senso.
Come posso passare l'array nel suo insieme?
Grazie.
Ciao di nuovo, di nuovo non capisco qualcosa di ovvio.
Quindi come passare un array a una funzione?
Errori:
']' - espressione prevista
'b' - conversione dei parametri non consentita
Supponiamo che io sappia come eliminare il primo errore:
Ma allora cosa, passerà solo il terzo elemento? Non ha senso.
Come posso passare l'array nel suo insieme?
Grazie.
Si prega di spiegare la meccanica di inizio variabile
Sembra che ci siano informazioni su questo linkhttps://www.mql5.com/ru/docs/basis/function/events, ma o non le capisco o non le ho trovate. Non riesco a capire qual è il valore predefinito all'inizio e come cambia man mano che i cicli negli indicatori passano
Per esempio so che return() all'interno della funzione OnCalculate() assegna il valore di ritorno alla variabile prev_calculated e sarà usato nei calcoli alla prossima chiamata di OnCalculate(), cioè al prossimo tick
Per favore, descrivete con le stesse semplici parole la meccanica della variabile inizia all'interno della funzione OnCalculate()
Buon pomeriggio.
Potete dirmi perché la funzione OnTick non scrive i dati nel file usando questo codice:
//=== scrivere i dati nel file ===
h1=FileOpen("test_bar.csv",FILE_CSV|FILE_WRITE|FILE_READ,",");
FileSeek(h1, 0, SEEK_END);
FileWrite(h1, TimeToStr(Time[1],TIME_DATE|TIME_MINUTES),i,Open[1],High[1],Low[1],Close[1], Parabola57Up, ");
FileClose(h1);
E questo durante i test di storia. Quando l'Expert Advisor lavora online, continua a registrare.
Grazie
Come posso implementare in un ciclo (o in qualche altro modo) l'enumerazione delle possibili varianti di condizione?
Per esempio, ci sono 2 indicatori MA e MACD, cioè rappresentano 3 possibili varianti di condizione:
1 opzione - if(iMA ...) {...};
2° scenario - if(iMACD ...) {...};
variante 3 - if(iMA ... iMACD ...) {...};
È facile combinare i parametri di input, ma come combinare le condizioni? Questo è particolarmente utile se ci sono più di 2 indicatori o formule
Datemi qualche link di esempi se li avete.
Voglio fare un'auto-ottimizzazione, ma non solo attraverso i parametri di input degli indicatori. Lo capisco
Ma come fare illoopingdelle condizioni? Per esempio, ci sono 3 indicatori (non consideriamo la selezione dei parametri di input nel ciclo per semplicità) e sono 7 possibili combinazioni di condizioni/combinazioni
Per esempio, le prime tre condizioni hanno un indicatore
1) if(indicatore #1 ...) {...};
2) if(indicatore #2 ...) {...};
3) if(indicatore #3....) {...};
Le seconde tre condizioni su due indicatori sono
4) if(#1 ... && #2 ...) {...};
5) if(#1 ... && #3 ...) {...};
6) if(#2 ... && #3 ...) {...};
E nell'ultima settima condizione tutti e tre gli indicatori disponibili
7) if(#1 ... && #2 ... && #3 ...) { ...};
E se è anche possibile, sarebbe bene mettere in loop l'enumerazione delle condizioni logiche. Per esempio, non scrivere && || > < == e così via, ma loop
. Sarebbe bello se potessimo scrivere ogni possibile variante manualmente e l'EA combinasse e controllasse tutte le possibili varianti dei parametri di input, indicatori combinati o individuali e condizioni logiche.