Erros, bugs, perguntas - página 1381

 
Karputov Vladimir:
Por favor mostrarSYMBOL_VOLUME_STEP para estes três símbolos.

0,01 para ES

0,1 para SPX

1 para RTS.

Mais uma vez - tenho 2 tarefas diferentes:

A 1ª tarefa é igualar o volume de qualquer instrumento no mundo.

A segunda tarefa é obter uma cotação para qualquer instrumento no mundo a partir do número.

Sobre a primeira tarefa. Não sei onde obter informação sobre que valores SYMBOL_VOLUME_STEP tem em princípio.

O facto de ter encontrado pessoalmente 1 e 0,1 e 0,01 não é um argumento de que haverá sempre apenas um. Quem diz que não há, digamos, 0,25 ou 0,5?


Sobre o segundo problema. Não sei como obter uma compensação. Só encontrei uma vez um caso tão complicado com uma cotação com aumentos de preços de 0,13, 0,38, 0,63, 0,88. Mas onde está a garantia de que se trata de uma excepção isolada?

É realmente necessário tornar-se especialista em todos os instrumentos do mundo para obter uma cotação exacta no terminal a partir de um número? Porque deveria ser esse o meu problema?

 
Fry:

...

Sobre a primeira tarefa. Não sei onde obter informação sobre que valores SYMBOL_VOLUME_STEP tem.

...

Percorra todos os instrumentos na visão geral do mercado e obtenhaSYMBOL_VOLUME_STEP para cada um. Depois faça a mesma operação noutro servidor de negociação. E assim por diante, até que tenha percorrido o mundo inteiro.

Então saberá quais os valoresSYMBOL_VOLUME_STEP queexistem no mundo.

 
Fry:

0,01 para ES

0,1 para SPX

1 para RTS

Mais uma vez - tenho 2 problemas diferentes:

A 1ª tarefa é igualar o volume de qualquer instrumento no mundo.

A segunda tarefa é obter uma cotação para qualquer instrumento no mundo a partir do número.

Sobre a primeira tarefa. Não sei onde obter informação sobre que valores SYMBOL_VOLUME_STEP tem em princípio.

O facto de eu pessoalmente ter encontrado 1 e 0,1 e 0,01 não é um argumento de que haverá sempre apenas um. Quem diz que não há, digamos, 0,25 ou 0,5?


Sobre o segundo problema. Não sei como obter uma compensação. Só encontrei uma vez um caso tão complicado com uma cotação com aumentos de preços de 0,13, 0,38, 0,63, 0,88. Mas onde está a garantia de que se trata de uma excepção isolada?

É realmente necessário tornar-se especialista em todos os instrumentos do mundo para obter uma cotação exacta no terminal a partir de um número? Porque deveria ser esse o meu problema?

Qual é o problema? O caso mais fácil é o passo de 0,01, 0,1, 1. De forma correspondente, normaliza-se o volume para 2, 1, 0. Se o passo for 0,13 etc., no caso do volume ser fixo e especificado nas definições de entrada - durante a inicialização, verificar se o número inteiro é obtido ao dividir o volume de entrada pelo passo. Caso contrário, ajusta-se o volume ao mais próximo adequado, multiplicando o valor inteiro resultante pelo passo, por exemplo.

 
Karputov Vladimir:

Percorra todos os instrumentos na visão geral do mercado e obtenhaSYMBOL_VOLUME_STEP para cada um. Depois faça a mesma operação noutro servidor de negociação. E assim por diante, até que se tenha dado a volta ao mundo.

Então saberá quais os valoresSYMBOL_VOLUME_STEP queexistem no mundo.

Se isto é sarcasmo, não compreendo a razão.

Se está a sugerir seriamente que eu faça esta porcaria regularmente, é mais fácil mudar a plataforma. Vou codificar, por exemplo, sob o TSLab ou outra coisa que escolher.

Não estou a pedir algo super natural. Apenas 2 funções básicas (de qualquer número, um volume peer to peer e uma citação).

Seria bastante lógico esperar tal serviço apenas do API, em vez de fazer "afiação com um ficheiro" sobre a situação.

 
Fry:

Se isto é sarcasmo, não compreendo a razão.

Se está a sugerir seriamente que eu faça esta porcaria regularmente, é mais fácil mudar de plataforma. Vou codificar no TSLab, por exemplo, ou outra coisa que vou escolher.

Não estou a pedir algo super natural. Apenas 2 funções básicas (de qualquer número, um volume peer to peer e uma citação).

Seria bastante lógico esperar tal serviço apenas do API, em vez de fazer "afiação com um ficheiro" sobre a situação.

Não compreendo a sua "vontade": existe uma função padrãoSYMBOL_VOLUME_STEP- utilize-a. Pode utilizar qualquer passo para cada instrumento. Se quiser adicionar 100 volumes mínimos: volume=SYMBOL_VOLUME_STEP*100. Se quiser adicionar 12 volumes mínimos: volume=SYMBOL_VOLUME_STEP*12. Qual é o problema?
 
Karputov Vladimir:
Não compreendo a sua "vontade": existe uma função padrãoSYMBOL_VOLUME_STEP- utilize-a. Pode utilizar qualquer passo para cada instrumento. Deseja adicionar 100 volumes mínimos: volume=SYMBOL_VOLUME_STEP*100. Deseja adicionar 12 volumes mínimos: volume=SYMBOL_VOLUME_STEP*12. Qual é o problema?

Estou a ver. Está bem. Vejamos um exemplo concreto.

Preciso de estabelecer uma ordem que feche, digamos, 70% da posição, e quero manter o resto. Isto é, eu crio um lucro parcial.

Após a posição estar totalmente fechada, o seu volume é facilmente conhecido.

Como posso obter ~ 70% exactamente no SYMBOL_VOLUME_STEP?

Dê-me a fórmula. =)

 
Fry:

Estou a ver. Bom. Vejamos um exemplo específico.

Preciso de estabelecer uma ordem que feche, digamos, 70% da posição, e quero manter o resto. Isto é, eu crio um lucro parcial.

Após a posição estar totalmente fechada, o seu volume é facilmente conhecido.

Como posso obter ~ 70% exactamente no SYMBOL_VOLUME_STEP?

Dê-me a fórmula. =)

Assim:

MathFloor((POSITION_VOLUME*0,7)/SYMBOL_VOLUME_STEP)

E um exemplo em números:

step 0.1
POSITION_VOLUME=12,3
12,3*0,7=8,61
8.61/0.1=86.1
MathFloor(86,1)=>86
86 минимальных шагов

step 0.1
POSITION_VOLUME=0,51
0.51*0.7=0.357
0.357/0.1=3.57
MathFloor(3,57)=>3
3 минимальных шага
 
Fry:

Estou a ver. Está bem. Vejamos um exemplo específico.

Preciso de estabelecer uma ordem que feche, digamos, 70% da posição, e quero manter o resto. Isto é, eu crio um lucro parcial.

Após a posição estar totalmente fechada, o seu volume é facilmente conhecido.

Como posso obter ~ 70% exactamente no SYMBOL_VOLUME_STEP?

Dê-me a fórmula. =)

Olá, se estiver disposto a analisar este código. O arquivo contém uma classe de teste para operações comerciais padrão - Abertura, Fechamento (o volume da posição a fechar é fixado em %), Inverter...

e um conjunto de guiões de teste para demonstrar estas funções

Arquivos anexados:
MQL5.zip  148 kb
 
Fry:

Estou a ver. Bom. Vejamos um exemplo específico.

Preciso de estabelecer uma ordem que feche, digamos, 70% da posição, e quero manter o resto. Isto é, eu crio um lucro parcial.

Após a posição estar totalmente fechada, o seu volume é facilmente conhecido.

Como posso obter ~ 70% exactamente no SYMBOL_VOLUME_STEP?

Dê-me a fórmula. =)

Querida, eu disse-te acima como e o que fazer, ignoraste-o de alguma forma. Ninguém escreverá tais funções para seu bem. Não é uma necessidade - é um capricho.

E sim, 70% nem sempre pode ser arranjado. Foi para isso que SYMBOL_VOLUME_STEP foi inventado.

 
Tapochun:

Eu disse-vos acima como e o que fazer, mas por alguma razão ignoraram-no. Ninguém escreverá tais funções para seu bem. Isto não é uma necessidade - é um capricho.

E sim, 70% nem sempre pode ser arranjado. Foi para isso que SYMBOL_VOLUME_STEP foi inventado.

Eu não o ignorei. Só não tive tempo suficiente para entrar no assunto. A sua escrita é confusa, e provavelmente vou recebê-la amanhã. =) Preciso de me sentar calmamente, para compreender. Obrigado pela sua resposta, em qualquer caso.


Um capricho? Necessidade? Os critérios são pouco claros. Para mim uma necessidade, para si uma moda.

Tenho a suspeita de que não sou o único a precisar dele. Mas não depende de mim.

O destino e a direcção do produto estão nas mãos dos criadores. Sou apenas um utilizador e talvez não por muito tempo =)