Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 673

 
Ciao,che codice devo aggiungere per far apparire gli avvisi di qualsiasi indicatore nell'EA?

Come rilevare gli allarmi tramite iCustom?

Forse conosci degli indicatori/consiglieri già esistenti per questo?
 
RichLux:

Sto scrivendo un EA che lavora sulla base della martingala.

Come posso fare in modo che chiuda tutti i suoi ordini aperti quando viene raggiunta la massima perdita ammissibile in pip su una coppia di valute?

Se ti serve davvero in pip e non in denaro, ecco una funzione da applicare proprio come l'ultima

//===============================================================================================
//------------------ Возвращает суммарный профит открытых позиций в пунктах --------------------+
//===============================================================================================
double GetProfitOpenPosInPoint(string symb="0", int type=-1, int mg=-1) {
double p=0, prb=0, prs=0, pr=0;
  if(symb=="0") { symb=Symbol();}
   for(int i=0; i<OrdersTotal(); i++) {
    if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
     if((OrderSymbol()==symb||symb=="")&&(type<0||OrderType()==type)&&(mg<0||OrderMagicNumber()==mg)) {
       p=MarketInfo(OrderSymbol(), MODE_POINT)*Sign;
        if(OrderType()==OP_BUY) {
          prb+=((MarketInfo(OrderSymbol(), MODE_BID)-OrderOpenPrice())/p);
        }
        if(OrderType()==OP_SELL) {
          prs+=((OrderOpenPrice()-MarketInfo(OrderSymbol(), MODE_ASK))/p);
        }
       pr=prb+prs;
     }
}}
  return(pr);
}
 
greeng2016:
Ciao,che codice devo aggiungere per far apparire gli avvisi di qualsiasi indicatore nell'EA?

Come rilevare gli allarmi tramite iCustom?

Forse conosci degli indicatori/consiglieri già esistenti per questo?
Per quanto ne so, l'aspetto della finestra di avviso non può essere tracciato.
 
Ciao, volevo aprire un file.ex4 con mt4.exe e impostarlo per usarlo per tutti i file. Come faccio a recuperare la "libreria generale di shell di Windows"? Per qualche motivo mt4 non può vedere questo esperto (robot) ora.
File:
pui_mqhrx2.png  40 kb
 
VSEVPOTOLKI:
Ciao, volevo aprire un file.ex4 con mt4.exe e impostarlo per usarlo per tutti i file. Come posso ripristinare la "windows general shell library"? per qualche motivo mt4 non vede questo EA (robot) ora.

Non ci crederete, ma tutti!!! vogliono aprire un file .ex4, il problema è che non è mai stato aperto per la modifica, e non si apre.

I file modificabili sono solo .mq4, i file eseguibili sono .ex4

 

Eventi del terminale del cliente

Init

Subito dopo che il terminale client carica un programma (Expert Advisor o indicatore personalizzato) e inizia l'inizializzazione delle variabili globali, viene inviato un evento Init che viene gestito utilizzando OnInit(), se disponibile. Questo evento viene generato anche dopo un cambio di titolo e/o periodo del grafico, dopo aver ricompilato il programma in MetaEditor, dopo un cambio di parametri di input da un Expert Advisor o da una finestra di impostazione dell'indicatore personalizzato. Anche l'Expert Advisor viene inizializzato dopo il cambio del conto. L'evento Init non viene generato per gli script.


E se non è "fuori dalla finestra"? Per esempio, durante la modalità di ottimizzazione nello Strategy Tester ? Dove leggerlo?

 
Leo59:

Eventi del terminale del cliente

Init

Subito dopo che il terminale client carica un programma (Expert Advisor o indicatore personalizzato) e inizia l'inizializzazione delle variabili globali, viene inviato un evento Init che viene gestito utilizzando OnInit(), se disponibile. Questo evento viene generato anche dopo un cambio di titolo e/o periodo del grafico, dopo aver ricompilato il programma in MetaEditor, dopo un cambio di parametri di input da un Expert Advisor o da una finestra di impostazione dell'indicatore personalizzato. Anche l'Expert Advisor viene inizializzato dopo il cambio del conto. L'evento Init non viene generato per gli script.


E se non è "fuori dalla finestra"? Per esempio, durante la modalità di ottimizzazione nello Strategy Tester ? Dove leggerlo?

In modalità di ottimizzazione, ogni passaggio con nuovi parametri non è altro che un nuovo inizio di programma. L'evento OnInit() viene eseguito di conseguenza dopo l'avvio.
 
Vladimir Karputov:
In modalità di ottimizzazione, ogni passaggio con nuovi parametri non è altro che una nuova esecuzione del programma. Di conseguenza dopo l'avvio passa l'evento OnInit().
(Grazie, Vladimir, lo capisco)). Ma dove è scritto nella documentazione? Se metto Print, Alert e Comment in init(), niente viene mostrato nel log o sullo schermo. Come possiamo essere sicuri di ciò che sappiamo?
 
Leo59:
Grazie Vladimir, lo capisco)). Ma dove sta scritto nella documentazione? Se metto Print, Alert, Comment in init(), non viene scritto nulla né sul giornale né sullo schermo. Come possiamo essere sicuri di ciò che sappiamo?

E per essere sicuri - avviate il debug sulla storia e impostate il breakpoint in OnInit().

 

Non riesco a far stampare() qualcosa nel log del tester. Come si fa?

Motivazione: