[Arquivo!] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por ela. Não poderia ir a lugar algum sem você - 2. - página 397

 
VOLDEMAR:

Sim, se você defini-lo como x=0, ele irá para zero se você apenas defini-lo como x:, ele não irá para zero, ele irá para cima.


Desculpe não ter notado que está no núcleo de inicialização ....
 
Tenho certeza de que será reiniciado. Obrigado a todos vocês, é um pouco hilariante.
 
int tiket,tikett;double volume=0.1;int i=0,R1=0,R2=0,A=1 ;
int start()
  { 
int    X=0; 
double price=(Ask+Bid)/2;      
int total=OrdersTotal();                                         
                                       
   for (int i=total-1; i>=0; i--)                                 
   {
    if(OrderSelect(i, SELECT_BY_POS))                          
     { 
      Alert ("Uy",i);
      if(OrderSymbol()==Symbol()&&OrderMagicNumber( )==1000||OrderMagicNumber( )==2000 &&OrderSymbol()==Symbol())
       {
       X ++;
       }  
       }
       }
       Alert ("X",X);}

if (X==0)
   {
   tiket= OrderSend( Symbol(), OP_BUYSTOP,  volume*A, price +otstup*Point, Point* 3, R1, price+takeprofit*Point+otstup*Point, "OP_BUYSTOP", 1000,  expiration, Red); 
   Alert ("OP_BUYSTOP", GetLastError( )); 
   tikett= OrderSend( Symbol(), OP_SELLSTOP,  volume*A, price -otstup*Point, Point* 3,R2, price-takeprofit*Point-otstup*Point, "OP_SELLSTOP" , 2000,  expiration,C'0,128,255' );
    Alert ("OP_SELLSTOP", GetLastError( )); 
    }       


   return(0);
  

Este é o caminho certo para ir!!!!!

 
Dimka-novitsek:
Tenho certeza de que está zerada. Obrigado a todos vocês, é um pouco hilariante.
Melhor usar comment(); então você pode ver o que está acontecendo com suas variáveis...... na parte superior esquerda durante o teste.
 
Obrigado!!!
 
Eu coloquei seu código, ele não compila. Qual é o erro, eu não consigo entender. Mas o principal, eu ainda perguntei, deve haver algum tipo de erro lógico, ordens abertas em cada carrapato, muito provavelmente esta parte não está funcionando.
 if(OrderSymbol()==Symbol()&& OrderMagicNumber( )==1000||OrderMagicNumber( )==2000 && OrderSymbol()==Symbol())
Esta é a parte que não está funcionando e eu também não consigo entendê-la?
 
VOLDEMAR:

Gente uma pergunta mais complicada......

Como fazer uma EA fechar todos os pedidos quando um determinado lucro é alcançado .... Fechar apenas pedidos em um símbolo ...

Exemplo: a EA trabalha em 3 pares para fechar todos os pedidos em um símbolo de 100p ...

Se o EUR tiver mais de 100p só fechará pedidos em EUR enquanto outros podem ter 200p ...

Se eu levar em contabalanse(), então a EA fechará somente quando a soma de três pares for superior a 100p. Esta opção não funciona para mim !!!!

Ajuda por favor.........



Provavelmente com
OrderProfit( )
E também se (OrderSymbol()==Symbol()) {} Embora eu mesmo não possa escrevê-lo...
 

Por favor, informe o que está errado no código. O robô deve fechar uma ordem de venda e se não estiver lá, ele deve comprar. O erro 4105 aparece, que eu tento resolver, mas não há resultado. Talvez haja outras maneiras de processá-lo?

PRICECURRENTPPROFIT é o nível de compra.


// ROBOT SELLS
// determinar se há ordens de venda
if (Bid>=PRICECURRENTPPROFIT && PRICECURRENTMPROFIT>0)
{
for(cnt=OrdersTotal();cnt>=0;cnt--)
{OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); mode = OrderType(); if(OrderSymbol() == "EURUSD")
{if(mode == OP_BUY)
{go=OrderClose(OrderTicket(), Lots, Bid, slippage, Green);

}
}
} // se abrir, fechar
} if(go != true) {Print("Failed to open SELL order. Erro N", GetLastError());
switch(GetLastError()) {case 4105: OrderSend("EURUSD",OP_SELL,Lots,Bid,2*Point,0,0, "robot vende",MagicNumber,0,Red);break;}
}

 

Quero acrescentar algumas funções para torná-lo aberto para comprar e vender, mas para vender e comprar é necessário um número mágico separado.

Se uma ordem Take Profit disparar, o robô fecha todas as ordens pendentes OP_SELLLIMIT e as deixa inalteradas OP_BUYLIMIT, OP_BUY

 
Dimka-novitsek:
Eu coloquei seu código, ele não compila. Qual é o erro, eu não consigo entender. Mas o mais importante, eu ainda perguntei, deve haver algum tipo de erro lógico, as ordens são abertas a cada carrapato, muito provavelmente esta parte não está funcionando, e eu também não consigo entender isso?
Ou o código não é todo mostrado ou falta o fechamento do suporte encaracolado na parte inferior.