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
Pushkin inizializzerà la stringa?
Hmmm... Non sono molto bravo a programmare, ma la stringa non dovrebbe essere resettata ogni volta?
Mi interessa il suo valore base, per esempio, il valore di double è zero, bool è 1, ma cosa?
Dabble esempio:
doppio Statys;
void OnTick()
{
se(Statys == 0)
{OpenBuy();}
}
E sembra funzionare))
(Esattamente, non è azzerato). Non li ho mai inizializzati lì).
Hmm... Non sono bravo a programmare, ma la stringa non dovrebbe essere resettata ogni volta?
Mi interessa il suo valore base, ad esempio il valore di double è zero, bool è 1, ma cos'è?
Esattamente, non è azzerato). E non li ho mai inizializzati lì)
Nella guida di MQL5 è chiaramente indicato nella sezione Inizializzazione delle variabili:
Qualsiasi variabile può essere inizializzata quando viene definita. Se una variabile non è esplicitamente inizializzata, il valore memorizzato in questa variabile può essere quello che volete. L'inizializzazione implicita non viene eseguita.
La sezione Inizializzazione delle variabili della guida di MQL5 afferma esplicitamente:
Siete solo fortunati per il momento, ma un giorno sarete sfortunati e starete agonizzando alla ricerca di un bug nel vostro codice, senza sapere che il diavolo si nasconde nelle minuzie. Non devi contare su "sarò fortunato".Sto scrivendo una semplice funzione per controllare la direzione dell'indicizzazione in un array. Gli array stessi sono presi da OnCalculate(), cioè hanno tipi diversi (double, datetime, ecc.). Ci sono esempi di funzioni terminali nel riferimento che usano il tipo di intestazione f(void &array[]) quando processano array di tipi diversi. Ma il compilatore giura di usare il tipo void nella funzione utente. C'è un modo universale per dire al compilatore che il tipo di parametro dell'array non è importante per una funzione utente?
Vorrei chiarire la struttura del risultato della richiesta di compravendita (MqlTradeResult)
double price; // Prezzo nella negoziazione, confermato dal broker
Non restituisce il prezzo di un ordine in sospeso? L'Expert Advisor ha scritto il seguente codice:
double Statys = 0;
void OnTick()
{
if (Statys == 0)
{OpenBuy();}
}
void OpenBuy()
{
MqlTradeRequest o; MqlTradeResult p;
double Ask = SymbolInfoDouble(_Symbol,SYMBOL_ASK);
o.action = TRADE_ACTION_PENDING;
o.symbol = _Symbol;
o.volume = 1;
o.prezzo = 82.000;
o.sl = 81.800;
o.tp = 82.200;
o.tipo = ORDER_TYPE_BUY_STOP;
o.type_filling = ORDER_FILLING_AON;
o.type_time = ORDER_TIME_GTC;
OrderSend(o,p);
Statistiche = p.prezzo;
}
A giudicare dal fatto che abbiamo un sacco di scambi aperti, mi azzardo a indovinare che la risposta è prezzo = 0. Però è un po' strano.
C'è un modo universale per dire al compilatore che il tipo del parametro dell'array non è importante per una funzione utente?
Vorrei chiarire la struttura del risultato della richiesta di compravendita (MqlTradeResult)
double price; // Prezzo nella negoziazione, confermato dal broker
Non restituisce il prezzo di un ordine in sospeso? L'Expert Advisor ha scritto un tale codice:
A giudicare dal fatto che ci sono molti scambi aperti, mi azzardo a indovinare che la risposta è prezzo = 0. Questo è un po' strano però.
Un ordine pendente non implica la conclusione di un accordo. Date un'occhiata alla guida alla struttura di MqlTradeResult:
Descrizione del campo
Campo
Descrizione
retcode
Codice di ritorno del server commerciale
affare
Deal ticket, se è stato eseguito un accordo. Riportato nell'operazione commerciale TRADE_ACTION_DEAL
ordine
Ordine del biglietto, se è stato inserito un biglietto. Notificato durante un'operazione commerciale TRADE_ACTION_PENDING
volume
Volume del commercio confermato dal broker. Dipende dal tipo di riempimento dell'ordine
prezzo
Prezzo dell'affare, confermato dal broker. Dipende dal campo di deviazione nella richiesta di compravendita e/o dal tipo di compravendita
offerta
Prezzo di offerta corrente di mercato (prezzo di requote)
chiedere a
Prezzo d'offerta attuale del mercato (prezzi di requote)
commento
Commento del broker alla transazione (di default, riempito con una decrittazione)
Un ordine in sospeso non costituisce una negoziazione. Guardate l'aiuto per la struttura MqlTradeResult:
Inoltre, si prega di inserire il codice correttamente.Ok, basta. Dobbiamo anche inizializzare le stringhe? Non è un tipo atomico.