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

 
FAQ:

Obrigado.
 
sannin:

Izdesbyll:
Alguém pode, por favor, terminá-lo de uma forma humana?

Descreva o princípio.


Abrimos duas ordens opostas. Quando alguém sai com lucro, fechamos e abrimos mais duas encomendas opostas e assim por diante até ficarmos ricos. Somente se tivermos fechado uma ordem de compra, então abrimos uma ordem de venda primeiro, e depois uma ordem de compra, se tivermos fechado uma ordem de venda - vice versa. (Isto na expectativa de que pode não haver dinheiro suficiente para a segunda encomenda).
 

Hi.

Eu realmente preciso de alguns conselhos!

Estou traçando uma linha em um gráfico. Tenho t1(preço e tempo) de início da linha e t2(preço e tempo) de término da linha (tendência). Não posso aumentá-la/extendê-la exatamente duas vezes.

Isto é, precisamos calcular a terceira coordenada de linha: t3 (preço e tempo).

O preço não é difícil de calcular, mas o tempo... Não se pode calcular o tempo.


Obrigado!

 
de_leonid:

O preço não é difícil de calcular, mas o tempo... Não se pode calcular a diferença habitual.


A diferença nos bares?
 
de_leonid:

Hi.

Eu realmente preciso de alguns conselhos!

Eu desenho uma linha em um gráfico. Eu tenho t1(preço e tempo) do início da linha e t2(preço e tempo) do final da linha (tendência). Não posso aumentá-la/extendê-la exatamente duas vezes.

Isto é, precisamos calcular a terceira coordenada de linha: t3 (preço e tempo).

O preço não é difícil de calcular, mas o tempo... Não se pode calcular o tempo.


Obrigado!


Kim tem uma função:

//+----------------------------------------------------------------------------+
double EquationDirect(double x1, double y1, double x2, double y2, double x) {
  if (x2==x1) return(y1);
  return((y2-y1)/(x2-x1)*(x-x1)+y1);
}
//+----------------------------------------------------------------------------+
 

Boa noite!

Favor aconselhar como codificar a seguinte idéia

Se um pedido for fechado na parada,

depois abrir a próxima ordem com um volume igual ao volume da última ordem fechada na parada multiplicado por 2.


se (isCloseLastPosByStop ()== Verdadeiro) // se a última encomenda foi fechada em Stop

{

P =????? // volume = volume do último pedido fechado na parada multiplicado por 2


OrderSend(Symbol(),OP_SELL , P ,Bid,1,Ask+1500*Point,Ask-300*Point, "jfh",123 )

}

Obrigado.

 
solnce600:

Boa noite!

Favor aconselhar como codificar a seguinte idéia

Se um pedido for fechado na parada,

depois abrir a próxima ordem com um volume igual ao volume da última ordem fechada na parada multiplicado por 2.


se (isCloseLastPosByStop ()== Verdadeiro) // se a última encomenda foi fechada em Stop

{

P =????? // volume = volume do último pedido fechado na parada multiplicado por 2


OrderSend(Symbol(),OP_SELL , P , Bid,1,Ask+1500*Point,Ask-300*Point, "jfh",123 );

}

Obrigado.


Você usa desapercebidamente as funções de Kim, ou você entende o que Igor tem nelas? A resposta à sua pergunta depende disso
 

OK, por muito tempo sem resposta, vou lhe dar uma dica: ao retornar o valor verdadeiro da função isCloseLastPosByStop (), retornar mais um valor, que é o tamanho do lote da última posição encontrada.

Como fazer? Passe uma variável para a função por referência, na qual você escreverá o tamanho do lote na própria função. Para fazer isso você precisará modificar ligeiramente a função éCloseLastPosByStop ()

Se você não entender nada - procure uma função que devolva o tamanho do lote da última posição fechada. Ou você mesmo pode criá-lo. E usá-lo, mas isso é mais caro do que passar o valor do lote junto com o verdadeiro

 
Entendido. Obrigado.
 

Boa tarde.

Por favor, informe como os seguintes aspectos podem ser implementados:

O preço se move entre 1.9047 e 1.9080 (os números são arbitrários). Se o preço de abertura da próxima vela sair desta faixa - dê um Alerta. Se não - aguarde a próxima vela. E assim até que o preço deixe a faixa.

Agradecemos antecipadamente.