[ARCHIVIO] Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 3. - pagina 305
![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
1. Se c'è una posizione di take chiusa, ...
1.1 Se il suo tipo è OP_BUY, ...
1.1.2 Se c'è una posizione aperta OP_SELL, ....
1.1.3 Se il tempo della barra corrente meno il tempo della posizione Open Sell è maggiore o uguale al numero di barre per un ritardo, ...
1.1.4 Chiudere una posizione Sell
1.2 Se il suo tipo è OP_SELL, ...
1.2.2 Se c'è una posizione aperta OP_BUY, ...
1.2.3 Se il tempo della barra corrente meno il tempo di apertura della posizione Buy è maggiore o uguale al numero di barre per un ritardo, ...
1.2.4. chiudiamo la posizione Buy
Grazie per l'algoritmo, è molto più complicato di quello che mi aspettavo(
Potresti abbozzare il codice in generale, perché ci ho messo tanto a scrivere quello precedente, ma non sono riuscito a trovare EAs simili....
Non riesco a trovare EAs simili, ma ne sarei molto grato!
Potete trovare molte funzioni simili qui - Funzioni utili di KimIV. Ce n'è anche uno già pronto per il tuo compito.
Salve.
Per favore aiutatemi a trovare un errore. Il codice conta la somma dei valori RangeX0_D1
Il risultato è solo l'ultimo (sesto) membro della sequenza.
Grazie in anticipo.
Grazie per l'aiuto, la precisione e la velocità :)
Per accelerare i calcoli, è meglio fare le cose un po' diversamente
La divisione richiede molto tempo. È meglio farlo una volta sola.
Buon pomeriggio, qualche consiglio: il ciclo cerca i valori che soddisfano certe condizioni. I valori trovati sono scritti in un array. Non si sa in anticipo quanti valori si troveranno, quindi la dimensione dell'array da dichiarare è sconosciuta. Dal punto di vista del tempo e delle risorse, preferirei non fare due corse (in modo da poter contare il numero di valori trovati nella prima corsa, dichiarare l'array e scrivere i dati nell'array nella seconda). C'è un modo per ottenere il risultato richiesto in una sola esecuzione?
Un array di lunghezza "infinita" può essere dichiarato nell'indicatore. Dichiaratelo e poi nel ciclo scrivete immediatamente i valori trovati nell'array. L'unica domanda è come trasferire la selezione necessaria all'Expert Advisor/Script? Ci sono alcuni strumenti, ma dobbiamo valutare la complessità. Forse sarebbe davvero più facile fare 2 esecuzioni - nella prima, contiamo il numero di valori filtrati, poi cambiamo la dimensione dell'array, e nella seconda, inseriamo i valori nell'array?
Buon pomeriggio, qualche consiglio: il ciclo cerca i valori che soddisfano certe condizioni. I valori trovati sono scritti in un array. Non si sa in anticipo quanti valori si troveranno, quindi la dimensione dell'array da dichiarare è sconosciuta. Dal punto di vista del tempo e delle risorse, preferirei non fare due corse (in modo da poter contare il numero di valori trovati nella prima corsa, dichiarare l'array e scrivere i dati nell'array nella seconda). C'è un modo per ottenere il risultato richiesto in una sola esecuzione?
Dichiarare l'array più grande della dimensione massima richiesta.