[ARQUIVO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 4. - página 624

 

Existe alguma maneira de modificar o stop loss, mas deixar o take profit em uma linha (não mencione isso, ou seja, ele precisa ficar do jeito que foi definido antes por outras funções)

OrderModify(OrderTicket(),0,stop_loss, ???, 0,CLR_NONE);

 
rigonich:


Se o testador tivesse contado tantas ordens quanto o servidor, os dados também seriam de vários dígitos.

O testador, assim como o servidor, atribui a cada novo pedido um número de pedido único (ticket), mas o servidor faz isso desde o momento em que a corretora foi criada, para todos os seus clientes e para todos os instrumentos.


Entendi, obrigado :))))
 
rigonich:
Provavelmente, têm "permitir que a EA negocie" nas configurações do terminal.


Não ajuda
 
i999i:

Não ajuda

Desculpe - toda classe .......thank you
 
lottamer:

Existe alguma maneira de modificar o stop loss, mas deixar o take profit em uma linha (não mencione isso, ou seja, ele precisa ficar do jeito que foi definido antes por outras funções)

OrderModify(OrderTicket(),0,stop_loss, ???, 0,CLR_NONE);

OrderModify(OrderTicket(),OrderLots( ),stop_loss,OrderTakeProfit( ), 0,CLR_NONE);

Pare, então seu lote é 0.

 
Esta ordem também deve ser selecionada pela OrderSelect com antecedência. Caso contrário, o bilhete pode muitas vezes se tornar qualquer coisa.
 
Dimka-novitsek:
Esta ordem também deve ser selecionada pela OrderSelect com antecedência. Caso contrário, o bilhete pode muitas vezes se tornar qualquer coisa.

Sim, o bilhete será aquele que você indicar, mas os valoresOrderLots( ) eOrderTakeProfit( ), ele pode retornar para qualquer pedido.
 

Bom dia!

Não consigo perceber categoricamente - as condições para a parada de trilha não funcionam.

//***************************************   
 
 bool nahodka=false;
  
 if (OrderSelect(tacket, SELECT_BY_TICKET , MODE_HISTORY)) 
 if (OrderTakeProfit( )-3*Point<profit&&OrderTakeProfit( )+3*Point>profit) nahodka=true;     // Находим ордер, сработавший именно по тейкпрофиту 
   
 if(nahodka){if (OrderSelect(tucket,SELECT_BY_TICKET)){
 if(OrderStopLoss( )<Bid-treylingstop*Point ){ Print ("втораямодифи    " );
 OrderModify(  tucket, OrderOpenPrice(), Bid-treylingstop*Point, OrderTakeProfit(), 0, CLR_NONE);}}}
 if (BUY == 0) {perenos=false;srabotka=false;nahodka=false;} 
 
 
 //*************************************** 
 
 //&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
 
               
               //SELL

Portanto, a ordem é retirada imediatamente quando ainda não está na história, o que eu não entendo de todo!

//***************************************   
 
  nahodka=false;
 
 for (i=0; i<=OrdersHistoryTotal(); i++) {
 if (!OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) continue;
 if (OrderSymbol()!=Symbol())continue; 
 if (OrderMagicNumber() != 450) continue; 
 if (tocket==OrderTicket()) 
 if (OrderTakeProfit( )-3*Point<profitsell&&OrderTakeProfit( )+3*Point>profitsell) nahodka=true;}
     // Находим ордер, сработавший именно по тейкпрофиту 
 
 
  
 if(nahodka){if (OrderSelect(tecket,SELECT_BY_TICKET)){
 if(OrderStopLoss( )>Bid+treylingstop*Point ){ Print ("четвёртаямодифи    " );
 OrderModify(  tecket, OrderOpenPrice(), Bid+treylingstop*Point, OrderTakeProfit(), 0, CLR_NONE);}}}
 for ( i = OrdersTotal() - 1; i >= 0; i--)

E esta é a situação é melhor! Se temos este truque, pelo menos a ordem é corrigida quando já está na história.

Mas uma vez em cada cinco ou dez vezes o nahodka não assume o valorverdadeiro, e outras modificações não ocorrem!

 
Sim, certo!!!
 

Aqui está como não modifica o tchau - e é uma condição zircal, e também não funciona o tempo todo.

Este é o lugar.

//***************************************   
 
 bool nahodka=false;
 
 for (i=0; i<=OrdersHistoryTotal(); i++) {
 if (!OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) continue;
 if (OrderSymbol()!=Symbol())continue; 
 if (OrderMagicNumber() != 450) continue; Print (" tacket ",tacket, "  OrderTicket() ",OrderTicket(),"    profit " , profit, "    OrderTakeProfit( ) ",OrderTakeProfit( ) );
 if (tacket==OrderTicket()) {Print ("tacket==OrderTicket()    " );
 if (OrderTakeProfit( )-3*Point<profit&&OrderTakeProfit( )+3*Point>profit) nahodka=true;}}     // Находим ордер, сработавший именно по тейкпрофиту 
 
 
  
 if(nahodka){if (OrderSelect(tucket,SELECT_BY_TICKET)){
 if(OrderStopLoss( )<Bid-treylingstop*Point ){ Print ("втораямодифи    " );
 OrderModify(  tucket, OrderOpenPrice(), Bid-treylingstop*Point, OrderTakeProfit(), 0, CLR_NONE);}}}
 if (BUY == 0) {perenos=false;srabotka=false;nahodka=false;} 
 
 
 //*************************************** 
 
 //&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
 
               
               //SELL