Domande dai principianti MQL4 MT4 MetaTrader 4 - pagina 2

 
Vladimir Karputov:

Come hai suggerito, il compilatore giura.

{
   Ticket=OrderSend(NULL,OP_BUY,Lot,Ask,slippage,0,0,NULL,magic,0,Blue);
   if(!Ticket>0)Print(GetLastError());
   else
   {
    if(OrderSelect(Ticket,SELECT_BY_TICKET,MODE_TRADES)==true)
    if((OrderMagicNumber()==magic) && (OrderSymbol()==Symbol()))
    {
     TP=NormalizeDouble(Bid+TakeProfit*Point,Digits);
     bool modify=OrderModify(OrderTicket(),OrderOpenPrice(),TP,0,0);
      return;
    }
   }

Non funziona.

 
Nickolay72:

Come hai suggerito, il compilatore giura.

{
   Ticket=OrderSend(NULL,OP_BUY,Lot,Ask,slippage,0,0,NULL,magic,0,Blue);
   if(!Ticket>0)Print(GetLastError());
   else
   {
    if(OrderSelect(Ticket,SELECT_BY_TICKET,MODE_TRADES)==true)
    if((OrderMagicNumber()==magic) && (OrderSymbol()==Symbol()))
    {
     TP=NormalizeDouble(Bid+TakeProfit*Point,Digits);
     bool modify=OrderModify(OrderTicket(),OrderOpenPrice(),TP,0,0);
      return;
    }
   }

Non funziona.

Ecco il vostro codice:

if(! Ticket>0)Print(GetLastError()) --- Il biglietto è un numero intero, cioè "2354865". Ora una domanda: un intero non può essere ( !2354865) Un intero può essere maggiore di "> 0" o minore di "< 0" . Questo valore bool può essere falso/vero ( ! )

Inoltre, questa costruzione:if(OrderSelect(Ticket,SELECT_BY_TICKET,MODE_TRADES)==true) --- enumera i parametri per biglietto, e se si visualizza un biglietto concreto, non ha senso controllare il suo numero magico o simbolo, cioè è ovviamente inutile:if((OrderMagicNumber()==magico) && (OrderSymbol()==Symbol())

E infine, tali costrutti sono meglio messi tra parentesi per specificare esplicitamente l'ordine dei compiti matematici:NormalizeDouble(Bid+( TakeProfit*Point),Digits);
 
Vitaly Muzichenko:


E infine, è meglio mettere tra parentesi tali costruzioni per specificare esplicitamente l'ordine dei compiti della matrice:NormalizeDouble(Bid+( TakeProfit*Point),Digits);

No, si può fare senza staffe. Ma quando la somma deve essere moltiplicata, allora sono necessarie le parentesi.

 
poman:

può prendere il valore di 0 bar open time con periodo D1, + aggiungere il numero di secondi,

nella condizione per confrontare il tempo corrente con il tempo ottenuto nella prima linea

in un ordine pendente è possibile mettere un numero di secondi, tempo di vita dell'ordine.

Data_1=iTime(Symbol(),PERIOD_D1,0)+86400;  //время жизни ордера


Grazie per il suggerimento!) Mi ha aiutato)
 

Aiuto con il codice, il consigliere passa attraverso tutte le barre, come farlo passare attraverso le ultime 200 barre! Grazie

int  i, k=iBars(Symbol(), 0);
for (i=1; i<k; i++)
 

Fornitore_Segnale

Forum sul trading, sistemi di trading automatico e strategie di trading di prova

Domande dai principianti

Provider_Signal, 2016.11.09 18:38

Come chiudere tutti gli ordini in EA il venerdì sera? Per non lasciarlo per il fine settimana.

Trovata la funzione DayOfWeek().

Posso scrivere un assegno

if (DayOfWeek() == 5)
{
//
}

Ma che tipo di assegno dovremmo scrivere per il tempo. Per esempio, se fossero le 22:00?


 
Vladimir Karputov:

Fornitore_Segnale

Ma che tipo di assegno scrivere per il tempo. Per esempio che cosa sarebbero le 22:00?
extern int St_Hour   = 22;

if (Hour()==St_Hour)
 
Aibek Mugiynov:

Aiuto con il codice, il consigliere passa attraverso tutte le barre, come farlo passare attraverso le ultime 200 barre! Grazie

int  i, k=iBars(Symbol(), 0);
for (i=1; i<k; i++)
for (i=1; i<200; i++)
 

Ciao, aiuto.

Se nessun buffer è riempito su tre barre, riempio il buffer.


     int BarCount=3;
    BER=true;
   for(int il=1;il<=BarCount;il++)
     {
      if(BufferPointUp[il]!= EMPTY_VALUE){BER=false;break;}
     }
     if(BER) BufferPointUp[i]=high[i];

Si riempie su tutte le barre, indiscriminatamente.

Ma tutto è corretto se faccio così.

if(BufferPointUp[i+1]== EMPTY_VALUE&&BufferPointUp[i+2]== EMPTY_VALUE&&BufferPointUp[i+3]== EMPTY_VALUE)BufferPointUp[i]=high[i];

Come farequesto controllo in loop?

 
mila.com:
extern int St_Hour   = 22;

if (Hour()==St_Hour)
Grazie
Motivazione: