Dice chiaramente che alla linea 553 è possibile usare una variabile che non ha valore. Provate a scrivere bool pr=false; Questo ingannerà il compilatore ma è meglio controllare bene. Dopo tutto, se il tipo di ordine è un ordine pendente, avrete ancora pr senza un valore...
La domanda è stata affrontata nell'articolo sul linguaggio mql4, quindi ho subito notato Time[0].
Dopo uno sguardo più attento, diventa chiaro che si tratta di un array definito dall'utente.
Ed ecco un commento dalla documentazione:
Nota
La funzione usa la chiamata sincrona - significa che la funzione aspetta l'esecuzione di tutti i comandi che sono stati messi nella coda del grafico prima di essere chiamata, quindi questa funzione potrebbe richiedere molto tempo. Dovresti tenerlo a mente se lavori con un gran numero di oggetti sul grafico.
Poiché un oggetto in una coordinata di prezzo può avere diversi valori, è necessario specificare il numero della linea. Questa funzione può essere applicata solo ai seguenti oggetti:
Linea di tendenza (OBJ_TREND)
Linea di tendenza per angolo (OBJ_TRENDBYANGLE)
Linea di Gann (OBJ_GANNLINE)
Canale equidistante (OBJ_CHANNEL) - 2 linee
Canale di regressione lineare (OBJ_REGRESSION) - 3 linee
Canale di deviazione standard (OBJ_STDDEVCHANNEL) - 3 linee
Dice chiaramente che nella linea 553 è possibile usare una variabile che non ha valore. Provate a scrivere bool pr=false; Questo ingannerà il compilatore, ma è meglio controllare tutto correttamente. Dopo tutto, se il tipo di ordine è un ordine pendente, avrete ancora pr senza valore...
grazie per avermi ricordato gli ordini in sospeso)
È il modo giusto per farlo?
void zakritj_vse_sdelki()
{
bool pr;
for (int i=OrdersTotal()-1; i>=0; i--)
{
if(OrderSelect(i,SELECT_BY_POS)==true)
{
pr=false;
if (OrderType()==OP_BUY) pr=OrderClose(OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(),MODE_BID), 30 );
if (OrderType()==OP_SELL) pr=OrderClose(OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(),MODE_ASK), 30 );
if (pr==false) Print("закрытие ордера ", OrderSymbol() ," завершилось с ошибкой #",GetLastError());
if (pr==true) Print("ордер ", OrderSymbol() , " ЗАКРЫТ");
}
}
}
igrok333: È possibile scrivere OrderClosePrice() in questo modo?
Otteniamo OrderClosePrice() dopo che la transazione è stata chiusa.
È possibile. Ma fate attenzione. Per una posizione aperta, restituisce il prezzo di chiusura. Corrispondentemente: per comprare - Bid, per vendere - Ask
ha scritto questo codice.
il meta-editore borbotta.
Perché si accoppia?
#proprietà rigorosa
Il vostro pr è inizializzato?
ha scritto questo codice.
il meta-editore borbotta.
Perché si accoppia?
#proprietà rigorosa
Dice chiaramente che alla linea 553 è possibile usare una variabile che non ha valore. Provate a scrivere bool pr=false; Questo ingannerà il compilatore ma è meglio controllare bene. Dopo tutto, se il tipo di ordine è un ordine pendente, avrete ancora pr senza un valore...
su quello precedente, e cosa c'è qui da mql4? la funzione OnTick()?
La domanda è stata affrontata nell'articolo sul linguaggio mql4, quindi ho subito notato Time[0].
Dopo uno sguardo più attento, diventa chiaro che si tratta di un array definito dall'utente.
Ed ecco un commento dalla documentazione:
Nota
La funzione usa la chiamata sincrona - significa che la funzione aspetta l'esecuzione di tutti i comandi che sono stati messi nella coda del grafico prima di essere chiamata, quindi questa funzione potrebbe richiedere molto tempo. Dovresti tenerlo a mente se lavori con un gran numero di oggetti sul grafico.
Poiché un oggetto in una coordinata di prezzo può avere diversi valori, è necessario specificare il numero della linea. Questa funzione può essere applicata solo ai seguenti oggetti:
Il vostro pr è inizializzato?
Pensavo che fosse inizializzato da zero quando viene dichiarato.
Dice chiaramente che nella linea 553 è possibile usare una variabile che non ha valore. Provate a scrivere bool pr=false; Questo ingannerà il compilatore, ma è meglio controllare tutto correttamente. Dopo tutto, se il tipo di ordine è un ordine pendente, avrete ancora pr senza valore...
grazie per avermi ricordato gli ordini in sospeso)
È il modo giusto per farlo?
grazie per avermi ricordato gli ordini in sospeso)
è questo il modo giusto per farlo?
if (pr==false) è equivalente a if (!pr)
if (pr==true) è equivalente a if (pr)
Io uso Alert invece di Print - dovrebbe apparire subito senza aprire il diario. E non ci sono informazioni extra
if (pr==false) è equivalente a if (!pr)
if (pr==true) è equivalente a if (pr)
Io uso Alert invece di Print - appare immediatamente sullo schermo senza aprire il diario. E non ci sono informazioni extra
Otteniamo OrderClosePrice() dopo la chiusura della transazione.
È possibile scrivere OrderClosePrice() in questo modo?
Otteniamo OrderClosePrice() dopo che la transazione è stata chiusa.
È possibile. Ma fate attenzione. Per una posizione aperta, restituisce il prezzo di chiusura. Corrispondentemente: per comprare - Bid, per vendere - Ask