[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non potrei andare da nessuna parte senza di te - 2. - pagina 277

 
Pyro:

Potete dirmi perché OrderOpenPrice non funziona? Il compito è quello di cercare un ordine nel pool ad un certo prezzo, e se non c'è, mettere l'ordine e impostare un flag che è impostato.


Usare la funzione pronta

Funzione ExistPosByPrice().


https://www.mql5.com/ru/forum/131859/page2#434212
 
artmedia70:

Leggete l'ultima riga del mio post. Chi ha detto che stavo scrivendo un esempio di chiusura?

Il resto sono le semplici verità. Scrivi il tuo libro di testo.

Chiarito non per te. Il mio post è puramente per i principianti. Quindi non c'è bisogno di offendersi.
 

Non riesco a mettere il segnale di divergenza dell'indicatore nell'Expert Advisor.

Indicatore FX5_Divergence_V2.1.mq4


Come si toglie la freccia dall'indicatore?

 
bolt:
Chiarito non per te. Il mio post è esclusivamente per i nuovi arrivati. Quindi non c'è bisogno di offendersi.
Offeso? Dio non voglia! C'era un commento sul mio post, rispettivamente, e il trattamento è preso per l'autore del post commentato. Tutto è a posto.
 
artmedia70:

Sai, se hai un solo ordine, potrebbe funzionare, ma se lo apri ancora manualmente, non sarà lo stesso. Il numero del biglietto dovrebbe essere memorizzato in una variabile, e dopo aver selezionato un ordine, dovremmo confrontare il suo biglietto con quello memorizzato:

E in generale, la selezione dell'ordine deve essere fatta usando la funzione OrderSelect() nel ciclo:

Questo è solo un esempio per capire, non il codice finito e funzionante, semmai... :)





Grazie!)))
 
bolt:

Quando si chiudono gli ordini, se c'è più di un ordine, si dovrebbe usare un ciclo come questo:



Grazie anche a te!))
 
Sergey_Rogozin:

Non posso mettere il segnale di divergenza dell'indicatore nell'Expert Advisor.

Indicatore FX5_Divergence_V2.1.mq4


Come si toglie la freccia dall'indicatore?

Il 2° e il 3° tampone l'indicatore. La seconda è la freccia su e la terza è la freccia giù. Usate iCustom(); con il controllo dei dati di questi buffer.
 
Pyro:

Potete dirmi perché OrderOpenPrice non funziona? Il compito è quello di cercare un ordine nel pool ad un certo prezzo, e se non c'è, inserire l'ordine e segnalarlo come impostato.

Va più o meno così:

int   dg=MarketInfo(Symbol(), MODE_DIGITS);
orderset=false;
for (int i=0; i<OrdersTotal(); i++) {
   if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) {
      if (OrderSymbol()!=Symbol())        continue;
      if (OrderType()<2 || OrderType()>5) continue;
      if (OrderMagicNumber()!=Magic)      continue;
      if (NormalizeDouble(OrderOpenPrice()-price,dg)==0) {
         orderset=true;
         break;
         }
      }
   }
if(!orderset) {
   int ticket=OrderSend(Symbol(),OP_SELLLIMIT,baselot,price,3,NULL,price-10,"Comment",0001+i,0,White);
   if (ticket<0) Print("Не удалось выбрать ордер, ошибка ", GetLastError());
   else price=OrderOpenPrice();
   }
L'ho scritto a mano - non prendermi a calci... :)
 
artmedia70:
Il 2° e il 3° tampone l'indicatore. La seconda è la freccia su e la terza è la freccia giù. Usate iCustom(); con il controllo dei dati di questi buffer.
Questi buffer sono vuoti. Produrre lo stesso valore 27.........., insomma, tanti numeri che non cambiano mai...
 
Sergey_Rogozin:
Questi buffer sono vuoti. Danno lo stesso valore 27.........., insomma, tanti numeri che non cambiano mai...

Cambiano solo sulla barra con la freccia. Premi Ctrl+D e muovi il mouse sul grafico dell'indicatore, osservando i dati di questi buffer. Mi devi una birra :))

ZS. Questi numeri non sono altro che EMPTY_VALUE (valore del buffer vuoto)