PositionGetSymbol

Restituisce il simbolo corrispondente alla posizione aperta e seleziona automaticamente la posizione per l'ulteriore lavoro con essa utilizzando le funzioni PositionGetDouble, PositionGetInteger, PositionGetString.

string  PositionGetSymbol(
   int  index      // Numero nella lista delle posizioni
   );

Parametri

index

[in] Numero della posizione nella lista delle posizioni aperte.

Valore restituito

Valore di tipo string. Se la posizione non è stata trovata, verrà restituita una stringa vuota. Per ottenere il codice di errore, chiamare la funzione GetLastError().

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 i correnti ordini pendenti con le posizioni, che sono anch'esse visualizzate nella scheda "Trade" del "BoxAttrezzi" del terminale client.

Il numero totale di posizioni su un trade account non può superare il totale del numero di strumenti finanziari.

Esempio:

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- ottenere il numero di posizioni aperte sul conto
   int total=PositionsTotal();
   for(int i=0i<totali++)
     {
      //--- ottenere il simbolo della posizione dall'indice i del ciclo
      ResetLastError();
      string symbol=PositionGetSymbol(i);
      
      //--- se il simbolo della posizione viene ricevuto con successo, la posizione all'indice i viene selezionata automaticamente
      //--- e possiamo ottenere le sue proprietà utilizzando PositionGetDouble, PositionGetInteger e PositionGetString
      if(symbol!="")
        {
         ENUM_POSITION_TYPE type=(ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE);
         PrintFormat("Position symbol at index %d: %s, position type: %s"isymbolStringSubstr(EnumToString(type), 14));
        }
      else
        {
         PrintFormat("PositionGetSymbol(%d) failed. Error %d"iGetLastError());
         continue;
        }
     }
   /*
   risultato:
   Position symbol at index 0GBPUSDposition typeSELL
   Position symbol at index 1EURUSDposition typeBUY
   */
  }

Vedi anche

PositionsTotal(), PositionSelect(), Proprietà delle Posizioni