Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 999

 

Estou apenas aprendendo.

SellClose = (AC<0,0 && RSI<30 && Open[1]>Close[1] && ? );

Em vez do ponto de interrogação que você deve escrever - o lucro é maior que zero para o instrumento em questão.

 
cashnewmoney:

Estou apenas aprendendo.

SellClose = (AC<0,0 && RSI<30 && Open[1]>Close[1] && ? );

Em vez do ponto de interrogação que você deve escrever - o lucro é maior que zero para o instrumento em questão.

Depende de seu próprio desejo.
 
Alexey Viktorov:
Depende de sua própria vontade.

Como fechar com as mãos.

Isso não é bom, você tem que automatizá-lo.

 
cashnewmoney:

Como fechar com as mãos.

Isso não é bom, você tem que automatizá-lo.

Não, não à mão. Eu quis dizer que você pode escrever por sua própria vontade. Mas aparentemente eu entendi mal a pergunta da primeira vez. Para estabelecer a condição de lucro no instrumento maior que zero, este lucro deve ser calculado.

  double profit = 0;
  for(int i = 0; i < OrdersTotal(); i++)
   {
    if(OrderSelect(i, SELECT_BY_POS) && OrderSymbol() == _Symbol && OrderMagicNumber() == Magic)
     {
      if(OrderType() < 2)
        profit += OrderProfit()+OrderCommission()+OrderSwap();
     }
   }
 
Alexey Viktorov:

Não, não à mão. Eu quis dizer que você pode escrevê-lo à sua vontade. Mas eu devo ter entendido mal a pergunta da primeira vez. Este lucro deve ser calculado para estabelecer que a condição de lucro pelo instrumento seja mais do que zero.

É assim que deve ser feito?

lucro duplo = 0;

for(int i = 0; i < OrderTotal(); i++)

{

if(OrderSelect(i, SELECT_BY_POS) && OrderSymbol() == _Symbol && OrderMagicNumber() == Magic)

{

if(OrderType() < 2)

lucro += OrderProfit()+OrderComission()+OrderSwap();

}

}

VendaFechar = (AC<0,0 && RSI<30 && Abrir[1]>Fechar[1] && lucro + );

 
cashnewmoney:

É assim que deve ser feito?

lucro duplo = 0;

for(int i = 0; i < OrderTotal(); i++)

{

if(OrderSelect(i, SELECT_BY_POS) && OrderSymbol() == _Symbol && OrderMagicNumber() == Magic)

{

if(OrderType() < 2)

lucro += OrderProfit()+OrderComission()+OrderSwap();

}

}

VendaFechar = (AC<0,0 && RSI<30 && Abrir[1]>Fechar[1] && lucro + );

Você está brincando comigo?

double profit = 0;
  for(int i = 0; i < OrdersTotal(); i++)
   {
    if(OrderSelect(i, SELECT_BY_POS) && OrderSymbol() == _Symbol && OrderMagicNumber() == Magic)
     {
      if(OrderType() < 2)
        profit += OrderProfit()+OrderCommission()+OrderSwap();
     }
   }

SellClose = (AC<0.0 && RSI<30 && Open[1]>Close[1] && profit > 0 );
 
Vitaly Muzichenko:

Você está brincando comigo?

Muito obrigado, está tudo funcionando.

 
cashnewmoney:

Muito obrigado, tudo está funcionando.

Obrigado aqui,Alexey Viktorov

 

O Expert Advisor coloca apenas um pedido por algoritmo, considere Vender:

SellOpen = (AC<0,0 && RSI<30 && Close[2]>Open[2] && Close[1]>Open[1] && Low[2]<Low[1] );

Como escrever o código para que ele continue fazendo pedidos até que a condição AC<0.0 seja cumprida

 
Alexey Viktorov:

Não, não à mão. Eu quis dizer que você pode escrevê-lo à sua vontade. Mas eu devo ter entendido mal a pergunta da primeira vez. A fim de condicionar o lucro de um instrumento a ser maior que zero, este lucro tem que ser calculado.

Muito obrigado. Tudo funciona.

Razão: