[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 1099
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Se um pedido OP_BUY estiver aberto e seu Stoploss estiver 100 pips abaixo de seu preço aberto, mas o preço real tiver se afastado 80 pips ou mais do preço do pedido aberto, temos que mover o Stoploss para 50 pips acima do preço do pedido aberto. Como seria? Refiro-me ao código. Na verdade, como devemos marcar tal condição?
Если установленная в ордере цена Stoploss меньше цены откр. ордера, то
если настоящая цена больше или равна 80 п. от цены откр. ордера, то
перемодефицировать ордер и переставить Stoploss на 50 п. больше цены откр. ордера.
Alguém ajude a implementar tal condição...!!!
https://www.mql4.com/ru/search/?keyword=%D1%82%D1%80%D0%B5%D0%B9%D0%BB%D0%B8%D0%BD%D0%B3
O que é polarização?
https://www.mql4.com/ru/search/?keyword=%D1%82%D1%80%D0%B5%D0%B9%D0%BB%D0%B8%D0%BD%D0%B3
E qual é a variável predefinida para o preço ao qual o StopLoss é definido na ordem de mercado OP_BUY? Se houver um, é claro. Certo?
OrderStopLoss()
E qual é a variável predefinida para o preço ao qual o StopLoss é definido em uma ordem de mercado OP_BUY? Se houver um, é claro.
https://www.mql5.com/ru/search/
Se um pedido OP_BUY estiver aberto e seu Stoploss estiver 100 pips abaixo de seu preço aberto, mas o preço real tiver se afastado 80 pips ou mais do preço do pedido aberto, temos que mover o Stoploss para 50 pips acima do preço do pedido aberto. Como seria? Refiro-me ao código. Como devemos marcar tal condição?
Após as ordens terem sido tentadas:
Если установленная в ордере цена Stoploss меньше цены откр. ордера, то
если настоящая цена больше или равна 80 п. от цены откр. ордера, то
перемодефицировать ордер и переставить Stoploss на 50 п. больше цены откр. ордера.
Alguém me ajude a implementar tal condição...!!
O início provavelmente seria assim (1ª condição)?
if (OrderOpenPrice()>OrderStopLoss())
Se um pedido OP_BUY estiver aberto e seu Stoploss estiver 100 pips abaixo de seu preço aberto, mas o preço real tiver se afastado 80 pips ou mais do preço do pedido aberto, temos que mover o Stoploss para 50 pips acima do preço do pedido aberto. Como seria? Refiro-me ao código. Como devemos marcar tal condição?
Após as ordens terem sido tentadas:
Если установленная в ордере цена Stoploss меньше цены откр. ордера, то
если настоящая цена больше или равна 80 п. от цены откр. ордера, то
перемодефицировать ордер и переставить Stoploss на 50 п. больше цены откр. ордера.
Alguém me ajude a implementar tal condição...!!
O início provavelmente seria assim (1ª condição)?
if (OrderOpenPrice()>OrderStopLoss())
if(OrderType===OP_BUY){
if(OrderStopLoss()==0.0 && SL!=0 ||| OrderTakeProfit()==0.0 && TP!=0)
OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-SL*Point,Digits),NormalizeDouble(Bid+TP*Point,Digits),0, Blue);
if(NormalizeDouble(Bid-OrderOpenPrice(),Digits)>NormalizeDouble((Trailing+MinProfit)*Point,Digits){
if(NormalizeDouble(Bid-Trailing*Point,Digits)>OrderStopLoss() || OrderStopLoss()<=0.0)
OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-Trailing*Point,Digits),OrderTakeProfit(),0, Ivory);
}}
if(OrderType===OP_BUY){
if(OrderStopLoss()==0.0 && SL!=0 || OrderTakeProfit()==0.0 && TP!=0)
OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-SL*Point,Digits),NormalizeDouble(Bid+TP*Point,Digits),0, Blue);
if(NormalizeDouble(Bid-OrderOpenPrice(),Digits)>NormalizeDouble((Trailing+MinProfit)*Point,Digits)){
if(NormalizeDouble(Bid-Trailing*Point,Dígitos)>OrderStopLoss() || OrderStopLoss()<=0.0)
OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-Trailing*Point,Digits),OrderTakeProfit(),0, Ivory);
}}
Se um pedido OP_BUY estiver aberto e seu preço de Stoploss estiver 100 pips abaixo de seu preço aberto e o preço real tiver se afastado 80 pips ou mais do preço do pedido aberto, temos que mover nosso Stoploss por 50 pips acima do preço do pedido aberto. Como seria? Refiro-me ao código. Como devemos marcar tal condição?
Após as ordens terem sido tentadas:
Если установленная в ордере цена Stoploss меньше цены откр. ордера, то
если настоящая цена больше или равна 80 п. от цены откр. ордера, то
перемодефицировать ордер и переставить Stoploss на 50 п. больше цены откр. ордера.
Alguém ajude a implementar tal condição...!!!
E modificará constantemente o pedido dependendo do preço real e não apenas do StopLoss, mas também do TakeProfit! Ou não será?
if(OrderType==OP_BUY) // Здесь понятно! Если ордер на покупку
{
if(OrderStopLoss()==0.0 && SL!=0 || OrderTakeProfit()==0.0 && TP!=0) //
OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-SL*Point,Digits),NormalizeDouble(Bid+TP*Point,Digits),0, Blue);
if(NormalizeDouble(Bid-OrderOpenPrice(),Digits)>NormalizeDouble((Trailing+MinProfit)*Point,Digits))
{
if(NormalizeDouble(Bid-Trailing*Point,Digits)>OrderStopLoss() || OrderStopLoss()<=0.0)
OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-Trailing*Point,Digits),OrderTakeProfit(),0, Ivory);
}
}
Se um pedido OP_BUY estiver aberto e seu Stoploss estiver 100 pips abaixo de seu preço aberto, mas o preço real tiver se afastado 80 pips ou mais do preço do pedido aberto, temos que mover o Stoploss para 50 pips acima do preço do pedido aberto. Como seria? Refiro-me ao código. Na verdade, como devemos marcar tal condição?
Если установленная в ордере цена Stoploss меньше цены откр. ордера, то
если настоящая цена больше или равна 80 п. от цены откр. ордера, то
перемодефицировать ордер и переставить Stoploss на 50 п. больше цены откр. ордера.
Alguém ajude a implementar tal condição...!!
Vejo que não queremos pensar sobre isso. Mas, no entanto... Dê uma olhada nesta linha - você encontrará muitas funções já prontas, em particular a parada de arrasto, que você precisa.
Conheça o código que já está funcionando - e então você pode escrevê-lo exatamente do jeito que quiser...
E modificará constantemente o pedido dependendo do preço real e não apenas do StopLoss, mas também do TakeProfit! Ou não?
if(OrderType==OP_BUY)
{
if(OrderStopLoss()==0.0 && SL!=0 || OrderTakeProfit()==0.0 && TP!=0)
OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-SL*Point,Digits),NormalizeDouble(Bid+TP*Point,Digits),0, Blue);
if(NormalizeDouble(Bid-OrderOpenPrice(),Digits)>NormalizeDouble((Trailing+MinProfit)*Point,Digits))
{
if(NormalizeDouble(Bid-Trailing*Point,Digits)>OrderStopLoss() || OrderStopLoss()<=0.0)
OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-Trailing*Point,Digits),OrderTakeProfit(),0, Ivory);
}
}
A princípio, ele apenas definirá Stop Loss e Take Profit.
Em seguida, ele arrasta o lucro, a partir do nível MinProfit.
Stop Loss and Take Profit já foram definidos! Se o StopLoss ajustado for menor que o preço de abertura do pedido, você só precisa mover o StopLoss acima do preço de abertura em 50 pips (para a perda) se o preço atual for maior ou igual a 80 pips do preço de abertura do pedido. E você não precisa reordenar constantemente StopLoss e TakeProfit!