Discussão do artigo "Funções para gerenciamento de dinheiro em um conselheiro especialista" - página 5

 
Karlson:

Muitos fragmentos de 100 peças, com margem adequada.

Ou estou perdendo alguma coisa? ....

Testando a IBM, não consegui entender a princípio por que ela não permite abrir mais de 0,5 lote. 50 sherds a um preço de cerca de 200 - esse é todo o depósito inicial de 10.000 em margem.

O que são "sherds"?
 
Urain:
O que é "shers"?

Um clique de um botão :)))

1 lote na NYSE = 100 ações.

Partes de ações em um lote.

 
Karlson:

Um clique de um botão :))

1 lote na NYSE = 100 ações.

Partes de ações em um lote.

Bem, esse 1 lote para #Name = X ações é necessário como um valor retornado pela função MQL5 SymbolInfoInteger().
Документация по MQL5: Получение рыночной информации / SymbolInfoInteger
Документация по MQL5: Получение рыночной информации / SymbolInfoInteger
  • www.mql5.com
Получение рыночной информации / SymbolInfoInteger - Документация по MQL5
 

O CONTRACT_SIZE está errado?

 
Karlson:

O CONTRACT_SIZE está errado?

Esse é o ponto, CONTRACT_SIZE já é usado na fórmula de cálculo da margem (veja a segunda postagem nesta página). Para moedas, é suficiente, mas, por exemplo, para a #IBM, não é.
 

Sim. Eu fui estúpido ontem, e mais cedo, e talvez até hoje. Não consigo dormir.

Desculpe-me, mas o depósito para 1 lote da IBM (100 ações) é de 20.000 dólares. É isso que quero dizer... Sem alavancagem... 1:1 para ser exato.

Eu escreveria a fórmula ao contrário, faz mais sentido para mim pessoalmente.

SYMBOL_MARGIN = (SYMBOL_BID*SYMBOL_TRADE_CONTRACT_SIZE ) / ACCOUNT_LEVERAGE

E o resultado de 1 lote de ações (100 unidades) deve ser 200 dólares, não 20.000 dólares. A fórmula estará correta, mas o resultado na realidade não é o mesmo. Como se a alavancagem não fosse contada.

IBM ---- margin= (200 * 100 ) / 100 = $200 -- deve ser isso.

EURUSD ---- margin= (1.23936 * 100,000) / 100 = $1,239.36 -- tudo correto.

input double lot=1.0;
double marg1=0,marg2=0;
void OnStart()
    { 
     double bid=SymbolInfoDouble(_Symbol,SYMBOL_BID);
     OrderCalcMargin(ORDER_TYPE_BUY,_Symbol,lot,bid,marg1);
     OrderCalcMargin(ORDER_TYPE_SELL,_Symbol,lot,bid,marg2);
     
     Print(_Symbol,"    Buy Margin=",marg1,"     Sell Margin=",marg2);
    }

 
Karlson:

Sim. Eu fui estúpido ontem, e mais cedo, e talvez até hoje. Não consigo dormir.

Desculpe-me, mas o depósito para 1 lote da IBM (100 ações) é de 20.000 dólares. É isso que quero dizer... Sem alavancagem... 1:1 para ser exato.

Eu escreveria a fórmula ao contrário, faz mais sentido para mim pessoalmente.

E o resultado de 1 lote de ações (100 unidades) deve ser 200 dólares, não 20.000 dólares. A fórmula estará correta, mas o resultado na realidade não é o mesmo. Como se a alavancagem não fosse contada.

IBM ---- margin= (200 * 100 ) / 100 = $200 -- é assim que deve ser.

EURUSD ---- margin= (1.23936 * 100,000) / 100 = $1,239.36 -- tudo correto.

Parece que a alavancagem não é o problema, pois o lucro é muito rápido, concluo que há 100 contratos no primeiro lote, enquanto no forex há 1 contrato no primeiro lote.

 
Rosh:

Não fale por enigmas. Você descobriu que o método de cálculo escrito para o Forex não funciona aqui?

Sim, descobri. Resta descobrir qual forma de cálculo funciona, mas, sem conhecer a representação interna, ficarei vagando em adivinhações por um longo tempo.

Preciso de uma posição clara da MQ sobre essa questão, a partir da qual possamos prosseguir.

A propósito, não se trata de um ataque ao seu artigo (você já disse há muito tempo que ele foi escrito há muito tempo). É importante para mim esclarecer a questão.

 
Urain:

Parece que a questão não está na alavancagem, já que o lucro aumenta muito rapidamente. Concluo que no primeiro lote há 100 contratos, enquanto no forex há 1 contrato no primeiro lote.


Conforme discutido em um tópico vizinho, a alavancagem determina a possibilidade de abrir um volume maior. E o lucro é simplesmente contado em volume por pip. Bem, há também o TickValue, que é importante se a conta estiver em euros.

Não, o valor do contrato é bastante padrão em todos os lugares - 100.000 unidades damoeda base. 100 unidades para ações. Exceto pelo fato de a Insta ter um tamanho diferente no forex.

Em todo caso, aguarde uma resposta.

Não é lógico cobrar 20.000 por um lote dessas ações. A matemática está correta. 200 * 100 = 20.000, e sem alavancagem. Onde foi parar?

 
Karlson:

Conforme discutido em um tópico vizinho, a alavancagem determina a possibilidade de abrir um volume maior. E o lucro é simplesmente contado em volume por pip. Bem, há também o TickValue, que é importante se a conta estiver em euros.

Não, o valor do contrato é bastante padrão em todos os lugares - 100.000 unidades damoeda base. 100 unidades para ações. Exceto pelo fato de a Insta ter um tamanho diferente no forex.

Em todo caso, aguarde uma resposta.

Não é lógico cobrar 20.000 por um lote dessas ações. A matemática está correta. 200 * 100 = 20.000, e sem alavancagem. Onde foi parar?

O TickValue em metais é diferente, em fundos e forex é 1 cada.

Se não houvesse alavancagem, o lucro não cresceria à medida que crescesse, imagine que você abriu 0,2 lote no forex, que é de US$ 20.000 e o mesmo volume no fundo, e no fundo, a partir desse depósito, o lucro cresce a partir de US$ 100.000 no forex.

Talvez, de fato, o fundo tenha um contrato padrão de 100 ações, mas com uma ordem de 1 lote são abertos 100 contratos padrão. Não tenho nenhuma outra explicação (embora seja uma suposição).

ZЫ aqui sem "pallitra" e "ajuda do salão" é impossível resolver.