E vamos fazer um "desenho animado" (multicurrency) - página 5

 

Regozijou-se muito cedo. A compilação não tem erros, mas no Testador de Estratégia, quando a ordem é aberta, o preço não está chegando ao indicador através desta função. Eu o chamo assim: OP=PriceOpenLastPos(); mas no código, OP permanece igual a zero.

É um problema do testador não passar valores para o indicador que fica pendurado na janela em modo de visualização?

 
Angela писал(а) >>

Regozijou-se muito cedo. A compilação não tem erros, mas no Testador de Estratégia, quando a ordem é aberta, o preço não está chegando ao indicador através desta função. Eu o chamo assim: OP=PriceOpenLastPos(); mas no código, OP permanece igual a zero.

É um problema do teste, não passa valores para o indicador que fica pendurado na janela em modo de visualização?

O indicador não consegue ver o que está acontecendo no testador. Mas se houvesse ordens em aberto, isso as mostraria.

 
ALex2008 писал(а) >>

Por favor, responda)

//-------Поиск ордеров
bool WorkOrders(){
      for (int i=OrdersTotal()-1; i>=0; i--){
      if (!OrderSelect( i, SELECT_BY_POS))  continue;
      if (OrderSymbol()!=Symbol())        continue;
      Type = OrderType();
      Ticket=OrderTicket();
      return(true);
  }
  return(false);  
}
 
Vinin >> :

Fixou-o... Mas o problema permanece(.

Excluir pedidos A função DellAllOrders() não funciona...

//-------Удаление всех ордеров
void DellAllOrders(){
      if( WorkOrders())OrderClose( Ticket,OrderLots(),OrderClosePrice(),10);
  }
  
//-------Поиск ордеров
bool WorkOrders(){
      for (int i=OrdersTotal()-1; i>=0; i--){
      if (!OrderSelect( i, SELECT_BY_POS))  continue;
      if (OrderSymbol()!=Symbol())        continue;
      Type = OrderType();
      Ticket=OrderTicket();
      return(true);}
  return(false);
  }

Acho que eu deveria ter acrescentado





OrderDelete(Ticket);

Como esta....?

//-------Удаление всех ордеров, открытых и отложенных
void DellAllOrders(){
      if( WorkOrders()){
      OrderClose( Ticket,OrderLots(),OrderClosePrice(),10);
      OrderDelete( Ticket);}
  }
 
ALex2008 писал(а) >>

Fixou-o... Mas o problema permanece(.

DellAllOrders() não está funcionando.

//-------Удаление всех ордеров
void DellAllOrders(){
  for (int i=OrdersTotal()-1; i>=0; i--){
      if (!OrderSelect( i, SELECT_BY_POS))  continue;
      if (OrderSymbol()!=Symbol())        continue;
      if (OrderType()<=OP_SELL) OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),10);
      else OrderDelete(OrderTicket());
  }
}
Deleta também as ordens pendentes.
 
Vinin >> :
Elimina também os adiamentos.

Obrigado)

>> Eu acho que tudo deveria estar funcionando agora.

//-------Удаление всех ордеров, открытых и отложенных
void DellAllOrders(){
      if( WorkOrders()){
      if( Type<=1)OrderClose( Ticket,OrderLots(),OrderClosePrice(),10);
      else OrderDelete( Ticket);}
  }
Também notei um erro ao salvar novamente a EA (acho que será o mesmo se eu apenas reiniciar o terminal)...
adicionou um cheque antes de definir o stoploss.


if(WorkOrders())
      if ((Type<=1)&& (Stop==0))SetStop();



//-------Поиск ордеров
bool WorkOrders(){
      for (int i=OrdersTotal()-1; i>=0; i--){
      if (!OrderSelect( i, SELECT_BY_POS))  continue;
      if (OrderSymbol()!=Symbol())        continue;
      Type  = OrderType();
      Ticket=OrderTicket();
      Stop  =OrderStopLoss();
      return(true);}
  return(false);
  }
 
Pessoas) Veja... Talvez haja algo mais errado, algo para mexer?
 
ALex2008 >> :
Pessoas) Veja... Talvez haja algo mais errado, algo para mexer?
OrderSend(Symbol(), OP_BUYSTOP, 0.1, Enter, 0, 0, Ask+ Profit, 0, 0,0, Green);

>> É assim que deve funcionar, ou é assim?

Enter+ Profit
 
Swan >> :

>> É assim que deve funcionar, ou é assim?

É realmente um erro) É um pêndulo, é isso mesmo!!!! >> Obrigado. Reformulou o trabalho.

 
ALex2008 >> :

O erro é verdadeiro) Mas não é crítico... >> Obrigado.

erro 130 o tempo todo.

O StopLevel deve ser verificado, para StopLoss e Enter.


>> e icho.

if(b0<b1) StopLoss=b1;
else StopLoss=b0;

>> o maior deve ser escolhido?

Razão: