Estou aprendendo a escrever um conselheiro... - página 2

 
Figar0 >> :

...Para o novato não-programador, pode fazer a diferença...

)) Essa é uma grande palavra para mim! Estou em Forex há apenas 2,5 anos... Por todo esse tempo eu ganhei 2 vezes: 1ª vez em demonstração (aumentei meu depósito 50 vezes), 2ª vez em real (o resultado é mais modesto)

Tirei apenas uma conclusão: não há disciplina! Eu decidi tentar escrever algo que não dependesse das minhas emoções).

 
rid >> :

E para ajudá-lo a pensar mais rapidamente, primeiro passe seu especialista por TODAS as TICS e o resultado aqui, por favor.

O teste passou por todos os carrapatos de qualquer maneira! Você pode vê-lo nas fotos...

 

Parece que estraguei algo neste código...

void ClosePos()
   {
      double pp;

        if (OrderType()==OP_BUY)
          {
            pp=MarketInfo(OrderSymbol(), MODE_BID);
            OrderClose( OrderTicket(), OrderLots(), Bid, 0, Blue);
          }
        if (OrderType()==OP_SELL)
          {
            pp=MarketInfo(OrderSymbol(), MODE_ASK);
            OrderClose(OrderTicket(), OrderLots(), Ask, 0, Red);
          }
   }


Continuo recebendo um erro no registro...

bilhete inválido para a função OrderClose
OrderClose error 4051
OrderSend error 130

Esta verificação para fechar vai antes do sinal de entrada oposto.

se houver um sinal de compra

(OrderType()==OP_BUY)
fecha a venda atual

OrderClose( OrderTicket(), OrderLots(), Bid, 0, Blue)

E vice versa...

Mas o tronco inteiro se enche de um erro.

Parece que tenta fechar a cada tique... Mas não há condições...



 
Onde está OrderSelect?
 
Não sei) É por isso que estou aqui... para acertar...
 
sergeev >> :
Onde está OrderSelect?

Leia sobre esta função... convertida para esta variante:

void ClosePos()
   {
      double pp;
        if (OrderSelect(0, SELECT_BY_POS)==true) // Если есть открытый ордер
            { 
               if (OrderType()==OP_BUY)
                  {
                  pp=MarketInfo(OrderSymbol(), MODE_BID);
                  OrderClose( OrderTicket(), OrderLots(), Bid, 0, Blue);
                  }
               if (OrderType()==OP_SELL)
                  {
                  pp=MarketInfo(OrderSymbol(), MODE_ASK);
                  OrderClose(OrderTicket(), OrderLots(), Ask, 0, Red);
                  }
            }      
   }
 

Eu teria gostado que não fosse pela qualidade da modelagem

 
De que depende?
 

procurá-lo, você precisa baixar e recalcular o histórico

 
ALex2008 писал(а) >>
De que depende?

Baixar castiçais de minutos (por exemplo, da Alpari) e fazer um teste em castiçais de minutos.

Não é possível testar uma parada de 5 pips em castiçais de 4 horas.