Domanda sulla funzione OrderSelect - pagina 3

 

"OrderSelect()" restituisce un numero intero, quando la documentazione afferma chiaramente che restituisce un booleano?

booleano è 0 o 1

Non si controlla nemmeno il risultato di "OrderClose()" o se si è verificato un errore di esecuzione! scriverò il codice dopo aver capito order select FMIC

la programmazione c è importante da capire. contento?

 
boopa26:

"OrderSelect()" restituisce un numero intero, quando la documentazione afferma chiaramente che restituisce un booleano?

booleano è 0 o 1

Non controlli nemmeno il risultato di "OrderClose()" o se si è verificato un errore di esecuzione! Sì, ma questo viene dopo FMIC

È già un booleano, non c'è bisogno di confrontarlo con niente, che sia un'altra costante booleana o un intero typecast. Non dovreste hard-code i valori booleani rappresentati internamente! Dovreste usare "true" o "false", ma idealmente solo quando inizializzate una variabile, non nei confronti.

if(  OrderSelect( ... ) )  // instead of "if( OrderSelect( ... ) == true )"
if(  OrderSelect( ... ) )  // instead of "if( OrderSelect( ... ) == 1 )"
if( !OrderSelect( ... ) )  // instead of "if( OrderSelect( ... ) == false )"
if( !OrderSelect( ... ) )  // instead of "if( OrderSelect( ... ) == 0 )"

Se ti fossi preso la briga di imparare il "C", lo avresti saputo!

 

questa è la mia domanda

cosa commuta la funzione order select da false a true?

Capisco ! è uguale a non

esempi

se non order select o se order select MA

per default order select è 0 quindi cosa fa passare order select da 0 a 1?

la documentazione dice

"Valore restituito

Ritorna vero se la funzione ha successo".

non è un'informazione sufficiente per me per capire


grazie FMIC

 
boopa26:

solo questo forum

Eddie, sai qualcosa sulla funzione order select?

Certo che lo so.

Ho imparato da altri codificatori e sono in grado di leggere i libri e i manuali MQL.

Ma il punto più importante è: ho imparato a usare il debugger. Mi ha fatto risparmiare un sacco di tempo nella ricerca dei MIEI errori analitici e di codifica.

 
ben fatto eddie
 
boopa26: Capisco , è uguale a no.

Se hai capito, perché non l'hai fatto correttamente all'inizio!

boopa26 : questa è la mia domanda

cosa commuta la funzione di selezione dell'ordine da falso a vero?

esempi

if not order select o if order select BUT

di default order select è 0 quindi cosa fa passare order select da 0 a 1?

la documentazione recita

"Valore restituito Restituisce vero se la funzione riesce,"

non sono abbastanza informazioni per me per capire

Non c'è un "default" né passa da un valore all'altro! O riesce a selezionare l'ordine e restituisce "true"; o fallisce, restituendo "false" e bisogna controllare il codice di errore per scoprire perché!

 
  1. boopa26: vuole scrivere la funzione order select per chiudere gli ordini senza cicli for o while.
    Poi posta il codice con i cicli
  2. boopa26: leggere la documentazione ora https://docs.mql4.com/trading/orderselect
    Posta domande prima di leggere.
  3. boopa26:

    1. non ha bisogno di conoscenze di c. mql4 è diverse funzioni

    3. leggere già la documentazione

    4. codice già scritto

    Poi si contraddice sulla documentazione e diventa polemico.
  4. Musngi viene bannato e boopa26 appare improvvisamente. Coincidenza? Non credo.

Per favore non alimentate il troll. Quando rispondete, date potere al troll. Quando ignorate il troll, ha fame di attenzione e alla fine muore.

 

ciao posso ciclare order select per trovare gli ordini aperti ma non posso ciclare order select per trovare i profitti degli ordini chiusi. per esempio voglio trovare l'ultimo profitto dell'ordine chiuso

questo codice cicla order select per trovare gli ordini aperti

static int a;

//cycle order select

if(OrdersTotal()>0&&
   a<OrdersTotal()&&
   OrderSelect(a,SELECT_BY_POS,MODE_TRADES)==0)

   a++;

//close open order

if(OrdersTotal()>0&&
   OrderSelect(a,SELECT_BY_POS,MODE_TRADES)==1&&
   OrderMagicNumber()==magic_number&&
   OrderType()==OP_BUY&&
// close order signal)
  
   OrderClose(OrderTicket(),lots_2,Bid,3,Blue);

https://docs.mql4.com/trading/orderselect

https://docs.mql4.com/trading/orderprofit

forse questo

if(OrdersHistoryTotal()>0&&
   b<OrdersHistoryTotal()&&
   OrderSelect(b,SELECT_BY_POS,MODE_HISTORY)==0)

   b++;
 
static int a;

//cycle order select

if(OrdersTotal()>0&&
   a<OrdersTotal()&&
   OrderSelect(a,SELECT_BY_POS,MODE_TRADES)==0)

   a++;

//close open order

if(OrdersTotal()>0&&
   OrderSelect(a,SELECT_BY_POS,MODE_TRADES)==1&&
   OrderMagicNumber()==magic_number&&
   OrderType()==OP_BUY&&
// close order signal)
  

   OrderClose(OrderTicket(),lots_2,Bid,3,Blue);

static int a;

Non inizializzi la variabile a e perché è statica?


OrderSelect(a,SELECT_BY_POS,MODE_TRADES)==0)

Ti è già stato detto che dovresti usare true o false, non 1 o 0

OrderSelect(a,SELECT_BY_POS,MODE_TRADES)==false)
// OR
!OrderSelect(a,SELECT_BY_POS,MODE_TRADES))


Non stai facendo il ciclo attraverso gli ordini

 
Keith Watford:
static int a;

//cycle order select

if(OrdersTotal()>0&&
   a<OrdersTotal()&&
   OrderSelect(a,SELECT_BY_POS,MODE_TRADES)==0)

   a++;

//close open order

if(OrdersTotal()>0&&
   OrderSelect(a,SELECT_BY_POS,MODE_TRADES)==1&&
   OrderMagicNumber()==magic_number&&
   OrderType()==OP_BUY&&
// close order signal)
  

   OrderClose(OrderTicket(),lots_2,Bid,3,Blue);

static int a;

Non inizializzi la variabile a e perché è statica?


OrderSelect(a,SELECT_BY_POS,MODE_TRADES)==0)

Vi è già stato detto che dovreste usare true o false, non 1 o 0

OrderSelect(a,SELECT_BY_POS,MODE_TRADES)==false)
// OR
!OrderSelect(a,SELECT_BY_POS,MODE_TRADES))


Non stai facendo il ciclo attraverso gli ordini

int statico a; si trova sopra start(){ VALORE GLOBALE

non c'è differenza 1 o 0. vero o falso

Sto aumentando il valore a dopo che le condizioni hanno effetto