[ARQUIVO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 4. - página 79

 
Boa tarde, ajuda é necessária. Há um certo bar e seu preço de fechamento. Como implementar o seguinte: a coruja deve abrir uma posição quando a diferença entre o preço atual e o preço de fechamento de uma determinada barra for maior do que o preço estabelecido. Só sou capaz de calcular a diferença entre o preço de fechamento de uma determinada barra e o preço de fechamento da barra atual (e não com o preço no momento - que é o que eu quero alcançar).
 
mmero:

Prezados Profissionais!

Por favor, informe o método mais correto e rápido para calcular a sobreposição de dois castiçais vizinhos.

Suspeito que os indicadores para isto foram escritos há muito tempo e estão aqui no banco de dados, mas não consigo encontrá-los.

Eu o faria desta maneira:

double coef;


if(NormalizeDouble(MathMax(High[i],High[i+1])-MathMin(Low[i],Low[i+1]),Digits)==0)  coef = 0;   //обе свечи нулевые и на одном уровне
if(MathMin(High[i],High[i+1])<MathMax(Low[i],Low[i+1]) coef = 0;                                //свечи не перекрываются

else coef = (MathMin(High[i],High[i+1])-MathMax(Low[i],Low[i+1]))/(MathMax(High[i],High[i+1])-MathMin(Low[i],Low[i+1]))
 
tommy27:
Boa tarde, ajuda é necessária. Há um certo bar e seu preço de fechamento. Como implementar o seguinte: a coruja deve abrir uma posição quando a diferença entre o preço atual e o preço de fechamento de uma determinada barra for maior do que o preço estabelecido. Só consigo calcular a diferença entre o preço de fechamento de uma determinada barra e o preço de fechamento da barra atual (e não com o preço no momento - que é o que eu quero alcançar).
use iClose(0,0,0) para obter o preço atual da Licitação do símbolo do prazo atual
 
oDin48:

Rapazes, poderiam me dizer o código para que alguma ação seja tomada após uma mudança por alguns pontos em algum tempo.

Exemplo. Compra aberta se o preço tiver mudado em 20 pips em 10 minutos.

Seja mais preciso:

1. exatamente 20 pips exatamente em 10 minutos

por nada menos do que 20 pips nos últimos 10 minutos.

3. uma mudança de pelo menos 20 pontos nos últimos 10 minutos

...

???

 
alsu:
Use iClose(0,0,0) para obter o preço atual de Licitação do símbolo atual do prazo atual
Obrigado, eu fiz isso com Close e como você aconselhou:
StartPrice1 =  iClose(0,0,0);
//StartPrice1 = Close[0];
Delta1 = MathAbs (Price0 - StartPrice1);
Comment (Delta1);
Print ("Raznica= ",Delta1);
Mas o resultado só é atualizado quando aparece uma nova barra. Quero ver e acompanhar as mudanças em cada tic.
 
alsu:
use iClose(0,0,0) para obter o preço atual de Licitação do símbolo atual do prazo atual
É possível obter o preço de fechamento da barra atual iClose(0,0, 0) se ela ainda não fechou? Acho que o turno deve ser >0.
 
Você pode me dizer se é possível aplicar um indicador personalizado a um indicador personalizado, como posso fazê-lo com indicadores padrão (selecionando para aplicar aos dados de Indicadores anteriores ou do primeiro indicador)? Encontrei apenas constantes de preço padrão durante o cálculo de indicadores personalizados (fechamento, abertura, preço típico...) mas não encontrei como anexar um preço, não um indicador.
 
tommy27:
Boa tarde, preciso de alguma ajuda. Há um certo bar e seu preço de fechamento. A implementação desta característica: A coruja deve abrir uma posição se a diferença entre o preço atual e o preço fechado da barra especificada for maior do que a especificada. Só sou capaz de calcular a diferença entre o preço de fechamento de uma determinada barra e o preço de fechamento da barra atual (e não com o preço no momento - que é o que eu quero alcançar).
int bar=1; // заданный бар
int raznica=10; 
if (MathAbs(iClose(0,0,bar)-Bid)>raznica*Point)
   { OrderSend(...)
     ...
   }

Mas note que você tem que colocar uma restrição adicional, para que após a execução desta condição a EA não abra uma posição em cada tic...

 
paladin80:
É possível determinar o preço de fechamento da barra atual iClose(0,0, 0) se ela ainda não fechou? Acho que o turno deve ser >0.

Quando shift=0, ele retorna o preço atual

 
paladin80:
É possível determinar o preço de fechamento da barra atual iClose(0,0, 0) se ela ainda não fechou? Acho que o turno deve ser >0.

O preço de fechamento da barra zero está sempre lá, mas muda com a chegada de um novo tick.