Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 823

 
User_mt5:

Potete per favore dirmi come capire questo?

Il prezzo è andato molte volte su questi ordini, alla fine è salito, ma nessuno degli ordini è mai diventato una posizione. Perché?

Se è scritto da qualche parte, per favore datemi un link.


Non c'erano abbastanza lotti per eseguire l'ordine.

Per quanto ne so, e so poco di questo argomento, bisogna mettere dei limitatori ben al di sopra del prezzo corrente.

 
Vladislav Andruschenko:

Non c'erano abbastanza lotti per eseguire l'ordine.

Suppongo anche io. Ma cosa c'è dopo? Non possiamo cancellare o modificare l'ordine. Quindi saranno appesi lì per sempre?
Non capisco cosa significa quando non ci sono abbastanza lotti sulla demo.

Vladislav Andruschenko:

per quanto ne so, e conoscendomi un po' sull'argomento, bisogna mettere dei limitatori ben al di sopra del prezzo corrente.

No, questo non è corretto. Puoi piazzare l'ordine ovunque entro i limiti attuali. C'è un limite di StopLevel. Cioè, non puoi piazzare l'ordine più vicino al prezzo del valore di StopLevel.

Ma se il server lo accetta, significa che tutto è a posto.

 
User_mt5:

Lo penso anch'io. Ma cosa dovremmo fare dopo? Non possiamo cancellare o modificare l'ordine. Quindi saranno appesi lì per sempre?
E non capiamo bene cosa significhi quando non ci sono abbastanza lotti sulla demo.

No, questo non è corretto. Puoi piazzare un ordine ovunque entro i limiti attuali. C'è un limite di StopLevel. Cioè, non puoi piazzare l'ordine più vicino al prezzo del valore StopLevel.

Ma se il server lo accetta, significa che tutto è a posto.


È un po' diverso nello scambio.

 
Vladislav Andruschenko:

è un po' diverso in borsa...

Vlad, quale scambio? Puoi vedere quale demo della compagnia è aperta...

 
Alexey Viktorov:

Vlad, quale scambio? Puoi vedere quale demo della compagnia è aperta...


No, sono confuso, non ci faccia caso, sono sotto farmaci.

 
Alexey Viktorov:

Vlad, quale scambio? Si può vedere quale demo della compagnia è aperta...?

Potresti spiegare il contenuto di questo commento, perché sono nuovo in questo.
A proposito, ho premuto il pulsante "Compra", l'ordine non è stato eseguito, ma è stato mostrato come... una specie di pending nella finestra Toolbox ma non nel grafico.
 
User_mt5:
Potresti spiegare il contenuto di questo commento, perché sono nuovo in questo settore.
A proposito, ho premuto il pulsante Buy, l'ordine non è stato eseguito, ma appare come... una specie di pending nella finestra Instruments, ma non nel grafico.
Cosa c'è da spiegare? Nella schermata si può vedere il numero di conto e il nome del broker che non ha nulla a che fare con lo scambio.
 
Alexey Viktorov:
Cosa c'è da spiegare? Nella schermata si può vedere il numero di conto e il nome di un broker che non ha nulla a che fare con lo scambio.

Non capisco.

Se questo broker non mi permette di fare trading su questo simbolo, allora perché lo ha incluso nella lista dei simboli sulla demo?
E se è così, come dovremmo capire l'attuale situazione degli ordini?

Bene, e se l'ordine è stato eseguito parzialmente (può succedere su 5 simboli), allora cosa dovrebbe succedere all'ordine rimasto?
Deve essere chiuso o vivere fino a quando non viene chiuso manualmente, o fino a quando viene eseguito?
Se è scritto da qualche parte, sarei molto grato per un link.

 
User_mt5:

Non capisco...

Se questo broker non mi permette di fare trading su questo simbolo, allora perché lo ha incluso nella lista dei simboli sulla demo?
E se lo fa, come dovremmo capire l'attuale situazione degli ordini?

Bene, e se l'ordine è stato eseguito parzialmente (può succedere su 5 simboli), allora cosa dovrebbe succedere all'ordine rimasto?
Deve essere chiuso o vivere fino alla chiusura manuale o fino all'esecuzione?
Se è scritto da qualche parte, sarei molto grato per un link.

Non cercare di trascinarmi in una discussione su come funzionano gli uffici. Tanto più che ho interrotto tutti i rapporti con questo molti anni fa e non ne so nulla.

 
Vladimir Karputov:

Un algoritmo approssimativo:

  1. Creiamo due handle in OnInit() (per l'indicatore della media mobile veloce e lento )
  2. In OnTick() (raccomandato per lavorare solo su una nuova barra, non su ogni tick) dichiara due array - uno di loro copierà i valori dalla MA veloce, il secondo array copierà i dati dalla MA lenta.
  3. Copiare per esempio 100 ultimi valori (cioè dovremmo copiare i dati dall'indice "0" e il numero "100") dal MA lento e dal MA veloce in questi array.
  4. Invertiamo gli array in modo che l'indice #0 negli array corrisponda alla barra più a destra del grafico.
  5. Ora abbiamo solo bisogno di fare un ciclo da "0" a "100-1" attraverso entrambi gli array e cercare l'intersezione. Quando troviamo l'intersezione, il valore della variabile del ciclo sarà il numero della barra.
Nota: questo algoritmo non tiene conto dei controlli e delle protezioni dagli errori.

Grazie, come posso scrivere il ciclo per trovare il numero della barra che attraversa le due MA quando i primi due passi dell'algoritmo sono completati e ci sono valori delle due MA sulla prima barra?

   MA1_1=iMAGet(handle_iMA_1, 1);      // значение 1-й МА

   MA2_1=iMAGet(handle_iMA_2, 1);      // значение 2-й МА

/

double iMAGet(const int handle,const int index)
  {
   double MA[];
   ArraySetAsSeries(MA,true);
//--- reset error code 
   ResetLastError();
//--- fill a part of the iMABuffer array with values from the indicator buffer that has 0 index 
   if(CopyBuffer(handle,0,0,index+1,MA)<0)
     {
      //--- if the copying fails, tell the error code 
      PrintFormat("Failed to copy data from the iMA indicator, error code %d",GetLastError());
      //--- quit with zero result - it means that the indicator is considered as not calculated 
      return(0.0);
     }
   return(MA[index]);
  }

.

Motivazione: