[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 449

 
artmedia70:

1. Encontre o fractal mais próximo da barra zero e memorize seu tempo e nível de preço em variáveis int e duplo

2. A cada carrapato, procure o fractal mais próximo da barra zero. Se seu tempo não for igual ao tempo fractal, que foi encontrado no passo 1, então...

2.1 Verifique seu nível de preço.

2.1.1 Se estiver abaixo do nível fractal em p1, então ... uma ação

2.1.2 Se estiver acima do nível fractal na p1, .... outra ação

2.2 Escreva o tempo deste fractal e seu nível em variáveis do passo 1(int e duplo)

3. Voltar ao ponto 2


Não é assim no meu código?
 
DOCTORS:

Não é assim no meu código?
Não é.
 
artmedia70:
não é assim


Concordo que esta não é uma condição fractal, mas sobre o fato do resto?

1. Eu determino pelo contador que este é o primeiro fractal (z=0), atribuo a variável ao extremo da condição (fractal) (f1= iLow(Null,0,3)).

2. No outro caso (quando z=1, então não é o primeiro "fractal", comparamos com o anterior (f1 > iLow(NULL,0,3) )

2.1. Se o valor do anterior for maior, atribuo um novo valor à variável (f1= iLow(NULL,0,3) e defino o contador como zero (z=0)

2.1 Caso o valor anterior seja menor do que o novo (f1 < iLow(NULL,0,3) ) eu fecho a posição.

Não é assim?

 
DOCTORS:


Concordo que esta não é uma condição fractal, mas sobre o fato do resto?

1. Eu determino pelo contador que este é o primeiro fractal (z=0), atribuo a variável ao extremo da condição (fractal) (f1= iLow(Null,0,3)).

2. No outro caso (quando z=1, então não é o primeiro "fractal", comparamos com o anterior (f1 > iLow(NULL,0,3) )

2.1. Se o valor do anterior for maior, atribuo um novo valor à variável (f1= iLow(NULL,0,3) e defino o contador como zero (z=0)

2.1 Caso o valor anterior seja menor do que o novo (f1 < iLow(NULL,0,3) ) eu fecho a posição.

Não é assim?

Onde está a comparação de tempo entre o primeiro e o segundo fractal?
 
artmedia70:
Onde está a comparação de tempo entre o primeiro e o segundo fractais?


Para quê? Claro que sim, mas no meu caso, será que estou encontrando um "fractal" definido por uma condição (baixami 5 barras)? E não pelo tempo ...

Mais uma vez, o contador "z" é o próprio bloqueador, de modo que a definição de "fractal" no meu caso não se "loop in one".

 

Ajude, por favor. Eu quero abrir uma posição de travamento quando o nível de perda de carga for atingido e mantê-la se o preço continuar se movendo na direção desfavorável. O problema é que eu quero abrir muitos pedidos em vez de um.

Esta é a condição:

if (OrderType == OP_SELL && LRMA > OrderOpenPrice() + StopLoss*Point) 
 {
  OrderSend(NULL, OP_BUY, Lot, Ask, 2, 0, 0, 0, 111, 0, Green);
 }

O balcão não funciona por algum motivo. Tentei de tudo.

 
Olá, eu verifico o histórico antes de abrir uma ordem (função isLossLastPos da Kim). Mas nem sempre abre a tempo, ou seja, a ordem abre primeiro e depois de alguns ticks a função funciona, mas a ordem já está aberta.
 
chuvee:

Ajude, por favor. Eu quero abrir uma posição de travamento quando o nível de perda de carga for atingido e mantê-la se o preço continuar se movendo na direção desfavorável. O problema é que eu quero abrir muitos pedidos em vez de um.

Esta é a condição:

O balcão não funciona por algum motivo. Tentei de tudo.

Faça um cheque antes de abrir uma fechadura: se não houver posição de fechamento, então abra-a.
 
T-G:
Olá, eu verifico o histórico antes de abrir uma ordem (função isLossLastPos da Kim), mas às vezes acontece de não abrir a tempo, ou seja, a ordem abre primeiro e depois de alguns ticks a função entra em vigor, mas a ordem já está aberta. Como devo consertá-la?

A função verifica a última posição fechada, não qualquer posição na história. Se a última posição fechada estiver perdendo, então esta função retornará verdadeira, caso contrário, retornará falsa.

Portanto, verifique se você deseja abrir uma posição caso a última posição seja fechada com prejuízo:

   if (isLossLastPos(Symbol(), OP_BUY, Magic)) {
      // Код открытия позиции, если последняя закрытая позиция Buy с магиком Magic убыточна
      }

ou

   if (!isLossLastPos(Symbol(), OP_SELL, Magic)) {
      // Код открытия позиции, если последняя закрытая позиция Sell с магиком Magic закрыта с прибылью или в ноль
      }

Algo parecido com isto ... se a memória servir.

 
artmedia70:

A função verifica a última posição fechada, não qualquer posição na história. Se a última posição fechada for uma perda, esta função retornará verdadeira, caso contrário, retornará falsa.

Portanto, verifique se você deseja abrir uma posição caso a última posição seja fechada com prejuízo:

ou

Algo parecido com isto ... se a memória servir

A função não tem tempo para mostrá-la. A ordem abre primeiro, um par de ticks passa e só depois a função mostra a última perda, mas a ordem já abriu.

Se o movimento for muito forte, em um castiçal podem ser abertas 8 ordens