Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 537

 
sebegolov:

Ajude-me a descobrir porque o indicador não está renderizando. Eu quero eventualmente criar algo como ZigZag.

Por favor, coloque o código corretamente:


Já o fiz por você em seu posto.

 
Artyom Trishkin:

Por favor, insira o código corretamente:


Já o fiz por você em seu posto.

Desculpe, na primeira vez que escrevo neste fórum, farei isso bem da próxima vez.
 

Bom dia!

Onde posso obter um robô para MT4 para definir SL e TP após abrir uma posição?

 
churkin:

Bom dia!

Onde posso obter um robô para MT4 para definir SL e TP após abrir uma posição?

Aqui.
 

Você pode me dizer como determinar no código se este instrumento tem uma troca no final do dia?

 
Ivan Katsko:

Você pode me dizer como determinar no código se este instrumento tem uma troca no final do dia?

Para ver as trocas no final do dia...

SymbolInfoDouble(Symbol(),SYMBOL_SWAP_SHORT) - trocar posições curtas

SymbolInfoDouble(Symbol(),SYMBOL_SWAP_LONG) - troca de posições longas

SymbolInfoDouble(Symbol(),SYMBOL_SWAP_MODE) - modelo para cálculo de swap

SymbolInfoDouble(Symbol(),SYMBOL_SWAP_ROLLLOVER3DAY)- dia da semana para o cálculo do triple swap

 
Artyom Trishkin:

Para ver as trocas no final do dia...

SymbolInfoDouble(Symbol(),SYMBOL_SWAP_SHORT) - trocar posições curtas

SymbolInfoDouble(Symbol(),SYMBOL_SWAP_LONG) - troca de posições longas

SymbolInfoDouble(Symbol(),SYMBOL_SWAP_MODE) - modelo para cálculo de swap

SymbolInfoDouble(Symbol(),SYMBOL_SWAP_ROLLLOVER3DAY)- dia da semana para o cálculo do triple swap

Por SYMBOL_SWAP_MODE referência Para a função SymbolInfoInteger(). Em variáveis globais, set int ssm = SymbolInfoInteger(Symbol(),SYMBOL_SWAP_MODE); No código: Print("ssm = ",ssm); O resultado tanto no FC sem swap quanto no FC com swap = 0 (aqui está a pergunta). Quero saber: haverá troca ou não, para que eu possa decidir de acordo.



 
Ivan Katsko:

Por SYMBOL_SWAP_MODE referência para a função SymbolInfoInteger(). No conjunto de variáveis globais int ssm = SymbolInfoInteger(Symbol(),SYMBOL_SWAP_MODE); No código: Print("ssm = ",ssm); O resultado tanto em DC sem swap quanto em DC com swap = 0 (aqui está a pergunta). Gostaria de saber se haverá ou não uma troca, para que eu possa tomar uma decisão apropriada.

Algumas variáveis do ambiente do mercado, semelhantes às do MT5, nem sempre são corretamente povoadas no MT4. Portanto, temos que usar MarketInfo na MT4. E o tipo de cálculo de swaps para MT4 é, na esmagadora maioria dos casos, de pontos. Por isso, se você solicitar informações através do MarketInfo (temos que usar este método antigo mais vezes no MT4), você receberá o valor correspondente à referência:

MODE_SWAPTYPE

26

Método de cálculo de swaps. 0 - em pontos; 1 - na moeda base do instrumento; 2 - em porcentagens; 3 - em moeda colateral.

 
Ihor Herasko:

Algumas variáveis do ambiente do mercado, semelhantes às do MT5, nem sempre são corretamente povoadas no MT4. É por isso que temos que usar o MarketInfo na MT4 da maneira antiga. E o tipo de cálculo de swaps para MT4 é, na esmagadora maioria dos casos, de pontos. Por isso, se solicitarmos informações através do MarketInfo (temos que usar este método antigo mais vezes no MT4), obteremos apenas o valor correspondente à referência:

MODE_SWAPTYPE

26

Método de cálculo de swaps. 0 - em pontos; 1 - na moeda base do instrumento; 2 - em porcentagem; 3 - em moeda colateral.

SWAP - como eu entendo, é um procedimento de centro de negociação que consiste no seguinte: se houver ordens abertas no final do dia, elas são fechadas e novas ordens são abertas em seu lugar. Caso contrário, a mesa de negociações não fecha/abre os pedidos, mas cobra SWAP (+/-). Estou tentando determinar: o SWAP será cobrado, ou as ordens serão fechadas/abertas? Aplicado:

double ssm_l = MarketInfo(Symbol(), MODE_SWAPLONG );

double ssm_s = MarketInfo(Symbol(), MODE_SWAPSHORT);

Imprimir("ssm_l = ",ssm_l);

Imprimir("ssm_s = ",ssm_s);

e verificou-se que existem alguns valores numéricos no CA, onde o SWAP é cobrado, e no CA, onde o SWAP não é cobrado. Portanto, é impossível determinar se o SWAP é cobrado ou não.


 
Ivan Katsko:

SWAP - como entendo, o procedimento do centro de negociação é o seguinte: se no final do dia houver ordens abertas, elas são fechadas e novas ordens são abertas em seu lugar. Caso contrário, o centro de negociação não fecha/abre ordens, mas cobra SWAP (+/-). Estou tentando determinar: o SWAP será cobrado, ou as ordens serão fechadas/abertas?

Este método de cálculo de swap é chamado de rollover. No MT4, não há como saber programticamente. Somente indiretamente, após o turno da meia-noite com ordens de trabalho do mercado. Existem muitos problemas tão pequenos, mas bastante desagradáveis, no MT4. Na MT5 há um pouco menos, mas eles ainda existem.

Aplicado:

double ssm_l = MarketInfo(Symbol(), MODE_SWAPLONG );

double ssm_s = MarketInfo(Symbol(), MODE_SWAPSHORT);

Imprimir("ssm_l = ",ssm_l);

Imprimir("ssm_s = ",ssm_s);

e verificou-se que existem alguns valores numéricos no CA, onde o SWAP é cobrado, e no CA, onde o SWAP não é cobrado. Portanto, não podemos decidir se uma corretora é ou não cobrada SWAP.


Estes são valores de troca em pips. Você precisará convertê-los para a moeda de depósito proveniente do volume de ordens do mercado. Então, teremos o tamanho real da troca.

Razão: