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
Risultato:
O sto facendo qualcosa di sbagliato (per favore correggete), o MetaDriver ha fatto un errore in teoria (quando ha progettato l'algoritmo).
:)
Beh, considerando il fatto che la "progettazione" dell'algoritmo ha richiesto circa 3 minuti (e 7 minuti di implementazione), ho fatto abbastanza bene :) L'obiettivo era quello di mostrare l'idea di lavoro e di chiarire la dichiarazione del problema.
E tutto questo si è rivelato utile - gli sviluppatori hanno avuto una reale opportunità di migliorare la funzione MathFloor() - ovviamente non è completamente implementata in modo pulito.
Alla fine hanno dovuto armeggiare. È stato divertente. Sono riuscito ad ottenere una funzione stabile (intendo CountSignedDigits(double x)) solo dopo quasi un'ora di esperimenti.
E anche ora non sono sicuro che funzionerà correttamente con tutti i valori di input. Non ho sviluppato uno stress-test automatico, ne ho fatto uno manuale, per favore testatelo.
Mi aspetto un funzionamento stabile fino a 10 cifre decimali dopo la virgola mobile.
Stress-test allegato. // Non ho rimosso alcune realizzazioni intermedie dal codice. L'ho lasciato nei commenti per farvi provare/pensare. Compresi gli sviluppatori.1. non c'è bisogno di definire lo scavo per un lotto, basta normalizzarlo al passo giusto:
2. anche se c'è un po' di spazzatura nella variabile del lotto quando si invia una richiesta di trading (nella posizione decimale), dovrebbe essere scartata dal terminale stesso.
Per lo meno, non ho avuto alcun problema durante diversi anni di utilizzo di un tale costrutto.
4. Se vuoi assicurare, puoi normalizzarlo a 8 cifre decimali (con un margine) - se c'è della spazzatura dopo la normalizzazione "corretta", sarà molto più lontano.
La prima idea è corretta, le altre sono sospette. :)
L'implementazione è fattibile per la pratica, ma per le condizioni artificiali definite da "problem-starter" (c) è imprecisa. Per i passi discreti genera non relativi a lot_min, ma relativi a zero. :)
Tuttavia, può essere facilmente risolto se lo si nota.
// Per favore, non prendete tutte queste perle troppo sul serio. I chiarimenti sono puramente teorici, per l'allenamento del cervello, perché in pratica non ho mai visto lot_step uguale a, diciamo, 0,0231....
;)
l'opzione è corretta. Correttamente contabilizzato da lot_min come nel mio NL().
Anche la mia variante è disponibile. Si noti che per alcuni strumenti il passo di variazione del prezzo è più grande del punto.
Se prendiamo come assioma che i passi "vanno" dal lotto minimo piuttosto che da zero, l'algoritmo corretto è il seguente:
Nella versione Composter, i passi "vanno" da zero. Il che non mi sembra giusto.
Nella variante MetaDriver, il codice salta un valore negativo. =Р
...
Nella variante MetaDriver, il codice salta un valore negativo. =Р
:)) ..... Oh così! Non lavorerai affatto! ;-R ;-b ;-R
Beh, semmai la variante più breve e allo stesso tempo "più o meno accurata" è questa:
E questo senza controllare la nullità e la negatività di lot_step, lot_min e lot_max!!......
:))))
Uh... ha colpito un nervo scoperto. :)) L'ultima riga è stata corretta a mano in un post del forum, quindi perdonatemi. =)
A proposito, anche il tuo codice non ha compilato (ho dimenticato di mettere una parentesi di chiusura nell'ultima riga). :-Р
Inoltre è 2-3 volte più lento (ora l'ho controllato su script), ma la qualità del controllo è la stessa. :-Р
Comunque, finché non c'è un codice adeguato per determinare il numero intero significativo, seguirò il consiglio di Composter: normalizzare il volume a 8 cifre decimali.
Speriamo che non ci siano insidie.
Grazie a tutti per il vostro aiuto.
Vedo che siete divertenti.
nel tuo primo post hai dato a NL() quello che sei arrivato solo a due pagine dopo ;)
C'è un'altra domanda per i guru. Quando sto testando la multicurrency, ottengo degli errori (screenshot allegato).
Sto cercando di fare un'operazione commerciale, ma ottengo una risposta: nessun prezzo. Secondo il tester si può vedere che le quotazioni per questa coppia iniziano ad arrivare nel 2011.01.0301:00:00, mentre EURUSD è quotato anche dal 2011.01.0300:00:00 C'è un modo per scoprire il tempo di inizio delle quotazioni per aggirare questo errore?
C'è un'altra domanda per i guru. Quando provo il multicurrency, ottengo degli errori (screenshot allegato).
Sto cercando di fare un'operazione commerciale, ma ottengo una risposta: nessun prezzo. Secondo il tester si può vedere che le quotazioni per questa coppia iniziano ad arrivare nel 2011.01.0301:00:00, mentre EURUSD è quotato anche dal 2011.01.0300:00:00 C'è un modo per trovare il tempo di inizio delle quotazioni per evitare questo errore?