![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
Cambia il tipo di variabile in un posto e il compilatore mostrerà errori negli altri tre - cambia il nome del campo. Si potrebbe pensare che ci sono decine di strutture che devono essere ordinate. Sì, una struttura richiede molto probabilmente un ordinamento.
No, non impostare il compito in questo modo
imposta il seguente compito: usa il tuo esempio per ordinare la struttura che ha decine di campi per ogni campo
sia una struttura che contiene tutte le proprietà dell'ordine "quattro" (OrderStoploss(), OrderTakeProfit(), OrderOpenTime()....) - ce ne sono una dozzina
E riprodurre l'ordinamento di un array di tali strutture per ogni campo con i vostri esempi? - imho, il tuo codice peserà un bel po', e ho scritto sopra che non sarà possibile utilizzare questo codice ripetutamente
No, non è così che si dovrebbe impostare il compito.
imposta il seguente compito: usando il tuo esempio, ordina la struttura che ha decine di campi per ogni campo
sia una struttura contenente tutte le proprietà dell'ordine "quattro" (OrderStoploss(), OrderTakeProfit(), OrderOpenTime()....) - ce ne sono una dozzina
E riprodurre l'ordinamento di un array di tali strutture per ogni campo con i vostri esempi? - imho, il tuo codice peserà un bel po'. Ho scritto sopra che non sarà possibile utilizzare questo codice ripetutamente.
Un problema da regno della fantascienza, mai incontrato nella pratica.
Puoi creare un campo separato per ordinare e prima di ordinare, copiarci dentro il campo che vuoi ordinare.
In MT 5 funziona senza problemi, in MT 4 dà la colpa adArraySwap perché Mql 4 non lo supporta...
Una sfida dal regno della finzione.
No, è possibile usare MQL, proprio come hai suggerito tu usando SB
Ma il problema sarà che questo codice sarà scritto per un certo compito
Se facciamo un esempio - il pannello terminale con gli ordini è stato riprodotto come finestra in MQL, l'ordinamento è stato fatto, tutto gira, tutto funziona
E se vuoi usare una parte del codice per visualizzare il pannello "ottimizzazione" del tester, avrai una vagonata di modifiche. È più facile scrivere il codice da zero, inclusi gli ordinamenti, e vorrai avere nomi di campi leggibili dall'uomo? - altrimenti bisogna essere l'autore di un noto "kernel" per tenere a mente tutti i nomi di identificatori in forma di Abyrwalg (A Dog's Heart)
)))
No, è possibile usare MQL, proprio come hai suggerito tu usando SB
ma il problema sarà che questo codice sarà scritto per un compito specifico
Se facciamo un esempio, il pannello terminale con gli ordini è stato riprodotto come finestra in MQL, l'ordinamento è stato fatto, tutto gira, tutto funziona
E se vuoi usare una parte del codice per visualizzare il pannello "ottimizzazione" del tester, avrai una vagonata di modifiche. È più facile scrivere il codice da zero, inclusi gli ordinamenti, e vorrai avere nomi di campi leggibili dall'uomo? - altrimenti bisogna essere l'autore di un noto "kernel" per tenere a mente tutti i nomi di identificatori in forma di Abyrwalg (A Dog's Heart)
)))
Tutto ciò che può essere frainteso sarà frainteso. Non intendevo la possibilità/impossibilità, ma la necessità pratica, cioè il verificarsi di questo compito.
Non è una mia idea che per ogni struttura devo scrivere la mia Compare().
perché ordinare l'array/vettore di strutture spesse in campi diversi?
lasciatelo stare così com'è, ha il diritto di essere anche const :-) e per scopi diversi si possono costruire indici
Non è una mia idea scrivere una Compare() diversa per ogni struttura.
È esattamente così, o meglio non conosco altro modo, e questo metodo sarà legato a un compito specifico
e l'autore vuole una soluzione universale per 10 sterline, beh, aspettiamo e vediamo se qualcosa si chiarisce
Perché ordinare l'array/vettore di strutture spesse in campi diversi?
Lasciatelo così com'è, ha il diritto di essere anche const :-) e per diversi scopi potete costruire degli indici
Qualcuno scriverà ora ... che è così scomodo per me ... che non siamo casalinghe, ma super sviluppatori, e dobbiamo usare tutte le possibilità delle moderne tecnologie di programmazione, mentre un array aggiuntivo è qualcosa come il Medioevo ...
Anche se, personalmente, mi piace di più questa opzione.
Niente da fare:
1) Basta inserire ArrayCopy nella compilazione condizionale, non ArraySwap.
2) ArrayCopy deve essere scritto in uno personalizzato, poiché quello standard non supporta le strutture NonPod.
3) Abbiamo bisogno di un'altra compilazione condizionale per ArrayResize array multi-dominio (la funzione dà risultati diversi per diverse versioni di MT)
Non lo farà:
La risposta non era per tutte le occasioni. La maggior parte delle persone chiude.