[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 4. - pagina 304

 
Roman.:


Questo è se state affittando la vostra capacità (mettendola nel cloud).

Se stai ottimizzando su 1, 2 core e connettendoti ad agenti remoti nel cloud, quei centesimi sono spesi...

Versa un po' di soldi sul tuo conto e vai avanti - OTTIMIZZA!

e i risultati dell'ottimizzazione possono essere messi su MT4?
 
GarKain:
e i risultati dell'ottimizzazione possono essere messi su MT4?


No. I servizi sono solo per i gufi su MQL5. Ho scritto prima - trasferire il gufo a CINQUE... Poi optate per la nuvola e il gioco è fatto...

Vedi i miei post sopra - ottimizzare il codice del gufo, + approcciare l'ottimizzazione in modo intelligente, tutto questo può essere risolto in quattro se i gufi non sono del "regno della fantasia"! :-)

 
ho un fantasy comp. se non voglio lavorare su mt5 i risultati ottimali dei parametri del gufo (ottenuti su mt5) possono entrare in mt4?
 
GarKain:
ho un fantasy comp. se non voglio lavorare su mt5 i risultati ottimali dei parametri del gufo (ottenuti su mt5) possono entrare in mt4?

Certo. Ma è necessario trasferire il codice civetta da MQL4 a MQL5. Leggete l'articolo per aiutarvi.
 
Roman.:

Certo. MA, per farlo è necessario trasferire il codice civetta da MQL4 a MQL5. Leggete l'articolo per aiutarvi.
Capisco cosa deve essere tradotto, grazie.
 
GarKain:
ho un fantasy comp. se non voglio lavorare su mt5 i risultati ottimali dei parametri del gufo (ottenuti su mt5) possono entrare in mt4?

L'ottimalità non dipende dallo strumento. Vai avanti e fallo!
 

Per favore, ditemi perché questo crea elementi vuoti extra nell'array V_Sym, mentre la mia idea è di scrivere solo il valore nella cella se è vuota, o se sono tutti occupati aggiungerne 1 e scriverci dentro.

string V_Sym[3]={""};
int init(){
test(Symbol());
test(Symbol());
return(0);
}
int deinit(){
int a_size=ArraySize(V_Sym);
int i=0;
for(i=0;i<a_size;i++){Print(V_Sym[i]);}
return(0);
}
int start(){return(0);}
//+------------------------------------------------------------------+
int test(string Sy=""){
int i,a_size;
a_size=ArraySize(V_Sym);
i=0;
for(i=0;i<a_size;i++)
{
if(V_Sym[i]!=""&&i==a_size-1)
{
ArrayResize(V_Sym,a_size+1);
V_Sym[i+1]=Sy;
}
if(V_Sym[i]==""){
V_Sym[i]=Sy;
break;
}
}
return(0);
}

Il problema è che il valore della cella vuota non è uguale a "". Ma mi chiedo: a cosa equivale allora? Stampa uscite ""
 
Skydiver:

Per favore, ditemi perché questo crea elementi vuoti extra nell'array V_Sym, mentre la mia idea è di scrivere solo il valore nella cella se è vuota, o se sono tutti occupati, aggiungerne 1 e scriverci dentro.

Il problema risulta essere che il valore dell'elemento vuoto non è uguale a "" quando si inizializza la maschera. Ma mi chiedo: a cosa equivale? Stampa le uscite ""

E ditemi, per favore, perché si azzera una variabile quando si usa questa funzione? È proprio qui:

int test(string Sy=""){
 
Ciao a tutti, potreste per favore consigliarmi come fare in modo che un EA dia solo un'azione (acquisto/vendita/segnale/notifica ecc.) per 1 candela, cioè se c'è un segnale di acquisto, non chiuderà l'acquisto su questa candela, ci dovrebbero essere delle funzioni, per non reinventare la ruota da solo
 
nelisgar:
Ciao a tutti, potreste per favore consigliarmi come fare in modo che l'EA dia solo un'azione (acquisto/vendita/segnale/messaggio ecc.) per 1 candela, cioè se c'è un segnale di acquisto, non chiuderà l'acquisto su questa candela, ci dovrebbero essere alcune funzioni, per non cercare di reinventare la ruota da solo


Dichiariamo una variabile prima della funzione di avvio di EA:

int  myBars; 

Dopo la funzione start(){} dell'EA, scriviamo un sottoprogramma:

//+------------------------------------------------------------------+
//| функция isNewBar() - возвращает признак нового бара                                              |
//+------------------------------------------------------------------+
bool isNewBar(){
  bool res=false;
  if(myBars!=Bars){
    res=true;
    myBars=Bars;
  }   
        return(res);
}
//--------------------------------------------------------------- 

Nella funzione start() di EA usate questa subroutine e questa variabile come segue:

if(isNewBar()==true){
  // это первый тик новой свечи - выпоняем необходимые действия
}