Perguntas de Iniciantes MQL4 MT4 MetaTrader 4 - página 99

 

Eu quero fazer um pintinho para contar lucro após cada 5 pedidos. parece contar, mas há um erro "4051 Valor inválido do parâmetro de função" por quê?


input int input_step=5;
int step=input_step;

void start()
{
int h, history=OrdersHistoryTotal();
double orderProfit=0;
 if(history==step)
  {
   for(h=history; h<=history; h--)
    {
    if(OrderSelect(h,SELECT_BY_POS,MODE_HISTORY)==true)
      {
      orderProfit=orderProfit+OrderProfit();
      Print("profit=",orderProfit);
      } 
    }
    step=step+input_step;
  }
  return;
}



 

Olá Prezado Guru ...

Percorrendo dados na janela do terminal > Histórico ...

... ...e de alguma forma deslocou a localização da janela do Terminal acima das janelas do gráfico ...

... Alguém pode sugerir como mover a janela do Terminal para baixo, abaixo das janelas do gráfico?


Eu ficaria muito OBRIGADO.

 
Yaroslav Nykula:

Olá Prezado Guru ...

Percorrendo dados na janela do terminal > Histórico ...

... ...e de alguma forma deslocou a localização da janela do Terminal acima das janelas do gráfico ...

... Alguém pode sugerir como mover a janela do Terminal para baixo, abaixo das janelas do gráfico?


Eu ficaria muito OBRIGADO.


Pegue a barra abaixo da cruz com o mouse e arraste-a para onde você quiser.

 

Olá, você poderia me dizer como fazer uma EA parar de negociar após três perdas (com o mesmo número mágico)? Depois de uma perda desta maneira

int flag==0;

for(int pos_buy=OrdersHistoryTotal()-1; pos_buy>=0; pos_buy--)

{

if(OrderSelect(pos_buy,SELECT_BY_POS,MODE_HISTORY) && OrderType()==OP_BUY)

{

if(OrderSymbol() == Symbol() && (OrderMagicNumber() == Magic_buy )&&(OrderProfit()>0))

flag=1; }}}}


Que tal três perdas...?

 
Alekseu Fedotov:

Pegue a barra abaixo da cruz com o mouse e arraste-a para onde você quiser.


Obrigado ... Cliquei duas vezes e arrastei-o para baixo. Eu mesmo não pensei nisso.

 
defailer7:

Olá, você poderia me dizer como fazer uma EA parar de negociar após três perdas (com o mesmo número mágico)? Depois de uma perda desta maneira

int flag==0;

for(int pos_buy=OrdersHistoryTotal()-1; pos_buy>=0; pos_buy--)

{

if(OrderSelect(pos_buy,SELECT_BY_POS,MODE_HISTORY) && OrderType()==OP_BUY)

{

if(OrderSymbol() == Symbol() && (OrderMagicNumber() == Magic_buy )&&(OrderProfit()>0))

flag=1; }}}}


E quanto a três perdas?

Eu também sou um principiante. talvez isso possa ser feito desta maneira

for(int pos_buy=OrdersHistoryTotal()-1; pos_buy>=0; pos_buy--) 
           {
            if(OrderSelect(pos_buy,SELECT_BY_POS,MODE_HISTORY) && OrderType()==OP_BUY) 
             {
             if (OrderSymbol() == Symbol() && (OrderMagicNumber() == Magic_buy )&&(OrderProfit()>0))
             flag=1; }
            if(OrderSelect(pos_buy-1,SELECT_BY_POS,MODE_HISTORY) && OrderType()==OP_BUY) 
             {
             if (OrderSymbol() == Symbol() && (OrderMagicNumber() == Magic_buy )&&(OrderProfit()>0))
             flag2=1; }
            if(OrderSelect(pos_buy-2,SELECT_BY_POS,MODE_HISTORY) && OrderType()==OP_BUY) 
             {
             if (OrderSymbol() == Symbol() && (OrderMagicNumber() == Magic_buy )&&(OrderProfit()>0))
             flag3=1; }
           }
  if(flag==1 && flag2==1 && flag3==1)bool flag_trex=true;
 
Baruandreas:

Eu mesmo sou um principiante. Provavelmente poderia ser feito assim


Muito obrigado, tudo funcionou.

 

Hi.
Você pode me dizer como limitar o comércio da EA pelo tempo?
Tentei muitos métodos do fórum, mas nada funcionou, não entendo nada de escrita.
Seria bom se você pudesse apenas apontar o dedo para o que colocar dentro.

 
defailer7:

Olá, você poderia me dizer como fazer uma EA parar de negociar após três perdas (com o mesmo número mágico)? Depois de uma perda desta maneira

int flag==0;

for(int pos_buy=OrdersHistoryTotal()-1; pos_buy>=0; pos_buy--)

{

if(OrderSelect(pos_buy,SELECT_BY_POS,MODE_HISTORY) && OrderType()==OP_BUY)

{

if(OrderSymbol() == Symbol() && (OrderMagicNumber() == Magic_buy )&&(OrderProfit()>0))

flag=1; }}}}


Que tal três perdas...?


Eu também estou aprendendo!!! Bandeira++, se (bandeira===3)sair;

E a perda é menor do que zero.
 
kuzhakov:

Hi.
Você pode me dizer como programar a EA.
Tentei muitos métodos a partir do fórum, mas nada funciona.
Seria bom se eu pudesse apenas apontar o dedo onde colocar o que colocar.


Não posso enviar o código acabado, estou navegando do meu telefone.

Há uma função que retorna o tempo de abertura da barra

Tente adicionar um número à função que devolverá o tempo aberto do bar com o período de um dia

Retorna o valor do tempo de abertura da barra (especificado pelo parâmetro de deslocamento) para o gráfico correspondente.

data/horaiTime(
símbolo de corda,// símbolo
períodode tempo,// período
intshift//shift
);


Dia do período

Turno 0

iTime(euro, dia, hoje é zero)+1= Hora 00-00-01

Há 60 segundos em um minuto

iTime(euro, dia, hoje é zero)+60= hora 00-01-00-00 e assim por diante.

Por exemplo, queremos que nossa EA comece a trabalhar em 01-00-00

if((iTime(Symbol(),PERÍODO D1,0)+3600)<TimeCurent() funciona

É tudo o que posso lhe ajudar ao telefone.

Você também pode devolver os minutos da hora atual e compará-los, boa sorte!

Razão: