Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 486
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
Se prendete il vostro numero 108, otterrete al massimo 151 alla potenza di 151 - 108^151=1.11426138071861e+307
108^152=1.20340229117609e+309 è troppo per la programmazione MCL, figuriamoci 108^4096
Che tipo di calcoli richiederebbe una tale scala?
Sto cercando di sintetizzare l'analisi del movimento dei prezzi e la gestione dell'attenzione della nlp, e il mio cervello ha il pilota automatico :)
Ho iniziato a imparare MQL4 e non riesco a capire come viene selezionato un ordine
dal tutorial:
for(int i=1; i<=OrdersTotal(); i++) // Il ciclo degli ordini
{
if (OrderSelect(i-1,SELECT_BY_POS)==true) // Se
{
se (OrderSymbol()!= Symb) continua;
La mia comprensione è: Per i=1 finché i<= Numero di ordini
Se l'ordine selezionato nella posizione i-1 (cioè l'ordine #0) esiste
Abbinalo al simbolo
Poi aggiungere 1(i++) a i e iniziare una nuova iterazione
Non capisco il commento // Se c'è un prossimo ordine (cosa intendete: prossimo per posizione o questo ordine che è attualmente selezionato?)
Si prega di spiegare in russo.
Se c'è un ordine, cioè esiste sotto il numero e-1, allora passa alla condizione successiva.
Troverà sempre un ordine con il numero zero (che è i-1). Che metodo assurdo per determinare il "prossimo" ordine, veramente fuorviante...
Troverà sempre un ordine con numero zero (che è i-1). Questo è un metodo selvaggio per determinare l'ordine "successivo", che è veramente fuorviante...
Se non ci sono ordini allora con questo disegno:
non passerà alla condizione successiva.
perché non c'è ordine e-1 (nel nostro caso =0)
Naturalmente, non è conveniente scriverlo in questo modo e non è chiaro perché dovrebbe essere così,
e non, per esempio, in questo modo:
Ciao signor programmatori, ho una domanda, non riesco a imparare una parte del codice per chiudere la percentuale del saldo del conto. si chiude non la percentuale ma tutti in una volta e tutti gli ordini che sono nel mercato. ho bisogno che si chiuda un ordine specifico e la percentuale calcolata del saldo del deposito.consiglio cosa faccio male?
extern double Percent = 2.0;
extern int Slippage = 2;
double stop;
void OnStart()
{
if (Digits == 3 || Digits == 5)
{
Slippage *= 10;
}
for(int i = OrdiniTotali()-1; i>=0; i--)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if (OrderSymbol() == Symbol())
{
if (OrderType() == OP_BUY || OrderType() == OP_SELL)
{
if(stop==AccountBalance()/100*Percent)
stop=AccountBalance()/100*Percent;
if(stop<=AccountBalance())
{
OrderClose(OrderTicket(),OrderLots(),Ask,Slippage,Aqua);
OrderClose(OrderTicket(),OrderLots(),Bid,Slippage,Aqua);
}//if(ostop<=AccountBalance())
}////(ostop==AccountBalance()/100*Percent)
}//// (OrderSymbol() == Symbol() )
}// (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
}//// for(int i = OrdersTotal()-1; i>=0; i--)
return;
}////void OnStart()
//+-----------------------------------------------------------------
com'è?
e questo:
non si realizzerà mai.
quindi:
funzionerà sempre con ogni ordine.
CONCLUSIONE: tutto è sbagliato.
La tua funzione ha bisogno di essere pensata, non ho una risposta rapida.
ma almeno è così per cominciare:
Se non ci sono ordini in una tale costruzione:
non passerà alla condizione successiva.
perché non c'è ordine e-1 (nel nostro caso =0)
Naturalmente, non è conveniente scriverlo in questo modo e non è chiaro perché dovrebbe essere così,
e non, per esempio, così:
Quando lo stavo leggendo, ho anche pensato perché non mettere semplicemente i=0, sembra essere più semplice e più chiaro.
Ecco l'intero codice dello script, forse c'è una buona ragione per cui l'autore ha messo i=1 invece di i=0. Solo che non ne so abbastanza e potrei semplicemente non vederlo, mentre ho bisogno di capire il meccanismo di funzionamento per non sollevare domande in seguito