Il consigliere è adatto alla vita reale? - pagina 31

 
Sì, prova.
 
OnGoing:
Non so, sì, fai un tentativo, però.

Non lo so. Anche se può essere non normalizzato, ma la condizione sarà comunque soddisfatta. Dovete normalizzare gli arresti dopo i calcoli, se ce ne sono.
 
FOReignEXchange:

Non lo so. Anche se può essere una specie di non-normalizzato, ma la condizione sarà comunque soddisfatta. Dovete normalizzare gli arresti dopo i calcoli, se ce ne sono.
Proprio quando la differenza tra Ascom e il valore da confrontare non è molto grande, il numero di cifre decimali conta e la condizione spesso fallisce.
 

Per qualche ragione penso che dovremmo farlo.

   if (OrderSelect(ticket_sell,SELECT_BY_TICKET)==true)
      {
      if (OrderType()==OP_SELLSTOP) 
         {
         if (Bid<(OrderOpenPrice()+4*Point)) 
            {

Ho l'impressione che 2 condizioni contemporaneamente a volte non possano essere lette. Proverò a metterlo dentro. Sembra una specie di bug nella lingua.

Cercherò di fare lo stesso con la normalizzazione.

Forse qualcuno ha già incontrato questi problemi?

 

No, funzionano entrambi. È più probabile che i valori non siano dati nel confronto.

Prova a tracciare i valori che ottieni ad ogni passo.

 
OnGoing:

No, funzionano entrambi. È più probabile che i valori non siano dati nel confronto.

Prova a tracciare i valori che ottieni ad ogni passo.


Ho già controllato con i commenti. Ho anche messo un commento prima di questa condizione. Il segnale va a questa linea, ma non va oltre. E succede raramente. 2-4 volte in un giorno. Per tutto il resto del tempo tutto funziona correttamente. Ho controllato tutti i valori nei commenti quando l'ordine non è stato cancellato. Avrebbe dovuto essere cancellato, ma non ha raggiunto la funzione di cancellazione. Il segnale è andato prima di questa condizione e non oltre.
 
Fottutamente stupido. Ho dimenticato di dire la cosa più importante. Tutto funziona bene nel tester. Questo è il problema. Se l'ordine non è stato cancellato nel tester, non mi preoccuperei. Ma non viene cancellato nell'account reale e viene cancellato nel tester se la visualizzazione viene attivata dopo un accordo. Ecco perché penso che sembri una specie di bug nel linguaggio. Ho l'impressione che non possa rimuovere molti dati dall'ordine selezionato. Non è la prima volta che incontro questo problema. Per essere più precisi, lo incontro continuamente. Tutto va bene nel tester, ma non nella vita reale.
 
Ora ho acceso la visualizzazione e la sto guardando. C'è un enorme margine di tempo per la rimozione. Quasi mezzo minuto. Nel tester ha cancellato e oggi sul conto demo non ha nemmeno provato a cancellare e ha aperto un trade di salmone :)
 

Emette i valori non davanti alla condizione, ma esattamente le espressioni che sono dentro la condizione. Controlla cosa viene paragonato a cosa. Poi, la prossima volta che si verifica un guasto del genere, sarete in grado di coglierne la causa.

Dopo tutto, sappiamo che la condizione sta fallendo. Quindi dobbiamo scoprire perché. Per fare questo, tutti i valori confrontati devono essere costantemente monitorati.

 

Ho già fatto tutto questo. Ora sono tornato alla visualizzazione per un altro posto dove l'ordine non è stato cancellato. Ogni spunta ho guardato i commenti sulla condizione. Lì tutto è corretto e il tester ha cancellato l'ordine. E il tempo per cancellarlo era di 10-15 secondi.

Ho guardato i log del conto demo durante questo periodo e non ci sono stati tentativi di cancellare l'ordine. Il tester sì, ma il conto demo no. Ho provato a mettere dei commenti prima e dopo le condizioni, alla fine del codice e all'inizio del codice tutto in una volta. Tutte le condizioni sono soddisfatte, ma non sono andato oltre. Non abbiamo nemmeno provato a cancellare l'ordine! Abbiamo tutto il tempo per cancellarlo, ma non è questione di tempo, visto che non abbiamo nemmeno provato a farlo. Non ci sono stati salti neanche su 2-3 zecche. È solo che la condizione non passa alla funzione di cancellazione e questo è tutto.

Ok, proverò un'altra opzione: impostare queste condizioni con ogni nuova linea separatamente. Vedrò cosa succede domani. Sul primo problema ho più o meno indovinato come risolvere. Domani vedrò come si comporterà il codice aggiornato.