Preciso calcular o preço médio após realizar Martin Gale EX:
Conta Netting no Mini Índice
Compra 1 Lote em 119800
Compra 5 Lotes em 119600
1 x 119800 = 119800
5 x 119600 = 598000
717800 / 6 = 119633.33 Preço Médio
Na conta Demo e BT isso funciona perfeito, fiz um loop nas ordens abertas e realizei o calculo, mas ao colocar na conta real não calculou corretamente!
Queria saber se existe algum comando que já retorne direto o preço médio, procurei e não achei nada!
Fiz isso na conta demo funcionou mas na real retornou o preço da primeira ordem utilizei:
PositionGetDouble(POSITION_PRICE_CURRENT)
Realmente eu não estou conseguindo entender o que pode estar ocorrendo, tanto a conta Real como a Demo são Netting corretora XP
E não funciona na demo fica pior ainda pois o POSITION_PRICE_CURRENT traz o preço de abertura da primeira ordem.
Execução da Ordem de Copra
m_trade.Buy(InpLots,_Symbol,0,StopLoss,0,"Compra");
Após abrir a ordem:
AtivaTraling = m_symbol.NormalizePrice(m_symbol.Last() + InpTralig); (utilizei o last aqui por desencargo de consciência)
Em seguida a execução da ordem de compra:
m_trade.Buy(InpLots * InpLotesGale * Gales,_Symbol,0,StopLoss,0,"Compra");
Em seguida a execução da ordem do Gale:
AtivaTraling = PositionGetDouble(POSITION_PRICE_CURRENT) + InpTralig;
Relação das Ordens abertas conta real
POSITION_PRICE_OPEN - Trouce o preço de abertura da primeira ordem
POSITION_PRICE_CURRENT - Trouce o Preço atual que estava na hora do Print
Ou ta tudo louco ou eu estou babando aqui!!!!
Os prints são executados logo após a execução do Gale
A Variável NovoPrecoMedio eu estou calculando manual
Mais um loss hoje que creio eu poderia ter sido evitado
Realmente eu não estou conseguindo entender o que pode estar ocorrendo, tanto a conta Real como a Demo são Netting corretora XP
E não funciona na demo fica pior ainda pois o POSITION_PRICE_CURRENT traz o preço de abertura da primeira ordem.
Execução da Ordem de Copra
m_trade.Buy(InpLots,_Symbol,0,StopLoss,0,"Compra");
Após abrir a ordem:
AtivaTraling = m_symbol.NormalizePrice(m_symbol.Last() + InpTralig); (utilizei o last aqui por desencargo de consciência)
Em seguida a execução da ordem de compra:
m_trade.Buy(InpLots * InpLotesGale * Gales,_Symbol,0,StopLoss,0,"Compra");
Em seguida a execução da ordem do Gale:
AtivaTraling = PositionGetDouble(POSITION_PRICE_CURRENT) + InpTralig;
Relação das Ordens abertas conta real
Prints dos valores
POSITION_PRICE_OPEN - Trouce o preço de abertura da primeira ordem
POSITION_PRICE_CURRENT - Trouce o Preço atual que estava na hora do Print
Ou ta tudo louco ou eu estou babando aqui!!!!
Os prints são executados logo após a execução do Gale
A Variável NovoPrecoMedio eu estou calculando manual
Mais um loss hoje que creio eu poderia ter sido evitado
Pra mim o calculo parece estar certo, deu um erro de 3 pts que na verdade nao seria nada se voce normalizar, se quiser mostra a função que fez o calculo e novamente, na segunda ordem executada o POSITION_PRICE_OPEN seria o valor do NovoPrecoMedio se realmente fosse conta netting e ele não "voltaria" para o orignal depois da saída da segunda ordem maior. Na conta hedging se fosse querer q o medio nao volte tu nao poderia tirar do calculo a posicao fechada mesmo quando ela desaparece porque ela influenciou o medio, tanto que na conta netting o medio é feito unicamente na entrada e a saída não influencia.
Se isso eh algo que te impacta porque nao troca pra conta netting? essa corretora oferece os dois tipos, basta ir na area logada achar o metatrader e clicar num iconezinho e trocar pra netting ou trocar pra hedging como quiser.
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Preciso calcular o preço médio após realizar Martin Gale EX:
Conta Netting no Mini Índice
Compra 1 Lote em 119800
Compra 5 Lotes em 119600
1 x 119800 = 119800
5 x 119600 = 598000
717800 / 6 = 119633.33 Preço Médio
Na conta Demo e BT isso funciona perfeito, fiz um loop nas ordens abertas e realizei o calculo, mas ao colocar na conta real não calculou corretamente!
Queria saber se existe algum comando que já retorne direto o preço médio, procurei e não achei nada!