PositionSelect

Sceglie una posizione aperta per l'ulteriore lavoro con essa. Restituisce true se la funzione è completata con successo. Restituisce false in caso di fallimento. Per ottenere informazioni sull'errore, chiamare GetLastError().

bool  PositionSelect(
   string  symbol      // Nome del simbolo
   );

Parametri

symbol

[in] Nome dello strumento finanziario.

Valore restituito

Valore di tipo bool.

Nota

Per ciascun simbolo, in un dato momento di tempo, solo una posizione può essere aperta, che è il risultato di uno o più affari. Da non confondere posizioni con correnti ordini pendenti, che sono anche visualizzate nella scheda "Trade" del "BoxAttrezzi" del terminale client.

La funzione PositionSelect() copia i dati relativi ad una posizione nell'ambiente del programma, e successive chiamate di PositionGetDouble(), PositionGetInteger() e PositionGetString() restituiscono i dati precedentemente copiati. Questo significa che la posizione stessa non esiste più (o il suo volume, direzione, ecc. è cambiato), ma i dati di quela posizione possono ancora essere ottenuti. Per garantire la ricezione di nuovi dati su una posizione, si consiglia di chiamare PositionSelect() giusto prima di fare riferimento ad essi.

Esempio:

#define   SYMBOL_NAME   "EURUSD"
 
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- selezionare una posizione su un simbolo specificato
   if(!PositionSelect(SYMBOL_NAME))
     {
      PrintFormat("PositionSelect(%s) failed. Error %d",SYMBOL_NAMEGetLastError());
      return;
     }
 
//--- se viene selezionata una posizione, possiamo ottenerne i dati utilizzando PositionGetDouble(), PositionGetInteger() e PositionGetString()
//--- ottenere il ticket della posizione selezionata
   ResetLastError();
   long ticket=PositionGetInteger(POSITION_TICKET);
   if(ticket==0)
     {
      PrintFormat("Failed to get %s position ticket. Error %d"SYMBOL_NAMEGetLastError());
      return;
     }
     
//--- se un ticket viene ricevuto con successo, stampare il simbolo della posizione selezionata e il ticket nel journal
   PrintFormat("The position that is selected on the %s symbol has ticket %I64d"SYMBOL_NAMEticket);
   /*
   risultato:
   The position that is selected on the EURUSD symbol has ticket 2810846623
   */
  }

Vedi anche

PositionGetSymbol(), PositionsTotal(), Proprietà della Posizione