Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 74

 
ilnur17021992:

c'è una variabile

int Level = 0;

Mentre il programma è in esecuzione, cambia costantemente. Aiutami a scrivere una condizione: se Level NON è cambiato, allora non fare nulla. Se Level è cambiato (non importa se è cambiato in alto o in basso), allora fai qualche azione { operatore }

inserire un'altra variabile

int Level1 = 0;

int Level = 0;

se (Livello !=Livello1)

{};

e poi Livello1 =Livello

ma davvero non capisco perché abbiamo bisogno di estrarre un array su ogni tick se possiamo farlo dopo ogni operazione commerciale

 
trader781:

inserire un'altra variabile

int Level1 = 0;

int Level = 0;

se (Livello !=Livello1)

{};

e poi Livello1 =Livello

Non capisco davvero perché devo estrarre un array ad ogni tick, se posso farlo dopo ogni operazione di trading

      if(SELL_Lvl>0)
      {
         ObjectCreate("Sell no loss level", OBJ_HLINE, 0, 0, SELL_NoLossLevel);
      }          

Inoltre, ho bisogno che accada quando SELL_Lvl aumenta:

         ObjectDelete( "Sell no loss level");

Ma, poiché la condizioneSELL_Lvl>0 è soddisfatta, la linea viene ridisegnata di nuovo, ma con un nuovo valore diSELL_NoLossLevel. C'è un modo più semplice e ovvio per ridisegnare la linea, in funzione diSELL_Lvl?

 
ilnur17021992:
      if(SELL_Lvl>0)
      {
         ObjectCreate("Sell no loss level", OBJ_HLINE, 0, 0, SELL_NoLossLevel);
      }          

Poi ho bisogno di far ridisegnare la linea quando SELL_Lvl aumenta:

         ObjectDelete( "Sell no loss level");

Ma poiché la condizioneSELL_L_Lvl>0 è soddisfatta, la linea deve essere ridisegnata di nuovo, ma con un nuovo valore diSELL_NoLossLevel. C'è un modo più semplice e ovvio per ridisegnare la linea, a seconda del valore diSELL_Lvl?

Trasferire l'oggetto al nuovo valore senza cancellarlo o ricrearlo:

ObjectSetDouble(chart_ID, "Sell no loss level", OBJPROP_PRICE1, NewPrice);
 
Vitaly Muzichenko:

Trasferire l'oggetto al nuovo valore senza cancellarlo o ricrearlo:

ObjectSetDouble(chart_ID, "Sell no loss level", OBJPROP_PRICE1, NewPrice);

Questa è certamente un'opzione, ma vorrei che la linea fosse ridisegnata dal valore diSELL_NoLossLevel a seconda cheSELL_Lvlsia cambiato

in questo modo if(ObjectGet("Vendi livello senza perdite", 1) !=SELL_NoLossLevel{ObjectDelete("Vendi livello senza perdite");}

La linea è ridisegnata ad ogni tick mentre ho bisogno che sia ridisegnata solo seSELL_Lvl cambia

 
ilnur17021992:

Naturalmente è una variante, ma vorrei che la linea fosse ridisegnata daSELL_NoLossLevel a seconda cheSELL_Lvl sia cambiato

in questo modo if(ObjectGet("Vendi livello senza perdite", 1) !=SELL_NoLossLevel{ObjectDelete("Vendi livello senza perdite");}

La linea è ridisegnata su ogni tick, mentre ho bisogno che sia ridisegnata solo seSELL_Lvl cambia

Spiega chiaramente la condizione di ridisegno della linea, con valori di prezzo reali.

Per la linea evidenziata: quanto è cambiata? Cosa indica il fatto che SELL_Lvl è cambiato?

 
ragazzi consigliate la funzione di chiusura degli ordini pendenti in mcl5 ci sono cinque ordini limite di acquisto per chiudere il più basso
 
TYRBO:
Voglio sapere quale funzione usare per chiudere un ordine pendente in mcl5.

È meglio fare un giro, determinare quello giusto e documentarsi

Cancellare l'ordine in sospeso

Ordine commerciale per cancellare un ordine in sospeso. Richiede 2 campi da specificare:

  • azione
  • ordine
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса
  • www.mql5.com
Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Alexey Viktorov:

Meglio andare in bicicletta, identificare quello giusto e seguire la documentazione

Ho bisogno di un bottom order ticket per chiuderlo, so come trovare il bottom order price, vi sarei grato se poteste dirmi come trovare un bottom order ticket
 
Alexey Viktorov:

Scrivete la condizione per il ridisegno della linea in modo chiaro, con valori di prezzo reali, e allora capirete cosa dovete fare.

Sull'evidenziato: cambiato di quanto? Cosa indica il fatto che SELL_Lvl è cambiato?

SELL_Lvl è il numero di ginocchia (ordini) della griglia di vendita.SELL_NoLossLevel è il livello totale (prezzo) di questi ordini. Bene, l'idea è la seguente: abbiamo bisogno di una linea disegnata a livello di una linea di acquisto e ridisegnata rispettivamente quando vengono aperte nuove linee. Non so come fare.
 
TYRBO:
Apprezzerei se poteste dirmi come trovare il prezzo di un ordine minimo.

C'è un esempio nella documentazione.

Probabilmente sarebbe meglio passare attraverso gli ordini nel ciclo e, a condizione che l'ordine successivo sia inferiore al precedente, selezionarlo per lavorare ulteriormente con esso. Così, quando usciamo dal ciclo, l'ordine da cancellare sarà selezionato.

Oppure potete prima salvare la sua posizione nella lista dell'ordine nel ciclo e dopo l'uscita dal ciclo selezionarla per l'indice salvato.

Документация по MQL5: Торговые функции / OrderGetTicket
Документация по MQL5: Торговые функции / OrderGetTicket
  • www.mql5.com
Торговые функции / OrderGetTicket - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5