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

 
vovan-gogan:

Qual é o objetivo? O nível SL está correto. Quando eu defino a variável SL para MA20 com um deslocamento de 3, eu saio o nível SL através do Alerta e ele está sempre no nível correto. Não sei por que o SL é removido antes de atingir o nível do SL.

Bem, se é importante para você não eliminar o problema, mas comunicar, então eu passo.
 
PapaYozh:

Não, bem, se não se trata de consertar o problema, trata-se de comunicar, então eu passo.

Não, pelo contrário. Vou seguir seu conselho. Vamos ver o que acontece.
 
Estou confuso com o fato de que ambos os tipos de pedidos BUYSTOP / SELLSTOP são excluídos pela mesma condição, pelo menos são coisas diferentes. Suponho que haja outro fragmento de código similar e ele eliminará todas as ordens pendentes em série.
 
splxgf:
Estou confuso com o fato de que ambos os tipos de pedidos BUYSTOP / SELLSTOP são excluídos pela mesma condição, pelo menos são coisas diferentes. Suponho que haja mais um fragmento de código semelhante e todas as ordens pendentes serão eliminadas sucessivamente.

Não. Não por um. Acabo de apresentar uma parte do fragmento de código que descreve o caso da eliminação de ordens SellStop para torná-lo mais claro.
 
vovan-gogan:

Não. Não por um.
   if (OrderType() == OP_BUYSTOP || OrderType() == OP_SELLSTOP)

Um dos tipos de pedido está abaixo do preço, o outro está acima do preço. e a condição para fechá-las é a mesma Bid>SL... A questão é onde está a lógica aqui.

Recomendo remover um tipo de pedido da condição, ou você pode simplesmente ficar mais burro.

 
vovan-gogan:

pessoal, ajudem-me a descobrir o que diabos é isto! Minha EA é projetada para apagar uma chanfradura, e se o preço não chegar a ela, mas se inverter para o nível de sua parada, a chanfradura deve ser apagada. mas no testador, às vezes uma chanfradura é apagada e imediatamente apagada antes mesmo de chegar à parada. Qual é o problema? Aqui está uma captura de tela e um código de exclusão.

Aqui está o código:

Qual é o erro aqui?

Logo na primeira linha (vamos nos calar sobre o resto). Se a Licitação estiver abaixo do StopLoss de seu pedido.
E a ordem é definida abaixo da Licitação e seu StopLoss também está abaixo da Licitação. A primeira linha de código o apaga imediatamente.
 
Olá, uma pergunta bastante nubilar... acho eu. Nas capturas de tela que costumo ver nos níveis de Fibo padrão (ferramentas nativas MT4) e extensões de Fibo, após o número de Fibo há um preço sobre o qual o nível é ...... Minha pergunta é: como habilitá-lo?
 
Vinin:

Adaptado de



Olá, ajude, por favor... Há um indicador aqui. É possível anexar um sinal sonoro ao desenhar um novo segmento? ZigzagFr_v1.mq4 (4.4 Kb) Vista
 
Boa tarde! Não entendo algo. Decidi anexar uma parada móvel à minha EA, mas ela continua mostrando erro 130. Eu não consigo entender nada, e ontem eu também não consegui entender.
  } }
   
   
  //+------------------------------------------------------
  double JUN;int tiktik;
   for ( i=0; i<OrdersTotal(); i++) {   OrderSelect(i,SELECT_BY_POS );if(( OrderMagicNumber( )==1000 &&OrderSymbol()==Symbol())) { 
      if( OrderType( )!=OP_BUY ) continue;
     if (price-OrderOpenPrice( )>30*Point) {JUN= price-OrderOpenPrice( );tiktik=OrderTicket();} }} 
     
     Alert("Позиция с тикетом #",tiktik," имеет JUN, ",JUN);Alert("JUN",JUN,"JUNpomnim",JUNpomnim);
    if (JUN>0){if (JUN>JUNpomnim){Alert("JUN",JUN,"JUNpomnim+++++++++++++++++++++++++",JUNpomnim);
      OrderModify(tiktik,OrderOpenPrice(),price-15*Point,OrderTakeProfit(),0,0);     JUNpomnim=JUN;
      Alert("OrderModify-BAY", GetLastError()); }}
      
      
      
  double BAN;int tiktAk;
   for ( i=0; i<OrdersTotal(); i++) {   OrderSelect(i,SELECT_BY_POS );if(( OrderMagicNumber( )==2000 &&OrderSymbol()==Symbol())) { 
      if( OrderType( )!=OP_SELL ) continue;
     if (OrderOpenPrice( )-price>30*Point) {BAN= OrderOpenPrice( )-price;tiktAk=OrderTicket();} }} 
     
     Alert("Позиция с тикетом #",tiktAk," имеет BAN, ",BAN);Alert("BAN",BAN,"BANpomnim",BANpomnim);
    if (BAN>0){ if (BAN>BANpomnim){Alert("BAN",BAN,"BANpomnim++++++++++++++++++++++++++++",BANpomnim);
      OrderModify(tiktAk,OrderOpenPrice(),price+15*Point,OrderTakeProfit(),0,0);  BANpomnim=BAN;
       Alert("OrderModify-SELL", GetLastError()); }}
    

  
   return(0);
  }
//+------------------------------------------------------

Por favor, veja a linha com a modificação, há um erro na mesma. Assim, o stop loss é fixado 15 pips mais alto para Bai, e vice versa para Sell.

Em geral, uma parada móvel começa a cair quando a Buy Stop e Sell Stop são abertas e então o preço se move 30 pips mais alto (ou mais baixo para uma Sell), observe que a parada não é inferior à aberta; em outras palavras, não vejo erros lógicos.

Eu calculo o preço a cada tique e é assim

int X,Y; double price=NormalizeDouble((Ask+Bid)/2,4); 

O principal é verificar se os valores de entrada estão corretos.

Embora eu tenha escrito um fragmento de código sem um plano e não o tenha pensado bem, eu o redigi de qualquer forma.

 
Dimka-novitsek:
Boa tarde, eu não entendo algo. Decidi anexar uma parada móvel à minha EA, mas ela continua mostrando erro 130. Eu não consigo entender nada, ontem também não consegui.

Por favor, veja a linha com a modificação, há um erro na mesma. Assim, o stop loss é fixado 15 pips mais alto para Bai, e vice versa para Sell.

Em geral, uma parada móvel começa a cair quando a Buy Stop e Sell Stop são abertas e então o preço se move 30 pips mais alto (ou mais baixo para uma Sell), observe que a parada não está abaixo da aberta; em outras palavras, não vejo erros lógicos.

Eu calculo o preço a cada tique e é assim

O principal é que a entrada é correta.

Eu escrevi uma parte do código sem um plano, sem pensar nisso, mas ainda assim está correto.

numa tal confusão que é difícil sugerir qualquer coisa.

Bem, para começar:

1) não escreva 2-3 operadores por linha, tudo fica confuso e é mal legível

2) Variável JUNpomnim. Onde é "dado" um valor inicial? É o mesmo para todas as ordens abertas?

Para um exemplo simples, você tem 2 pedidos. Basta mover o SL do primeiro, mudar esta variável, e pronto. A segunda não será movida porque JUN = JUNpomnim.

3) Ao utilizar OrderModify(), normalizar todos os preços

Razão: