O conselheiro é adequado para a vida real? - página 35

 
borilunad:

1) Normalizar todas as condições e ações;


Você também precisa normalizar o lote se ele mudar e/ou for calculado. O que mais é possível?
 
FOReignEXchange:

1) Você tem que normalizar as paradas quando elas são calculadas separadamente. Isto está escrito na ajuda. Por que normalizar qualquer outra coisa que não precise ser normalizada? Que seja de 150 casas decimais. Se isso não afeta nada, não há necessidade de normalizá-lo. Aqui está um código, por exemplo.

Por que devemos normalizar a e b? Não consigo entendê-lo. Este é um exemplo simplificado, é claro. Mas a questão é que se você está lidando com matemática em seu código, por que deveria normalizar tudo? Somente os topos precisam ser normalizados se forem obtidos como resultado de tais matemáticas.

2) Verifiquei as condições algumas vezes. Estou verificando isso agora. Talvez eu tenha perdido algo.

3) Apenas 2 erros ocorrem em meu código. Erro 130 - paradas erradas, e parâmetros inválidos ao apagar uma ordem pendente. Tudo está claro com o primeiro e eu já resolvi isso. Os parâmetros desabilitados para a remoção de pedidos pendentes também são claros.

4) Não temos tempo para abrir posições sem SL e TP, pois definimos o lucro mínimo e este pode não ser definido mais tarde, pois o preço se move rapidamente. Para todas as aparências, a quarta regra cresceu a partir do fato de que posições com paradas não podiam ser abertas usando terminais BROKO antes. Agora você pode. Portanto, não vejo o objetivo desta regra.


A meu ver, você é que sabe...

Continue assim, incluindo o erro nas paradas e removendo o pendente, armado até os dentes com SL e TP, apesar da importância na vizinhança imediata do preço, e não vendo o ponto em tudo o resto!

O tempo dirá e colocará tudo em seu lugar!

 
FOReignEXchange:

Você também precisa normalizar o lote se ele mudar e/ou for calculado. O que mais você pode fazer?

É claro! E tudo relacionado aos cálculos relativos às normas de VC em rápida mudança nas condições de mercado.
 
borilunad:


A meu ver, você é que sabe...

Mantenha o bom trabalho, incluindo erro nas paradas e remoção do pêndulo, armado até os dentes com SL e TP, apesar da importância em proximidade com o preço, e não vendo o ponto em tudo o resto!

O tempo mostrará e colocará tudo em seu lugar!


O principal é que o código na vida real funciona e funciona sem problemas. Todo o resto não é importante.

Falha STOPPING devido à obsolescência dos preços. Erro 130. Basta tentar novamente consertar tudo. Não há nenhum problema com isso. Não há mais erros no registro.

Só precisamos descobrir por que as condições para a eliminação de pedidos não são cumpridas e isso é tudo. A questão anunciada no título do tópico será resolvida.

 

FOReignEXchange:

A pergunta anunciada no título do tópico estaria terminada.

Significaria também um aumento no depósito, o mesmo que no testador)

Bem, eu não acreditaria que exista tal ponto no gráfico, onde você poderia definir com confiança um take 11 e uma parada 15 e saber que ele irá para o take)

Não um macaco, não um cacifo, você abre posições individuais, como eu entendo.

Não existe tal regra, especialmente quando se entra na abertura de uma vela. Isto é fantasia e ficção. O preço não deve nada a ninguém. Não volta para onde planejamos, nem avança, porque decidimos fazê-lo. Não importa o que o indicador super-duper nos mostra.

 
FOReignEXchange:


O principal é que o código deve funcionar na vida real e funcionar sem problemas. Tudo o resto não é importante.

Erro de ESTOQUE REAL devido à obsolescência dos preços. Erro 130. Basta tentar novamente consertar tudo. Não há nenhum problema com isso. Não há mais erros no registro.

Só precisamos descobrir por que as condições para a eliminação de pedidos não são cumpridas e isso é tudo. A pergunta anunciada no título do tópico estará terminada.


Desculpe, mais um esclarecimento! Todos os parâmetros de mudança devem ser atualizados a partir do MarketInfo() no início.

E o deslize deve ser de pelo menos 20 em 5 dígitos(Erro 130).

No testador, nem eles nem outros são mudados, portanto o mínimo que eu confio é nos esplêndidos resultados do teste.

 
borilunad:


Desculpe, mais um esclarecimento! Todos os parâmetros DC em mudança devem ser atualizados a partir do MarketInfo() no início.

No testador, nem eles nem outros são mudados, portanto, eu menos confio nos belos resultados do teste.


Quais parâmetros? Somente Bid and Ask devem ser mudados, e é isso. Também MODEFREEZELEVEL é a única coisa útil que ouvi hoje. Mais uma vez, obrigado.

Que outros parâmetros DC podem mudar? Uma mudança mínima no preço, ou

Nível mínimo de stop loss/stack profit em pips
ou
Número de dígitos após o ponto decimal no preço do símbolo
ou
Tamanho da tubulação na moeda de cotação

A propagação pode variar, embora eu nunca tenha notado isso no Euro. Como isso irá afetá-la? Em minhas condições, isso pode afetar apenas a possibilidade de fazer um pedido pendente. Se

OrderOpenPrice()=Bid+MODE_SPREAD)= menor que a distância aceitável, o pedido não será aberto. Estou ciente disso. Mas nunca tivemos tais erros.

 
FOReignEXchange:


Quais parâmetros? Somente Bid and Ask devem ser mudados, é tudo. Também MODEFREEZELEVEL é a única coisa útil que ouvi hoje. Mais uma vez, obrigado.

Que outros parâmetros podem mudar o CC? É uma etapa mínima de mudança de preço ou

Nível mínimo permitido de stop loss/stake profit em pips
ou
Número de dígitos após o ponto decimal no preço do instrumento
ou
Tamanho de um pip na moeda de cotação

A propagação pode variar, embora eu nunca tenha notado isso no Euro. Como isso irá afetá-la? Em minhas condições, isso pode afetar apenas a possibilidade de fazer um pedido pendente. Se

OrderOpenPrice()=Bid+MODE_SPREAD)= menor que a distância aceitável, o pedido não será aberto. Estou ciente disso. Mas nunca tivemos tais erros.


Veja: https://docs.mql4.com/ru/constants/marketinfo começando com Bid para seu "útil" FritzLevel, aumentando em tempos de extrema volatilidade. Também StopLevel etc.

Bid+Spread=Ask Então, é melhor usar Ask imediatamente neste caso, é claro, se Ask também for experimentado pelo MarketInfo() no início do início.

 

Desculpe, tenho que ir embora por um pouco!

Eu tenho, por exemplo, no início e depois de refinar o lote, de acordo com o MM:

  RefreshRates();
  ASK = NormalizeDouble(MarketInfo(Symbol(),MODE_ASK),Digits);
  BID = NormalizeDouble(MarketInfo(Symbol(),MODE_BID),Digits);
  double spread = NormalizeDouble(ASK-BID,Digits);
  StopLevel = NormalizeDouble(MarketInfo(Symbol(),MODE_STOPLEVEL),Digits);
  double step = NormalizeDouble(Step*Point,Digits);
  if(step < StopLevel) step = StopLevel;
E depois tudo mais...
 

Sobre este código, eu coloco o seguinte

if (//Условие//)
   {
   if (OrderSelect(ticket_sell,SELECT_BY_TICKET)==true)
      if (OrderType()==OP_SELLSTOP) 
         {
         Print ("Заморозка: ",MarketInfo (Symbol(), MODE_FREEZELEVEL),", Bid: ",Bid,", Open=",OrderOpenPrice());
         if (Bid<=(OrderOpenPrice()+4*Point)) 
            {
            Comment ("1");                         
            i=0;
            while (i<10)
               {
               if (i>0) Sleep(500);      
               RefreshRates(); OrderDelete(ticket_sell); 
               err=GetLastError();
               if (err==0)
                  {
                  ticket_sell=0; return;
                  }
               i++;
               }
            }
         }
   }

18:34:14 $505.000 EURUSD,M1: Congelamento: 0, Licitação: 1,3436, Aberto=1.3436
18:34:14 505 000 $ EURUSD,M1: ordem de mercado #26398219 não pode ser apagada
18:34:14 505 000 $ EURUSD,M1: ordem de mercado #26398219 não pode ser apagada
18:34:15 505 000 $ EURUSD,M1: ordem de mercado #26398219 não pode ser apagada
18:34:15 505 000 $ EURUSD,M1: ordem de mercado #26398219 não pode ser apagada
18:34:16 505 000 $ EURUSD,M1: ordem de mercado #26398219 não pode ser apagada
1834:16 505 000 $ EURUSD,M1: ordem de mercado #26398219 não pode ser apagada
18:34:17 505 000 $ EURUSD,M1: ordem de mercado #26398219 não pode ser apagada
18:34:17 505 000 $ EURUSD,M1: ordem de mercado #26398219 não pode ser apagada
18:34:18 505 000 $ EURUSD,M1: ordem de mercado #26398219 não pode ser apagada
18:34:19 505 000 $ EURUSD,M1: ordem de mercado #26398219 não pode ser apagada

Falhou 10 vezes. Tantas vezes quanto o ciclo i. Neste caso, apenas não teve tempo de apagar, porque o preço da Licitação já era igual ao preço de abertura do pedido. Esta é a primeira vez que reparo em um caso assim. Vou tentar encontrar outro. Esta funcionou no lado positivo. O desvio do sinal por frações de segundo não é horrível. Acho que há outro caso, vou esperar por ele. Há momentos em que não há reação durante 10-15 segundos.