Criar objeto em cima de determinado preço

 

Olá amigos!

Estou tentando desenvolver um EA com algumas interações gráficas, uma das funcionalidades que pensei foi adicionar um botão de fechar posição no canto direito da tela, no preço de entrada. Porém, não estou encontrando uma forma de mover o objeto no eixo Y pro preço da entrada, mesmo colocando o preço de entrada ali na criação, o objeto só é movido quando se modifica as propriedades dos eixos X e Y.

Aqui está o código da criação do botão que eu fiz: 

if(CheckPositions())
       {
        ObjectCreate(0,"close_position_button",OBJ_BUTTON,0,TimeCurrent(),PositionGetDouble(POSITION_PRICE_OPEN));
        ObjectSetString(0,"close_position_button",OBJPROP_TEXT,"X");
        ObjectSetInteger(0,"close_position_button",OBJPROP_XDISTANCE,100);
       }
       if(!CheckPositions())
         {
          ObjectDelete(0,"close_position_button");
         }



 
HENRIQUE ARAUJO DOS SANTOS:

Olá amigos!

Estou tentando desenvolver um EA com algumas interações gráficas, uma das funcionalidades que pensei foi adicionar um botão de fechar posição no canto direito da tela, no preço de entrada. Porém, não estou encontrando uma forma de mover o objeto no eixo Y pro preço da entrada, mesmo colocando o preço de entrada ali na criação, o objeto só é movido quando se modifica as propriedades dos eixos X e Y.

Aqui está o código da criação do botão que eu fiz: 

Nada no MQL5 é fácil como as pessoas imaginam...

Você está errando no:

PositionGetDouble(POSITION_PRICE_OPEN)

Revisite este tópico, pode existir mais de 1 posição aberta no gráfico, como você vai saber qual é?

;)

 
HENRIQUE ARAUJO DOS SANTOS:

Olá amigos!

Estou tentando desenvolver um EA com algumas interações gráficas, uma das funcionalidades que pensei foi adicionar um botão de fechar posição no canto direito da tela, no preço de entrada. Porém, não estou encontrando uma forma de mover o objeto no eixo Y pro preço da entrada, mesmo colocando o preço de entrada ali na criação, o objeto só é movido quando se modifica as propriedades dos eixos X e Y.

Aqui está o código da criação do botão que eu fiz: 



Tenta incluir um ChartRedraw() depois da criação do seu objeto e comenta conosco o resultado

 
Carlos Ignacio Rincones Pons:

Tenta incluir um ChartRedraw() depois da criação do seu objeto e comenta conosco o resultado, 

Mesmo com ChartRedraw() o botão continua no mesmo lugar.

Razão: