[ARQUIVO] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 3. - página 189

 

Bom dia a todos vocês!

Você pode me aconselhar, por favor...

Suponha que tenhamos a seguinte ordem de construção OrderSend(Symbol(),OP_BUY,Lots,Ask,3 ,0,0);

No quarto lugar, temos o escorregamento = 3.

Este é um fragmento da referência:

escorregamento - Deslize de preço máximo permitido para ordens de mercado(ordens de compra ou venda).

1. Se você não se importa, por favor explique em seus dedos o que é, de que e por que. )) Não está muito claro qual é o desvio de e em que (pips, minutos...).

2. e o segundo, em que nível eu deveria estabelecer??? Em algum lugar vi em artigos que este valor deveria ser fixado em 30 para pares de moedas com cinco sinais (por exemplo, EURUSD).

Muito obrigado!

 
Andrey067:

Olá a todos!

Estou apenas começando a dar meus primeiros passos na programação. Estou praticando com exemplos simples. Mas quero entender melhor a sintaxe e quero escrever algo mais interessante: por exemplo, criar um indicador de máximo e mínimo para um período, fractal... Eu ficaria muito grato se alguém pudesse compartilhar as fontes.

Compartilhando a linha mais valiosa com você . http://www.google.ru/advanced_search?q=codebase+site:mql4.com&hl=en&lr=&newwindow=1&prmd=ivns
 
NickXXX:

Bom dia a todos vocês!

Você pode me aconselhar...

Suponha que tenhamos a seguinte ordem de construção OrderSend(Symbol(),OP_BUY,Lots,Ask,3 ,0,0);

No quarto lugar, temos o escorregamento = 3.

Este é um fragmento da referência:

escorregamento - Deslize de preço máximo permitido para ordens de mercado (ordens de compra ou venda).

1. Se você não se importa, por favor explique em seus dedos o que é, de que e por que. )) Não está muito claro qual é o desvio de e em que (pips, minutos...).

2. e o segundo, em que nível eu deveria estabelecer??? Em algum lugar eu vi em artigos que este valor deveria ser fixado em 30 para pares de moedas com cinco sinais (como EURUSD).

Obrigado de antemão!


a 1 - ler na internet para uma explicação de "escorregamento" - este é o parâmetro de escorregamento

Para a segunda - você deve definir para 4 - por exemplo, 3 - em 5 - 30

 
NickXXX:

Bom dia a todos vocês!

Você pode me aconselhar, por favor...

Suponha que tenhamos a seguinte ordem de construção OrderSend(Symbol(),OP_BUY,Lots,Ask,3 ,0,0);

No quarto lugar, temos o escorregamento = 3.

Este é um fragmento da referência:

escorregamento - Deslize de preço máximo permitido para ordens de mercado (ordens de compra ou venda).

1. Se você não se importa, por favor explique em seus dedos o que é, de que e por que. )) Não está muito claro qual é o desvio de e em que (pips, minutos...).

2. e o segundo, em que nível eu deveria estabelecer??? Em algum lugar eu vi em artigos que este valor deveria ser fixado em 30 para pares de moedas com cinco sinais (como EURUSD).

Muito obrigado!


1. Veja aqui, especificamente "... Se o preço de abertura solicitado estiver severamente desatualizado, será gerado um erro 138 (ERR_REQUOTE), independentemente do valor do parâmetro de escorregamento. Se, entretanto, o preço solicitado for obsoleto, mas ainda estiver presente no fluxo de preços, a posição será aberta ao preço atual e somente se o preço atual cair dentro da faixa preço+deslizamento".

2. No livro didático, o valor de 2 (pips reais em pares de quatro dígitos), para pares de cinco dígitos - o valor é de 20-30, depende do corretor... Quando eu estava negociando em A..... e estava usando o valor 20-30, não tive nenhum problema com a abertura de pedidos usando este valor.

 
Roman.:


1. Veja aqui, a saber "... Se o preço aberto solicitado estiver muito desatualizado, então será gerado um erro 138 (ERR_REQUOTE), independentemente do valor do parâmetro de escorregamento. Se, entretanto, o preço solicitado for obsoleto, mas ainda estiver presente no fluxo de preços, a posição será aberta ao preço atual e somente se o preço atual cair dentro da faixa preço+deslizamento".

2. No tutorial - valor 2 (pips reais, em quatro dígitos), para cinco dígitos - valor 20-30, depende do corretor... Negociei com o valor de 20-30 em A..... e não tive problemas com a abertura de ordens pelo valor deste parâmetro.

Por exemplo, se A.....i tem as seguintes condições:

1. para pares de moedas com 5 casas decimais - a mudança mínima da 4ª casa decimal (0,0001);

2. para pares de moedas com 3 casas decimais - a mudança mínima da 2ª casa decimal (0,01).

Eu a defino para 20-30 em um par de 5 dígitos (por exemplo, EURUSD) ou para 2-3, porque uma mudança da 4ª casa decimal é levada em conta?

 
NickXXX:

E se, por exemplo, A..... e estas são as condições:

  • para pares de moedas com 5 casas decimais - a mudança mínima da 4ª casa decimal (0,0001);
  • para pares de moedas com 3 casas decimais - a mudança mínima da 2ª casa decimal (0,01).

Eu estabeleço 20-30 para 5 pares decimais (por exemplo, EURUSD) ou 2-3, pois apenas a mudança do 4º sinal decimal é levada em conta????


Tanto faz, em corretores de cinco dígitos coloque 40 e não se preocupe, no final, a menos que seja um escalpe masoquista, quatro pontos reais para cima/para baixo não vão minar seu plano de jogo... :-))) Experimente o microreal e pronto.
 
NickXXX:

E se, por exemplo, A..... tiver estas condições:

1. para pares de moedas com 5 casas decimais - mudança mínima da 4ª casa decimal (0,0001);

2. para pares de moedas com 3 casas decimais - a mudança mínima da 2ª casa decimal (0,01).

Eu a defino para 20-30 em um par de 5 dígitos (por exemplo, EURUSD) ou para 2-3, porque uma mudança da 4ª casa decimal é levada em conta?


Não. Exatamente, você multiplica os pontos reais por 10, pois é um FIVE, ou seja, o valor de escorregamento estará na faixa de 20-30.
 
Muito obrigado...!
 
Andrey067:

Olá a todos!

Estou apenas começando a dar meus primeiros passos na programação. Estou praticando com exemplos simples. Mas quero entender melhor a sintaxe e quero escrever algo mais interessante: por exemplo, criar um indicador de máximo e mínimo para um período, fractal... Eu ficaria muito grato se alguém pudesse compartilhar as fontes.

Você quer pegar um exemplo pronto e resolver o problema?

Que tal ler primeiro esta seção do livro didático?

 

Estou escrevendo um EA para a quebra de canais. Tropecei na verificação da quebra de canais antes de abrir um negócio, ou seja, preciso calcular ou registrar o tempo da quebra de canais antes de abrir um negócio. Eu recebo canais com a ajuda do indicador e recebo valores como este:

para (i = 0; i < ObjetosTotal(); i++)
{
if (StringFind(ObjectName(i), "#",0) >= 0) continua;
if (ObjectType(ObjectName(i))) == 1)
{
if (var_400 < ObjectGet(ObjectName(i),OBJPROP_PRICE1)
{
ChangeTrend1 = ObjectGet(ObjectName(i),OBJPROP_TIME2);
var_416 = ObjectGet(ObjectName(i),OBJPROP_PRICE1);
var_400 = ObjectGet(ObjectName(i),OBJPROP_PRICE1);
FirstPrice1 = ObjectGetValueByShift(ObjectName(i), iBarShift(NULL, 0, ChangeTrend1, false);
}
if ((var_408 > ObjectGet(ObjectName(i),OBJPROP_PRICE1)) && (ObjectGet(ObjectName(i),OBJPROP_PRICE1) > 0))
{
var_408 = ObjectGet(ObjectName(i),OBJPROP_PRICE1);
FirstPrice2 = ObjectGetValueByShift(ObjectName(i), iBarShift(NULL, 0, ChangeTrend2, false));
ChangeTrend2 = ObjectGet(ObjectName(i),OBJPROP_TIME2);
}
}
if (ObjectType(ObjectName(i))) == 2)
{
if (var_400 < ObjectGetValueByShift(ObjectName(i),0))
{
ChangeTrend1 = ObjectGet(ObjectName(i),OBJPROP_TIME2);
var_416 = ObjectGetValueByShift(ObjectName(i),1);
var_400 = ObjectGetValueByShift(ObjectName(i),0);
FirstPrice1 = ObjectGetValueByShift(ObjectName(i), iBarShift(NULL, 0, ChangeTrend1, false);
}
if ((var_408 > ObjectGetValueByShift(ObjectName(i),0)) && (ObjectGetValueByShift(ObjectName(i),0) > 0))
{
ChangeTrend2 = ObjectGet(ObjectName(i),OBJPROP_TIME2);
var_408 = ObjectGetValueByShift(ObjectName(i),0);
FirstPrice2 = ObjectGetValueByShift(ObjectName(i), iBarShift(NULL, 0, ChangeTrend2, false));
}
}
}

var_392 = MathRound((var_400 - var_400 - var_416)/ld_84 * 100);
if ((var_400 != 0) && (var_408 != 9999) && (var_400 != var_408)){
var_400 = NormalizeDouble(var_400,Digits);

var_408 = NormalizeDouble(var_408,Dígitos);

Por favor, ajude a resolver este problema. Agradecemos antecipadamente.



Razão: