Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 983

 
Colpa mia, mi correggo!!! Non so molto dell'ordine. Mi dispiace. Vorrei capire questo esempio.
 
vvs1:
Colpa mia, mi correggo!!! Non so molto dell'ordine. Mi dispiace. Vorrei capire questo esempio.
 

Ragazzi, per favore, scrivete il codice minimo per aprire un paniere di transazioni in valuta.

1. Premere il pulsante "Auto Trade" nel terminale

EURUSD, GBPUSD, AUDUSD, NZDUSD aperti su un lotto di acquisto di 0,01, e USDCHF, USDCAD e USDJPY aperti su un lotto di vendita di 0,01

Per avere un EA in una finestra
 
Ivan Butko:

Ragazzi, potete per favore scrivere il codice minimo per aprire un paniere di scambi di valute.

1. Premere il pulsante "Auto Trade" nel terminale

EURUSD, GBPUSD, AUDUSD, NZDUSD aperti su un lotto di acquisto di 0,01, e USDCHF, USDCAD e USDJPY aperti su un lotto di vendita di 0,01

Per avere un EA in una finestra

Serve un pulsante sul grafico

 
Vladimir Karputov:

Serve un pulsante sul grafico

Grazie per MT5, ora ne ho bisogno per MT4.

Grazie in anticipo)

 

Ciao!

L'idea è questa: ho bisogno che l'Expert Advisor segni con delle linee sul grafico i punti in cui il prezzo, dopo essere stato sopra la banda superiore delle Bande di Bollinger, va sotto la banda inferiore per la prima volta. Ma non funziona. Cosa c'è che non va?

void OnTick()
  {
   int x=1;
   double bblow0=iBands(0,0,110,2.0,0,PRICE_CLOSE,MODE_LOWER,0);
   double bblowX=iBands(0,0,110,2.0,0,PRICE_CLOSE,MODE_LOWER,x);
   double bbupX=iBands(0,0,110,2.0,0,PRICE_CLOSE,MODE_UPPER,x);
   if(Close[0]<bblow0)
     {
      while(Close[x]<bbupX)
        {
         if(Close[x]<bblowX)
           {x=1; break;}
         else
           {x++;}
        }
      if(x>1)
         ObjectCreate(0,"Line"+TimeCurrent(),OBJ_VLINE,0,Time[x],Close[x]);
     }
  }
 
Ragazzi aiutatemi a trovare l'ultimo pannello informativo nell'EA.
 
int OnInit()
{
//---
OrderSend("EURUSD",OP_SELL,0.01,Bid,3,0,0,"",0,0,0,0,Red);
//---
return(INIT_SUCCEED);
}
//+------------------------------------------------------------------+
//| Funzione di deinizializzazione esperto |
//+------------------------------------------------------------------+


Potresti per favore dirmi come fare una funzione per aprire un trade solo dopo aver premuto il pulsante "autotrade" su MT. Questo codice non funziona quando il pulsante è disabilitato. Posso aggiungere alcune condizioni...


 
Ivan Butko:
Forse aggiungere una condizione...

Sperimentate con uno script come questo:

void OnStart()
{  while(!IsStopped())
   {  if(TerminalInfoInteger(TERMINAL_CONNECTED) && TerminalInfoInteger(TERMINAL_TRADE_ALLOWED) && !IsTradeContextBusy())Comment("Торговля разрешена");
      else Comment("Торговля запрещена!!!");
      Sleep(123); 
   }
   Comment("");

}
 
Igor Makanu:

Sperimentate con uno script come questo:

Grazie, ma non sono bravo con il codice, purtroppo.

Aggiunto il tuo codice al mio sopra, il log dice che ora non è un EA e non può essere aperto.

Questo è per le notizie di trading di più valute, vogliono un tale meccanismo:
1. La notizia esce
Premo il pulsante "autotrade".
3. L'Expert Advisor senza pensare strofina il broker per aprire l'affare.

Versione ridotta dell'Expert Advisor, una sola funzione: aprire un affare. Non riesco a capire come. L'Expert Advisor può essere molto buono (basta aggiungere l'EA sul grafico con i gufi e l'EA farà tutto da solo), ma vorrei che l'EA aprisse un paniere di ordini quando attivo "auto trade".

Cioè, a parole posso descrivere il codice approssimativamente come segue:
1. Controlliamo se il commercio è permesso.
2. In caso contrario, aspettiamo il clic.
3. Una volta cliccato, si apre il carrello degli ordini.
4. Controllo dell'autorizzazione al commercio non ogni tick, ma... tempo minimo, il tempo minimo possibile. (check-check-check, istantaneo come questo)

Oppure aggiungi il pulsante "Compra carrello con dollaro" sul grafico e il carrello si apre istantaneamente. Ma, come ho capito, è difficile fare il pulsante.

Se sai quale condizione aggiungere o come implementare (se è semplice), per favore condividi.