Informações sobre mais de um ativo

 

Boa noite amigo, estou usando o código abaixo para receber as informações do mini índice, porém, meu robô tb abre posições no índice cheio...então pergunto, como posso receber informações do índice cheio tb? ou seja, quero receber informações de ambos os ativos.


void GetPositionProperties()
  {
   pos_symbol     =PositionGetString(POSITION_SYMBOL);
   pos_comment    =PositionGetString(POSITION_COMMENT);
   pos_magic      =PositionGetInteger(POSITION_MAGIC);
   pos_price      =PositionGetDouble(POSITION_PRICE_OPEN);
   pos_cprice     =PositionGetDouble(POSITION_PRICE_CURRENT);
   pos_sl         =PositionGetDouble(POSITION_SL);
   pos_tp         =PositionGetDouble(POSITION_TP);
   pos_type       =(ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE);
   pos_volume     =PositionGetDouble(POSITION_VOLUME);
   pos_commission =PositionGetDouble(POSITION_COMMISSION);
   pos_swap       =PositionGetDouble(POSITION_SWAP);
   pos_profit     =PositionGetDouble(POSITION_PROFIT);
   pos_time       =(datetime)PositionGetInteger(POSITION_TIME);
   pos_id         =PositionGetInteger(POSITION_IDENTIFIER);
  }


Agradeço sua ajuda.

 
jdmaster:

Boa noite amigo, estou usando o código abaixo para receber as informações do mini índice, porém, meu robô tb abre posições no índice cheio...então pergunto, como posso receber informações do índice cheio tb? ou seja, quero receber informações de ambos os ativos.



Agradeço sua ajuda.

Use a função OnTradeTransaction(). Veja a documentação neste link.

 
jdmaster:


Bom, acredito que você queira trabalhar concomitantemente com os dois ativos, então:


//-- 

struct PositionPropertie
{
   string            pos_symbol;
   string            pos_comment;;
   ulong             pos_magic;
}

PositionProperties GEN,WIN,IND;

//--- Supondo que as duas posições estão abertas

PositionSelect( "WINQ19" );
GetPositionProperties();
WIN=GEN;
}

PositionSelect( "INDQ19" );
GetPositionProperties();
IND=GEN;

//--- Pronto você tem a informação das duas posições ao mesmo tempo
Print(WIN.pos_symbol," ",IND.pos_symbol);

void GetPositionProperties()
  {
   GEN.pos_symbol     =PositionGetString(POSITION_SYMBOL);
   GEN.pos_comment    =PositionGetString(POSITION_COMMENT);
   GEN.pos_magic      =PositionGetInteger(POSITION_MAGIC);
  }
 
Bom dia caros amigos, como sempre, vocês matando a pau, as informações foram muito úteis, muito obrigado pela atenção.
Razão: