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

 
chief2000:

A questão não é mais como escrever o código, mas no nível de uma idéia - é possível evitar vários loops,

o que coloca muita carga sobre o processador. Por exemplo, houve uma idéia para rastrear o número de ordens STOP abertas - se diminuiu em uma, mas a ordem não foi apagada => abrir uma ordem de mercado =>

seu tempo aberto e tipo devem ser colocados em uma matriz. Algo parecido com isto.

Qualquer idéia é bem-vinda.


Basta duplicar todas as propriedades das ordens do mercado em arrays e compará-las com as ordens atuais do mercado. Compará-las por bilhete e, se não houver correspondência por tipo de pedido, significa que o pedido pendente acionou, se não for encontrado na matriz, entrou na história, etc.

Pode vir a calhar https://www.mql5.com/ru/code/9366

 

Olá.

Estou realmente pedindo um código comparando os dois últimos fractais (para cima ou para baixo).

Para mim, ainda é uma região selvagem.

Obrigado de antemão.

 

COMO CALCULAR O NÚMERO DE POSIÇÕES LONGAS LUCRATIVAS E SEPARADAMENTE O NÚMERO DE POSIÇÕES CURTAS LUCRATIVAS NO PROCESSO DE TRABALHO DE UMA EA?

A estratégia é a seguinte: se o número de posições longas lucrativas desde o início da EA (ou melhor, ao longo de todo o histórico da conta) for maior do que o número de posições curtas, então somente as posições longas devem ser abertas. E vice versa.

É claro como contar estes negócios, se eles forem fechados pelo Consultor Especialista: Fechar - Contar. Mas se uma posição é fechada por TP ou SL, então ... ?

Talvez alguém tenha um código pronto da função?

 
splxgf:

Somente duplicar todas as propriedades das ordens de mercado em arrays e compará-las com as ordens de mercado atuais. Comparar por bilhete, se houver um descasamento por tipo de ordem, significa que a ordem pendente acionou, se não for encontrada na matriz, significa que entrou para a história, etc.

Pode ser útil https://www.mql5.com/ru/code/9366

Obrigado!

 
nemo811:

Olá.

Estou realmente pedindo um código comparando os dois últimos fractais (para cima ou para baixo).

Para mim, ainda é uma região selvagem.

Obrigado de antemão.

O caso simples é algo parecido:

      Fractal_Up[i+3]   = iFractals(NULL, 0, MODE_UPPER, i+3);
      Fractal_Down[i+3] = iFractals(NULL, 0, MODE_LOWER, i+3);


      if(Fractal_Down[i+3]>0) {
         Fractal_Sell_Low_3  = Fractal_Sell_Low_2;
         Fractal_Sell_Time_3 = Fractal_Sell_Time_2;

         Fractal_Sell_Low_2  = Fractal_Sell_Low_1;
         Fractal_Sell_Time_2 = Fractal_Sell_Time_1;

         Fractal_Sell_Low_1  = Fractal_Down[i+3];
         Fractal_Sell_Time_1 = Time[i+3];
      }


      if(Fractal_Up[i+3]>0) {
         Fractal_Buy_Up_3   = Fractal_Buy_Up_2;
         Fractal_Buy_Time_3 = Fractal_Buy_Time_2;

         Fractal_Buy_Up_2   = Fractal_Buy_Up_1;
         Fractal_Buy_Time_2 = Fractal_Buy_Time_1;

         Fractal_Buy_Up_1   = Fractal_Up[i+3];
         Fractal_Buy_Time_1 = Time[i+3];
      }
 
chief2000:

Obrigado - vamos analisar isso
 
Roger:

Na verdade é um absurdo fazer tais perguntas a um escritor especialista :) Acontece que você não está maduro o suficiente para ser um iniciante, então se você quiser verificar se as paradas e tomadas calculadas estão próximas do preço aberto do pedido, você provavelmente não aprenderá nada.
Mas é claro que não... ))) O conselho é bom )))) Mas já foi testado há muito tempo! Leva e pára acima dos valores mínimos permitidos ... E tudo funciona muito bem no testador! Mas no modo "ao vivo", não quer abrir posições! Talvez, querido ROGER, eu ainda não esteja maduro o suficiente para ser um iniciante ))))) Mas você deveria ao menos olhar para o código que escrevi - se não for muito incômodo... Talvez você encontre lá um bicho...
 
7sintez:
Por que não... ))) O conselho é bom )))) Apenas tudo foi testado há muito tempo! Leva e pára acima dos valores mínimos permitidos ... E tudo funciona muito bem no testador! Mas no modo "ao vivo", não quer abrir posições! Talvez, querido ROGER, eu ainda não esteja maduro o suficiente para ser um iniciante ))))) Mas você deveria ao menos olhar para o código que escrevi - se não for muito incômodo... Talvez você encontre lá um bicho...
Eu tinha um bicho assim em uma corretora. Acontece que devemos abrir um pedido com TP=0 e SL=0, e então definir os níveis necessários com OrderModify(). Caso contrário, o erro "Stops are too close" foi mostrado o tempo todo.
 
ikatsko:
Tive esse problema com uma empresa de corretagem. Descobri que eu tinha que abrir um pedido com TP=0 e SL=0, e depois usar OrderModify() para definir os níveis necessários. Caso contrário, o erro "Stops are too close" foi mostrado o tempo todo.
Obrigado...! Talvez este seja o problema... Procurei em tudo o que estava em meu código - não consigo encontrar o erro!!!
 

Eu não encontrei uma resposta na busca

como posso ver no script quais indicadores estão no gráfico, quais parâmetros e indicadores, em quais subwindows eles estão localizados?

obrigado

Razão: