Errori, bug, domande - pagina 1887
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
Tu, a quanto vedo, non hai controllato il codice che ti ho mostrato. Mettiamola così: prima si controlla, poi si rifà la domanda.
Non ho bisogno di verificarlo, posso vedere che restituisce ciò che dovrebbe.
Parlavo del primo uso della funzione
Non ho bisogno di verificarlo, posso vedere che restituisce ciò di cui ho bisogno
Stavo parlando della prima variante dell'uso della funzione
Ok, allora. Partiamo dalla coda.
1. PositionGetInteger:
La funzione restituisce la proprietà richiesta di una posizione aperta precedentemente selezionata...
Cioè, prima di usare PositionGetInteger, la posizione deve essere selezionata.
2. Selezioniamo la posizione usando il PositionGetTicket:
Valore di ritorno.
Il biglietto di posizione. In caso di esecuzione non riuscita restituisce 0.
E dove avete un controllo (dopo il ciclo) che è stato restituito da PositionGetTicket? Non c'è nessun controllo, e lì, tra l'altro, viene restituito "zero" - cioè, PositionGetTicket è stato attivato con un errore - il che equivale a selezionare una posizione che non esiste. Poi, senza controllare il risultato di PositionGetTicket, si cerca di ottenere la sua proprietà dalla posizione inesistente. E lì, nelle proprietà della posizione inesistente, o spazzatura o solo dati di strutture nulle.
Per riassumere: senza controllare se il PositionGetTicket restituisce "zero", non si può andare oltre.
Ok, allora. Partiamo dalla coda.
1. PositionGetInteger:
La funzione restituisce la proprietà richiesta di una posizione aperta precedentemente selezionata...
Cioè, la posizione deve essere selezionata prima di usare PositionGetInteger.
2. Selezioniamo la posizione utilizzando il PositionGetTicket:
Valore di ritorno.
Il biglietto di posizione. In caso di esecuzione non riuscita restituisce 0.
E dove avete un controllo (dopo il ciclo) che è stato restituito da PositionGetTicket? Non c'è nessun controllo, e lì, tra l'altro, viene restituito "zero" - cioè, PositionGetTicket è stato attivato con un errore - il che equivale a selezionare una posizione che non esiste. Poi, senza controllare il risultato di PositionGetTicket, si cerca di ottenere la sua proprietà dalla posizione inesistente. E lì, nelle proprietà della posizione inesistente, o spazzatura o solo dati di strutture nulle.
Per riassumere: senza controllare che il PositionGetTicket restituisca "zero", non si può andare oltre.
Ok, facciamo così. Partiamo dalla coda.
1. PositionGetInteger:
La funzione restituisce la proprietà richiesta di una posizione aperta precedentemente selezionata...
Cioè, la posizione deve essere selezionata prima di usare PositionGetInteger.
2. Selezioniamo la posizione usando il PositionGetTicket:
Valore di ritorno.
Il biglietto di posizione. In caso di esecuzione non riuscita restituisce 0.
E dove avete un controllo (dopo il ciclo) che è stato restituito da PositionGetTicket? Non c'è nessun controllo, e lì, tra l'altro, viene restituito "zero" - cioè, PositionGetTicket è stato attivato con un errore - il che equivale a selezionare una posizione che non esiste. Poi, senza controllare il risultato di PositionGetTicket, si cerca di ottenere la sua proprietà dalla posizione inesistente. E lì, nelle proprietà della posizione inesistente, o spazzatura o solo dati di strutture nulle.
Per riassumere: senza controllare il PositionGetTicket per il ritorno di "zero", non si può andare oltre.
non c'è bisogno di spiegarsi )
Non è questa la domanda.
leggere correttamente: va bene che una funzione restituisca lo stesso valore per diverse situazioni?
va bene che la funzione faccia così?Per riassumere: senza controllare PositionGetTicket per un ritorno di "zero" non si può andare avanti.
Forum sul trading, sistemi di trading automatico e test di strategia
Bug, bug, domande
fxsaber, 2017.05.12 11:19
è logico fare un controllo (PositionGetInteger(POSITION_TICKET) > 0).quella funzione per diverse situazioni restituisce lo stesso valore?
è corretto che la funzione faccia questo?Forum sul trading, sistemi di trading automatico e test di strategia
Bug, bug, domande
fxsaber, 2017.05.12 11:29
Sì, ma anche qualsiasi altro valore sarebbe fuorviante.1) Non devi dare spiegazioni.
non è questo il punto
2. Leggi bene: va bene che una funzione restituisca lo stesso valore per diverse situazioni?
va bene che una funzione faccia questo?1. Lei è una persona maleducata che ha anche fatto un errore nel suo codice, ma non vuole ammetterlo.
2. La funzione funziona in modo assolutamente corretto. Perché (PositionGetInteger(POSITION_TYPE)) può restituire solo 2 valori - o POSITION_TYPE_BUY oPOSITION_TYPE_SELL. Ma senza selezionare una posizione (e non la si seleziona - non si controlla cosa esattamente è stato selezionato) pretendere qualcosa da (PositionGetInteger(POSITION_TYPE)) è imprudente.
In conclusione: quando il vostro codice è scritto con un errore logico - semplicemente non avete il diritto di pretendere qualcosa dalle funzioni di sistema.
Morale della favola: quando il vostro codice è scritto con un errore logico - semplicemente non avete il diritto di pretendere nulla dalle funzioni del sistema.
1. Sei una persona maleducata che ha fatto un errore nel codice ma non vuole ammetterlo.
2. La funzione funziona in modo assolutamente corretto. Perché (PositionGetInteger(POSITION_TYPE)) può restituire solo DUE valori - o POSITION_TYPE_BUY oPOSITION_TYPE_SELL. Ma senza selezionare una posizione (e non la si seleziona - non si controlla cosa esattamente è stato selezionato) pretendere qualcosa da (PositionGetInteger(POSITION_TYPE)) è imprudente.
In conclusione: quando il vostro codice è scritto con un errore logico, semplicemente non avete il diritto di pretendere qualcosa dalle funzioni di sistema.
Scusate, non è colpa mia se qualcuno non riesce a vedere il problema.
Il fatto che ci sia un errore deliberato nel codice è riconosciuto.
E so come risolvere il problema.
Ma la domanda è diversa.
Perché la funzione PositionGetInteger(POSITION_TYPE) restituisce un valore di acquisto (uguale a 0) invece di un valore di errore (uguale a 0) se i parametri di input non sono corretti?