[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 360

 
Vitya >> :

Se você quer dizer travamento, você não entende ---- Não insisto nisso, não sei como usá-lo.

Fechar uma parte das posições não lucrativas? ------ Acho que sim, mas ainda não experimentei.

Eu mesmo não sei como utilizá-la.

https://www.mql5.com/ru/code/9185

 
costy_ >> :

Manually tester a resposta só pode ser encontrada lá (ou na demonstração) aqui é o link para o simulador

https://www.mql5.com/ru/code/9185

Penso que a resposta só pode ser encontrada em matemática ou em experiência comercial real. É uma pena que eu não tenha nenhum dos dois. Obrigado pelo link.

 
Vitya >> :

Penso que a resposta só pode ser encontrada em matemática ou em experiência comercial real. Acho que é uma pena que eu não tenha nenhum deles. Obrigado pelo link.

Se você não sabe nada sobre matemática mas não pode negociar, você precisa aprender e eventualmente terá sucesso!

Aconselho iniciar a negociação manual com CCI(55) e MA(55) em M5 GBPJPY com número Fibonacci e dentro desse número encontre seu período (hoje o meu é 67), boa sorte!

Sim, quase esqueci, o tempo de negociação também é muito importante, ou seja, a abertura do pregão da região cuja moeda é importante (e américa...).

 
Qualquer pessoa pode verificar se tudo está correto neste módulo:
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// MOVE SL TO BE

if( Mode_Close_Part_Set_BE_1==true   &&   OrdersTotal()>0) {

      for(int cnt_BE=0; cnt_BE<OrdersTotal(); cnt_BE++) {
         OrderSelect( cnt_BE, SELECT_BY_POS);         // the next line will check for ONLY market trades, not entry orders
         Ticket = OrderTicket();

// BUY -----------------------------------------------------------------------------------------
         if(OrderType()==OP_BUY   &&   OrderSymbol()==Symbol()   &&   OrderStopLoss()<OrderOpenPrice()   &&   Ask>=(OrderOpenPrice()+ MathAbs(OrderOpenPrice()-OrderStopLoss())) ) {
                  double SL_Original_Buy   = OrderStopLoss();

                  bool AnsHalfModifySL_Buy = OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,Green);
                  Sleep( Slippage*3000);

                  if( AnsHalfModifySL_Buy==true) {
                     BreakEvenStatus_Buy   = true;
                     Alert ("SL Buy which was ", SL_Original_Buy, " set to BreakEven at ", OrderStopLoss(), " for ", Symbol());
                  }

                  if( Fun_Error(GetLastError())==1) {       // Обработка ошибок
                     continue;                             // Повторная попытка
                  }

                  return;                                // Выход из start()
         } // if(OrderType() == OP_BUY  &&  OrderSymbol()==Symbol() )
// EO BUY -----------------------------------------------------------------------------------------


// SELL -----------------------------------------------------------------------------------------
         if(OrderType()==OP_SELL  &&  OrderSymbol()==Symbol()   &&   OrderStopLoss()>OrderOpenPrice()   &&   Bid<=(OrderOpenPrice()-MathAbs(OrderStopLoss()-OrderOpenPrice())) ) {
                  double SL_Original_Sell   = OrderStopLoss();

                  bool AnsHalfModifySL_Sell = OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,Blue);
                  Sleep( Slippage*3000);

                  if( AnsHalfModifySL_Sell==true) {
                     BreakEvenStatus_Sell   = true;
                     Alert ("SL Sell which was ", SL_Original_Sell, " set to BreakEven at ", OrderStopLoss(), " for ", Symbol());
                  }

                  if( Fun_Error(GetLastError())==1) {       // Обработка ошибок
                     continue;                             // Повторная попытка
                  }

                  return;                                // Выход из start()
         } // if(OrderType() == OP_SELL  &&  OrderSymbol()==Symbol() )
// EO SELL -----------------------------------------------------------------------------------------

      } // for(cnt_BE=0; cnt_BE<OrdersTotal(); cnt_BE++)
}
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


Estou perguntando porque depois de cada chamada aparece a mensagem "Erro 0 ocorreu", embora tudo pareça estar funcionando corretamente (indo para o break-even).





 
chief2000 писал(а) >>
Qualquer pessoa pode verificar se tudo está correto neste módulo:

Estou perguntando porque após cada chamada aparece a seguinte mensagem: "Erro 0 ocorreu", embora tudo pareça estar funcionando corretamente (indo para o breakeven).

Muito provavelmente uma tentativa de modificar um pedido a preços antigos. Devemos comparar os parâmetros de pedidos novos e antigos. E só deve ser modificado se necessário.

 

O erro 0 ocorre quando a OrderModify não modifica realmente nada - ela muda o preço para o antigo.

 

Aqui está um exemplo:




Um pedido foi aberto com SL=1,1596. Depois o SL mudou para 1.1570, e finalmente este erro.

Não pode ir para a segunda rodada porque há uma condição:

... OrderStopLoss()>OrderOpenPrice() ...


- O que poderia ser?





 
chief2000 писал(а) >>

Aqui está um exemplo:

Um pedido foi aberto com SL=1,1596. Depois o SL mudou para 1.1570, e finalmente este erro.

Não pode ir para a segunda rodada porque há uma condição:

- O que poderia ser?

Poderia. Verifique novamente as condições lógicas, mas somente pela manhã.

O que está na lógica é o que permite que ele faça.

 
Vinin >> :

Talvez. Verifique novamente as condições lógicas, mas somente pela manhã.

O que está embutido na lógica permite que você faça isso.

Vou verificar. >> Obrigado!

 

Ajuda

int start()  {
//----
Alert(Minute(),Hour());
int Minuto( )
Retorna o minuto atual (0,1,2,...59) da última hora conhecida do servidor no início do programa (este valor não muda durante a execução do programa).

Nota: nos testes, o último tempo conhecido do servidor é simulado.

Mas em indicador, ao testar, o último tempo conhecido do servidor não é simulado. deveria ser?

Razão: