Caratteristiche del linguaggio mql5, sottigliezze e tecniche - pagina 42 1...353637383940414243444546474849...247 Nuovo commento fxsaber 2017.06.07 22:25 #411 PositionSelect azzera tutti i dati di PositionGet in caso di fallimento. fxsaber 2017.06.07 23:22 #412 Un errore classicovoid Func( int& ) {} void OnStart() { int i; Func(true ? i : i); // '?' - parameter passed as reference, variable expected Func(i); // OK } fxsaber 2017.06.08 22:05 #413 fxsaber: Un errore classico Ti stai chiedendo se questo è l'errore giusto? TheXpert 2017.06.08 22:50 #414 fxsaber: Mi chiedo se questo sia un errore.In termini di correttezza, questo è corretto.Apparentemente l'operatore ternario non restituisce un riferimento ma una variabile per valore (il che non è logico in principio).Risulta essere una variabile temporanea, che non piace alle funzioni mql con parametri di riferimento.Cioè, l'operatore ternario e i riferimenti non vanno d'accordo, in poche parole. Il senso comune -- non so, la costruzione è logica. [Qualsiasi domanda da principiante, Errori, bug, domande OLP. Problemi di applicazione fxsaber 2017.06.08 23:23 #415 Combinatore: Si ottiene una variabile di rampa, che non piace alle funzioni mql con parametri di riferimento.MqlTick Out() { MqlTick Tick = {0}; return(Tick); } void In( MqlTick& ) {} void OnStart() { In(Out()); } Esattamente "mi piace". È a causa di tali esempi che sono sorti dei dubbi. TheXpert 2017.06.08 23:38 #416 fxsaber: Esattamente "mi piace". È a causa di tali esempi che sono sorti dei dubbi.Dalla descrizione dell'errore stesso, sembra un problema con i link e i non-link.forse qualcuno con una conoscenza più aggiornata della lingua può spiegare. Alexey Viktorov 2017.06.09 07:54 #417 fxsaber: Errore classicovoid Func( int& ) {} void OnStart() { int i; Func(true ? i : i); // '?' - parameter passed as reference, variable expected Func(i); // OK }E se è cosìvoid Func( int& ) {} void OnStart() { int i; Func((true ? i : i)); Func(i); // OK } fxsaber 2017.06.09 07:58 #418 Alexey Viktorov: Che ne dite di questo?È più veloce controllare che fare un post.Non funziona, ovviamente. Alexey Viktorov 2017.06.09 08:05 #419 fxsaber: È più veloce controllare che fare un post.Non funziona, ovviamente.Strano. Uso sempre questa opzione quando apro posizioni con o senza takeaway. trade.BuyStop(lot, buyPrice, _Symbol, 0.0, (tacke == 0.0 ? 0 : buyPrice+tacke)); trade.SellStop(lot, sellPrice, _Symbol, 0.0, (tacke == 0.0 ? 0 : sellPrice-tacke)); fxsaber 2017.06.09 08:17 #420 Alexey Viktorov: Strano. Uso sempre questa opzione quando apro posizioni con o senza acquisizioni. In questi casi funzionerà anche senza staffe aggiuntive. 1...353637383940414243444546474849...247 Nuovo commento
Un errore classico
Mi chiedo se questo sia un errore.
In termini di correttezza, questo è corretto.
Apparentemente l'operatore ternario non restituisce un riferimento ma una variabile per valore (il che non è logico in principio).
Risulta essere una variabile temporanea, che non piace alle funzioni mql con parametri di riferimento.
Cioè, l'operatore ternario e i riferimenti non vanno d'accordo, in poche parole.
Il senso comune -- non so, la costruzione è logica.Si ottiene una variabile di rampa, che non piace alle funzioni mql con parametri di riferimento.
Esattamente "mi piace". È a causa di tali esempi che sono sorti dei dubbi.
Dalla descrizione dell'errore stesso, sembra un problema con i link e i non-link.
forse qualcuno con una conoscenza più aggiornata della lingua può spiegare.
fxsaber:
Errore classico
E se è così
Che ne dite di questo?
È più veloce controllare che fare un post.
Non funziona, ovviamente.
È più veloce controllare che fare un post.
Non funziona, ovviamente.
Strano. Uso sempre questa opzione quando apro posizioni con o senza takeaway.
Strano. Uso sempre questa opzione quando apro posizioni con o senza acquisizioni.