Preço Médio após uma realização parcial

Para adicionar comentários, por favor Faça o login ou registrar
filipenbrito
16
filipenbrito  

Boa tarde pessoal! Sou novo por aqui mas espero ter a atenção de vocês para uma duvida que tenho.

Após uma realização parcial o preço se mantem no mesmo local. Quando fazemos uma nova ordem o preço se move para um preço médio calculado. Porém na realização parcial não. Existe alguma forma de eu configurar para o MT5 para fazer esta alteração após uma realização parcial?


Ex: Comprei 10 contratos de mini-índice no preço 72150 e realizei a parcial de 5 contratos com 75 pontos de ganho, o preço médio de entrada mudaria de 72150 para 72075. Pois, para sair no zero a zero o preço teria que voltar os 75 pontos já ganhos.


Agradeço desde já.

Japa Trader Br
213
Japa Trader Br  

Olá amigo,

Apenas um comentario a respeito do tema.

O MT5 faz o preço médio: se você comprou no 100, depois comprou mais no 200, verás que sua posição estará no no 150. O mesmo vale para a venda.

No seu exemplo, se você fez sua parcial, ele mantem o preço na sua entrada, pois é o preço que você de fato fez a entrada.

A posição de entrada não muda, nao faz sentido mudar a menos que você faça novas entradas conforme mencionei acima.


Isso é algo que traz bastante discussão no MT5, pois as algumas outras plataformas chamam de "preço médio" da posição o seu "ponto de equilíbrio" ou "preço de corte" (ou algum outro) baseado no seu gain-loss diário.

Que se enquadra no seu caso.


Se você que ver esta posição, sugiro utilizar o indicador anexo que eu utilizo e mostra o "preço médio" (se parece muito com o painel que aparece no gráfico do Tryd).

Arquivos anexados:
filipenbrito
16
filipenbrito  
Japa Trader Br:

Olá amigo,

Apenas um comentario a respeito do tema.

O MT5 faz o preço médio: se você comprou no 100, depois comprou mais no 200, verás que sua posição estará no no 150. O mesmo vale para a venda.

No seu exemplo, se você fez sua parcial, ele mantem o preço na sua entrada, pois é o preço que você de fato fez a entrada.

A posição de entrada não muda, nao faz sentido mudar a menos que você faça novas entradas conforme mencionei acima.


Isso é algo que traz bastante discussão no MT5, pois as algumas outras plataformas chamam de "preço médio" da posição o seu "ponto de equilíbrio" ou "preço de corte" (ou algum outro) baseado no seu gain-loss diário.

Que se enquadra no seu caso.


Se você que ver esta posição, sugiro utilizar o indicador anexo que eu utilizo e mostra o "preço médio" (se parece muito com o painel que aparece no gráfico do Tryd)

Olá amigo,

Não sei se vc já viu no ProfitChart uma opção de Pontos de Cobertura mostrando no Gráfico. É aquilo ali que eu preciso. Ajustado por operação.

Sei que parece parece estranho esta função. Mas é que fazendo a parcial, tendo uma visão do ponto de cobertura gerado pela parcial gera um alivio psicológico na continuidade da operação.

Tipo entrei com lote 3.00. Nesse momento o Ponto de Cobertura é o mesmo local da minha entrada. Mas no momento que eu faço a parcial, eu preciso saber onde de fato o preço indo contra mim eu saiu no 0x0. No caso fazendo uma parcial de 2.00 com 70pts, sobra 1.00, mostraria para mim uma linha do Ponto de cobertura com 140pts atras de minha entrada. Dando a noção que se o preço voltar com lote de 1.00 em 140pts eu sairei no 0x0.

Conseguiu me entender? 

Grato!

André Pires
16
André Pires  
Japa Trader Br:

Olá amigo,

Apenas um comentario a respeito do tema.

O MT5 faz o preço médio: se você comprou no 100, depois comprou mais no 200, verás que sua posição estará no no 150. O mesmo vale para a venda.

No seu exemplo, se você fez sua parcial, ele mantem o preço na sua entrada, pois é o preço que você de fato fez a entrada.

A posição de entrada não muda, nao faz sentido mudar a menos que você faça novas entradas conforme mencionei acima.


Isso é algo que traz bastante discussão no MT5, pois as algumas outras plataformas chamam de "preço médio" da posição o seu "ponto de equilíbrio" ou "preço de corte" (ou algum outro) baseado no seu gain-loss diário.

Que se enquadra no seu caso.


Se você que ver esta posição, sugiro utilizar o indicador anexo que eu utilizo e mostra o "preço médio" (se parece muito com o painel que aparece no gráfico do Tryd).

excelente.. muito bom esse esqueminha.. mas se nao for pedir muito, será que da pra implementar uma linha que "acompanha" o preço médio ?
Joscelino Celso de Oliveira
871
Joscelino Celso de Oliveira  
filipenbrito:

Olá amigo,

Não sei se vc já viu no ProfitChart uma opção de Pontos de Cobertura mostrando no Gráfico. É aquilo ali que eu preciso. Ajustado por operação.

Sei que parece parece estranho esta função. Mas é que fazendo a parcial, tendo uma visão do ponto de cobertura gerado pela parcial gera um alivio psicológico na continuidade da operação.

Tipo entrei com lote 3.00. Nesse momento o Ponto de Cobertura é o mesmo local da minha entrada. Mas no momento que eu faço a parcial, eu preciso saber onde de fato o preço indo contra mim eu saiu no 0x0. No caso fazendo uma parcial de 2.00 com 70pts, sobra 1.00, mostraria para mim uma linha do Ponto de cobertura com 140pts atras de minha entrada. Dando a noção que se o preço voltar com lote de 1.00 em 140pts eu sairei no 0x0.

Conseguiu me entender? 

Grato!

Você pode fazer isso por código. Se está operando por EA, vai precisar incluir no código. Caso contrário, pode codificiar um script.

[ ]´s

Fabiano Vasconcellos
6605
Fabiano Vasconcellos  
Japa Trader Br:

Olá amigo,

Apenas um comentario a respeito do tema.

O MT5 faz o preço médio: se você comprou no 100, depois comprou mais no 200, verás que sua posição estará no no 150. O mesmo vale para a venda.

No seu exemplo, se você fez sua parcial, ele mantem o preço na sua entrada, pois é o preço que você de fato fez a entrada.

A posição de entrada não muda, nao faz sentido mudar a menos que você faça novas entradas conforme mencionei acima.


Isso é algo que traz bastante discussão no MT5, pois as algumas outras plataformas chamam de "preço médio" da posição o seu "ponto de equilíbrio" ou "preço de corte" (ou algum outro) baseado no seu gain-loss diário.

Que se enquadra no seu caso.


Se você que ver esta posição, sugiro utilizar o indicador anexo que eu utilizo e mostra o "preço médio" (se parece muito com o painel que aparece no gráfico do Tryd).

Esse arquivo faz o mesmo que o ponto de cobertura do Profit?

paullosilva
38
paullosilva  
Então alguem aqui tem esse código? pois tenho um EA que quando faz aumento de posição ele faz preço médio do gain, mas não aparece a linha com esse "Ponto de equilibrio" como mencionado.
sandrolho
60
sandrolho  
paullosilva:
Então alguem aqui tem esse código? pois tenho um EA que quando faz aumento de posição ele faz preço médio do gain, mas não aparece a linha com esse "Ponto de equilibrio" como mencionado.

eu fiz outro dia algo assim mas acabei abandonando ... o indicador



Basta vc fazer :

1 - descubra o seu lucro diario ?  ( tem funcoes que passam ja acho q um tal de eqyiti)... 

2 - teste no codigo se vc ta posicionado  if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY) 

     entao faca 
      

      Pts= PositionGetDouble(POSITION_PRICE_OPEN) - preco_atual   ( com isso vc tera a distancia em pontos )


       SEULUCRO =    PositionGetDouble(POSITION_VOLUME)*Pts    ((( para sair no zero a zero do dia )))


o macete é calcular a qtd de volumes da posicao atual sempre,.. entao qdo faz a reliazacao parcial .. a linha se movera pra cima ou pra baixo 

owneroxxor
35
owneroxxor  
Fala galera, o cálculo desse tipo de preço médio que também altera com as realizações parciais é detalhado nesse fórum pelo User972768. O problema é que os lucros e perdas das posiçoes fechadas com relação à esse preço médio no MT5 vão ser diferentes do que o próprio MT5 mostra pelo que imagino. 
Can't find expected way to calculate average price for position - Support Board - Sierra Chart
  • dtcprotocol.org
Hello, Thanks for building this great charting/trading environment. I really enjoy using it. Could you please help with correct settings to get average price of my trading position? I checked all available options in the Chart >> Advanced Settings 3 >> Open Position Average Price, but can’t find method that I prefer. Here is quick...
owneroxxor
35
owneroxxor  
double getAvgPrice(){
     
     HistorySelectByPosition(MY_POSITION.Identifier());
     MY_DEALS.SelectByIndex(HistoryDealsTotal()-1);
     double accumPrices = 0;
     double inoutPosition = MY_POSITION.Volume();

     if (MY_POSITION.PositionType() == POSITION_TYPE_BUY){
          for (int i = HistoryDealsTotal()-2; MY_DEALS.PositionId() == MY_POSITION.Identifier(); i--){
               double volume = MY_DEALS.Volume();
               if (MY_DEALS.Entry() == DEAL_ENTRY_INOUT)
                    volume = inoutPosition;
               if (MY_DEALS.DealType() == DEAL_TYPE_BUY){
                    inoutPosition += -MY_DEALS.Volume();
                    accumPrices += MY_DEALS.Price() * volume;
               }
               else{
                    inoutPosition += MY_DEALS.Volume();
                    accumPrices += -MY_DEALS.Price() * volume;
               }
               //if the deal reverted the position
               if (MY_DEALS.Entry() == DEAL_ENTRY_INOUT){
                    break;
               }
               //if no more deals in the position
               if (!MY_DEALS.SelectByIndex(i))
                    break;
          }
     }
     else{
          for (int i = HistoryDealsTotal()-2; MY_DEALS.PositionId() == MY_POSITION.Identifier(); i--){
               double volume = MY_DEALS.Volume();
               if (MY_DEALS.Entry() == DEAL_ENTRY_INOUT)
                    volume = inoutPosition;
               if (MY_DEALS.DealType() == DEAL_TYPE_BUY){
                    inoutPosition += MY_DEALS.Volume();
                    accumPrices += -MY_DEALS.Price() * volume;
               }
               else{
                    inoutPosition += -MY_DEALS.Volume();
                    accumPrices += MY_DEALS.Price() * volume;
               }
               //if the deal reverted the position
               if (MY_DEALS.Entry() == DEAL_ENTRY_INOUT){
                    break;
               }
               //if no more deals in the position
               if (!MY_DEALS.SelectByIndex(i))
                    break;
          }
     }
     
     double avgPrice = MY_SYMBOL.NormalizePrice(accumPrices/MY_POSITION.Volume());
     return avgPrice;
}

Esse ta funcionando

Para adicionar comentários, por favor Faça o login ou registrar