Domande dai principianti MQL4 MT4 MetaTrader 4 - pagina 99

 

Voglio fare un pulcino per contare il profitto dopo ogni 5 ordini. sembra contare, ma c'è un errore "4051 Invalid value of function parameter" perché?


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;
}



 

Ciao Caro Guru ...

Scorrere i dati nella finestra del terminale > Storia ...

... ...e in qualche modo ha spostato la posizione della finestra del terminale sopra le finestre del grafico...

... Qualcuno può suggerire come spostare la finestra del Terminale al di sotto delle finestre del grafico?


Sarei molto grato.

 
Yaroslav Nykula:

Ciao Caro Guru ...

Scorrere i dati nella finestra del terminale > Storia ...

... ...e in qualche modo ha spostato la posizione della finestra del terminale sopra le finestre del grafico...

... Qualcuno può suggerire come spostare la finestra del Terminale al di sotto delle finestre del grafico?


Sarei molto grato.


Afferra la barra sotto la croce con il tuo mouse e trascinala dove vuoi.

 

Ciao, potresti per favore dirmi come fare in modo che un EA fermi il trading dopo tre perdite (con lo stesso numero magico)? Dopo una perdita in questo modo

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 tre perdite...?

 
Alekseu Fedotov:

Afferra la barra sotto la croce con il tuo mouse e trascinala dove vuoi.


Grazie... L'ho cliccato due volte e l'ho trascinato giù... Non ci ho pensato io.

 
defailer7:

Ciao, potresti per favore dirmi come fare in modo che un EA fermi il trading dopo tre perdite (con lo stesso numero magico)? Dopo una perdita in questo modo

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 tre perdite?

Io stesso sono un principiante. forse si può fare in questo modo

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:

Anch'io sono un principiante, probabilmente si potrebbe fare così


Grazie mille, è andato tutto bene.

 

Ciao.
Puoi dirmi come limitare il trading EA in base al tempo.
Ho provato molti metodi del forum, ma niente ha funzionato, non capisco niente di scrittura.
Sarebbe bello se si potesse puntare il dito su cosa mettere.

 
defailer7:

Ciao, potresti per favore dirmi come fare in modo che un EA fermi il trading dopo tre perdite (con lo stesso numero magico)? Dopo una perdita in questo modo

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; }}


Che ne dici di tre perdite...?


Anche io sto imparando!!! Flag++, se (flag==3)exit;

E la perdita è inferiore a zero.
 
kuzhakov:

Ciao.
Potete per favore consigliarmi come fare il timeframe dell'EA.
Ho provato un sacco di metodi dal forum, ma niente funziona.
Sarebbe bello se potessi semplicemente puntare il dito dove mettere cosa mettere.


Non posso mandarti il codice finito, sto navigando dal mio telefono.

C'è una funzione che restituisce il tempo di apertura della barra

Provate ad aggiungere un numero alla funzione che restituirà il tempo di apertura della barra con il periodo di un giorno

Restituisce il valore del tempo di apertura della barra (specificato dal parametro shift) per il grafico corrispondente.

datetimeiTime(
simbolo stringa,// simbolo
inttimeframe,// periodo
intshift//shift
);


Giorno del periodo

Turno 0

iTime(euro, giorno, oggi è zero)+1= Tempo 00-00-01

Ci sono 60 secondi in un minuto

iTime(euro, giorno, oggi è zero)+60= tempo 00-01-00-00 e così via.

Per esempio, vogliamo che il nostro EA inizi a lavorare il 01-00-00

se((iTime(Symbol(),PERIOD D1,0)+3600)<TimeCurent() lavora

Questo è tutto quello che posso fare per telefono.

Puoi anche restituire i minuti dell'ora corrente e confrontarli, buona fortuna!

Motivazione: