OrderCalcMargin nos servidores da XP

 

Olá pessoal, 

Diferentemente de quando uso os servidores da ActivTrades (Forex), quando uso os serivdores da XP a função OrderCalcMargin sempre retorna 0 de margem.

Gostaria de usar esta função para calcular o número de contratos baseado em uma porcentagem da margem livre. Alguma idéia?

Qualquer ajuda é bem vinda!

Documentação sobre MQL5: Funções de Negociação (Trade) / OrderCalcMargin
Documentação sobre MQL5: Funções de Negociação (Trade) / OrderCalcMargin
  • www.mql5.com
Funções de Negociação (Trade) / OrderCalcMargin - Referência sobre algorítimo/automatização de negociação na linguagem para MetaTrader5
 
Depois de mais alguns testes vi que o problema não acontece em todos os ativos. Acontece nas séries históricas (WIN$ e IND$) mas não em outros ativos (WING15, INDG15,PETR4, PETR5).
 
HVilela :
Depois de mais alguns testes vi que o problema não acontece em todos os ativos. Acontece nas séries históricas (WIN$ e IND$) mas não em outros ativos (WING15, INDG15,PETR4, PETR5).
WIN $, IND $ e outras séries históricas não são negociáveis.
 
angevoyageur:
WIN $, IND $ e outras séries históricas não são negociáveis.

Sim, mas um dos objetivos destas sérias é poder fazer backtests dos índices eu não vejo porque OrderCalcMargin não retorna o mesmo valor do indicie atual (G15, no caso).

Bom, para resolver o problema estou usando "WING15" e "INDG15" para calcular o lot quando faço backtests em "WIN$" e "IND$", respectivamente. O problema é que terei que trocar sempre que os índices encerrarem.

 
HVilela :

Sim, mas um dos objetivos destas sérias é poder fazer backtests dos índices eu não vejo porque  OrderCalcMargin  não retorna o mesmo valor do indicie atual (G15, no caso).

Bom, para resolver o problema estou usando " WING15" e "INDG15" para calcular o lot quando faço backtests em "WIN$" e "IND$", respectivamente.  O problema é que terei que trocar sempre que os índices encerrarem.

Rápido Você tem ESSE Problema com o backtest?

EDIT: Acabei de testar e funciona com o Tester estratégia, mas não em uma carta ao vivo.

 
Henrique Vilela:

Olá pessoal, 

Diferentemente de quando uso os servidores da ActivTrades (Forex), quando uso os serivdores da XP a função OrderCalcMargin sempre retorna 0 de margem.

Gostaria de usar esta função para calcular o número de contratos baseado em uma porcentagem da margem livre. Alguma idéia?

Qualquer ajuda é bem vinda!

Amigo, como você está o seu script? Estou tentando fazer o mesmo mas estou tendo problemas


double teste;

   if(OrderCalcMargin(ORDER_TYPE_BUY,_Symbol,1,SymbolInfoDouble(_Symbol,SYMBOL_SESSION_OPEN),teste)){

      

       Print(teste);     

      }


Mas na Rico está retornando: 0.0.