Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 740
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
Sto parlando del campo, non del lotto minimo, ma va bene, lascia perdere.
Grazie, mi è già stato spiegato :D
È chiaro che per me stesso scrivo con tutti i controlli, come dovrebbe essere, c'era solo un abbozzo di come portare il lotto al rapporto equilibrio/10, ma l'idea non ha avuto successo...
Ma hai molto testo, potrebbe essere più semplice:
Potrebbe essere più semplice. Solo, cosa succederà se MarketInfo() per lotstep restituisce 0? Quali saranno le conseguenze? L'Expert Advisor sarà fermato e le posizioni saranno abbandonate?
E se MINLOT è impostato dal broker a 0,03 e LOTSTEP a 0,02, cioè i primi due valori di lotto consentiti sono 0,03 e 0,05, e il saldo corrente è 41 - quale sarà il valore del lotto calcolato nel vostro codice?
Perché, se il lotto è inferiore al valore minimo - per esempio, con un saldo uguale a 1, sarà uguale a 0 dopo che l'espressione è completamente calcolata - perché in questo caso il tuo codice prende il lotto uguale a MINLOT, che può essere 0,03, cioè 30 volte più del valore "grezzo" di "AccountBalance()*0,001", che in questo caso è uguale a 0,001?
Non si può sempre ottenere un valore di lotto valido, perché le condizioni possono essere tali che NESSUNO dei valori di lotto validi corrisponde ad esse. Le situazioni errate devono essere tutte programmate, e bisogna ricordare che questo è almeno il 90% del lavoro.
Il modello applicato da MetaQuotes è che lotto = MINLOT + N * LOTSTEP, dove N = 0, 1, 2... M. E M è tale che MINLOT + M * LOTSTEP <= MAXLOT e MINLOT + (M + 1) * LOTSTEP > MAXLOT. Di conseguenza, si dovrebbe anche calcolare all'interno del modello impostato, cioè, lotto = MINLOT + N * LOTSTEP. Allora tutte le combinazioni scomode di MINLOT e LOTSTEP diventano irrilevanti, perché la formula funziona in modo generale. Una volta che l'hai scritto bene, debuggato bene e ti sei concentrato su qualcos'altro di interessante e divertente. E con piacere - perché non devi tornare costantemente al codice scritto male perché ancora una volta questo codice non funziona, ma solo glitch...
Potrebbe essere più semplice. Ma cosa succederà se MarketInfo() restituisce 0 per il lotto? Quali saranno le conseguenze? L'Expert Advisor sarà fermato e le posizioni saranno abbandonate?
Se il valore di MINLOT è impostato da un broker a 0,03, e LOTSTEP a 0,02, cioè i primi due valori di lotto sono 0,03 e 0,05, e il saldo attuale è 41, qual è il valore del lotto calcolato nel vostro codice?
Perché, se il lotto è inferiore al valore minimo - per esempio, con un saldo uguale a 1, dopo il calcolo completo sarà uguale a 0? Perché in questo caso il vostro codice prende il lotto uguale a MINLOT, che può essere, per esempio, 0,03, che è 30 volte più del valore "grezzo" "AccountBalance()*0,001", che in questo caso è uguale a 0,001?
Non si può sempre ottenere un valore di lotto valido, perché le condizioni possono essere tali che NESSUNO dei valori di lotto validi corrisponde ad esse. Le situazioni errate devono essere tutte programmate, e bisogna ricordare che questo è almeno il 90% del lavoro.
Il modello applicato impostato da MetaQuotes è che lotto = MINLOT + N * LOTSTEP, dove N = 0, 1, 2... M. E M è tale che MINLOT + M * LOTSTEP <= MAXLOT e MINLOT + (M + 1) * LOTSTEP > MAXLOT. Di conseguenza, si dovrebbe anche calcolare all'interno del modello impostato, cioè, lotto = MINLOT + N * LOTSTEP. Allora tutte le combinazioni scomode di MINLOT e LOTSTEP diventano irrilevanti, perché la formula funziona in modo generale. Una volta che l'hai scritto bene, debuggato bene e ti sei concentrato su qualcos'altro di interessante e divertente. E con piacere - perché non devi tornare costantemente al codice scritto male perché ancora una volta questo codice non funziona, ma solo glitch...
Per tali orrori, c'è anche una verifica della sufficienza dei fondi per aprire con un tale lotto. Nessuno sano di mente permetterebbe a un robot di depositare 10 sterline sapendo che il min/lot è 0,1 e il passo è 0,1, per esempio.
E se si trovasse uno così intelligente, il robot gli direbbe "dammi i soldi e addio nel frattempo" :D.
E non ho mai visto o letto da nessuna parte che il passo del lotto è zero, è una fantasia...
Per tali orrori, c'è anche un controllo sulla sufficienza dei fondi per aprire con un tale lotto. Nessuno sano di mente permetterebbe a un robot di depositare 10 sterline, sapendo che il lotto minimo è 0,1 e il passo è 0,1, per esempio.
E se si trova uno così intelligente, il robot gli dirà "dammi i soldi, ma intanto salutami" :D
Per evitare gli zeri di MarketInfo nel tester, faccio così:
Per tali orrori, c'è anche un controllo sulla sufficienza dei fondi per aprire con un tale lotto. Nessuno sano di mente permetterebbe a un robot di depositare 10 sterline sapendo che il lotto minimo è 0,1 e l'incremento è 0,1, per esempio.
E se si trovasse uno così intelligente, il robot gli direbbe "Dammi i soldi e addio" :D
E non ho mai visto o letto da nessuna parte che il passo del lotto è zero, è un'immaginazione...
Perché è terribile? Perché non rientra nel modello semplificato?
Intendevo dire che con MINLOT = 0,03 e LOTSTEP = 0,02, i primi due valori di lotto consentiti sono 0,03 e 0,05. Detto questo, se il saldo è, diciamo, 41, allora il vostro codice:
Darà un valore di lotto di 0,04, che non è consentito. Il robot dirà qualcosa come "il server ha detto che la dimensione del mio lotto è sbagliata".
E la dimensione del lotto zero può essere ottenuta quando si verifica un errore nel richiedere il suo valore attraverso MarketInfo(). Vi ho dato il codice su come causare un errore artificialmente:
Restituisce 0. Che razza di fantasia è questa?
Perché questo orrore? Perché non rientra nel modello semplificato?
Intendevo dire che con MINLOT = 0,03 e LOTSTEP = 0,02, i primi due valori di lotto consentiti sono 0,03 e 0,05. Detto questo, se il saldo è, diciamo, 41, allora il vostro codice:
Darà un valore di lotto di 0,04, che non è consentito. Il robot dirà qualcosa come "il server ha detto che la dimensione del mio lotto è sbagliata".
E la dimensione del lotto zero può essere ottenuta quando si verifica un errore nel richiedere il suo valore attraverso MarketInfo(). Vi ho dato il codice di cui sopra su come indurre artificialmente questo errore:
Restituirà 0. Allora qual è la fantasia?
Questa formula è facilmente correggibile per soddisfare i requisiti. Bisogna solo considerare il lotto minimo
Sembrerà un po' diverso
Dove X - Saldo per l'apertura del lotto minimo,
Ma l'assegno per il lotto minimo sarà ancora necessario.
Buon pomeriggio!
Aiuta un ignorante) Nel tester nessun ordine apre l 'errore 10013 Richiesta errata, guarda il codice dove si trova l'errore.
Tutti i numeri del giornale appaiono sull'ordine e l'ordine non si apre.
2014.10.19 12:14:34.984 2014.02.03 00:06:00 richiesta fallita comprare 0.10 a 102.31100 sl: 102.27200 tp: 102.33600 [Richiesta non valida]
2014.10.19 12:22:17.928 2014.02.03 00:06:00 ticket =0 retcode =10013
Dove lo vedi?!
Vedere la documentazione! E usa il pulsante SRC per inserire il codice!
Se sei troppo pigro, vedi la prima e l'ultima volta:
Non è mai una brutta cosa imparare!
Cari signori!
Si prega di consigliare.....
Ecco una funzione
Questa funzione restituisce il valore del profitto netto per l'ordine selezionato.
DOMANDA
La quale funzione, in modo simile alla funzione di cui sopra, restituisce il valore di perdita per l'ordine selezionato invece del valore di profitto.
Cioè se un ordine ha chiuso su SL con una perdita di 150$, ho bisogno che la funzione restituiscauna perdita di 150$.
Grazie.
Cari signori!
Si prega di consigliare.....
Ecco una funzione
Questa funzione restituisce il valore del profitto netto per l'ordine selezionato.
DOMANDA
La quale funzione, in modo simile alla funzione di cui sopra, restituisce il valore della perdita per l'ordine selezionato invece del profitto.
Cioè se un ordine ha chiuso su SL con una perdita di 150$, ho bisogno che la funzione restituiscauna perdita di 150$.
Grazie.