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

 
double func(double x1=0, double x2=0, ну и далее сколько надо аналогично, double x20=0)
{
   double s=0; int k=0;
   if(x1 != 0) { s+=x1; k++; }
   if(x2 != 0) { s+=x2; k++; }
ну и далее сколько надо аналогично
   if(x20 != 0) { s+=x20; k++; }
   if(!k)return 0;

   double rez=s/k;
   Alert("Количество = ", k, "   Результат = ", rez);
   return rez;
}
 
STARIJ:
In questo caso, la media di tutti i valori trasmessi non può essere calcolata
 
Artyom Trishkin:

Se l'insieme e il numero di numeri non sono noti in anticipo, non ci sono abbastanza funzioni per ogni nuovo insieme.

Vedo che ci sono stati di nuovo molti malintesi.

Forum sul trading, sistemi di trading automatico e test di strategia

Tutte le domande dei neofiti su MQL4, aiuto e discussione su algoritmi e codici

RomanRott, 2018.01.05 11:56


Ho bisogno di passare diversi parametri a una funzione, ma in diverse situazioni ho bisogno di passare un numero diverso, conosciuto in anticipo
e poi elaborare questi parametri nella funzione

In C, per esempio, è implementato in questo modo

int func(int a, int b, ...)
E siamo in competizione con i membri del club dei telepati come al solito...
 
Alexey Viktorov:

C'è di nuovo molta confusione, per come la vedo io.

E come sempre siamo in competizione con i membri del club telepatico...
Beh, ad essere onesti, non ho ancora capito il compito da svolgere. Molte convenzioni sono astratte, che non indovinereste da soli.
Se i numeri sono noti in anticipo, è una cosa. Nessuno sa quanti sono, e questo determina l'approccio alla soluzione.
 
Alexey Viktorov:

Mi sembra che si tratti di nuovo di malintesi.

E siamo in competizione con i membri del club telepatico come al solito...

Io personalmente finirò il mio caffè, cercare di indovinare sui fondi di caffè, e il codice (o almeno un pezzo di esso) come tale ci sembra di non vedere, in modo che fosse più chiaro per ballare con =)

 

È successo qualcosa...

void OnTick()
  {
     int num = MathRand()%10+1;
     double bars[];
     if( CopyOpen( Symbol(), 0, 0, num, bars ) == num )
          func((int)SymbolInfoInteger(Symbol(), SYMBOL_DIGITS), bars);
  }

int func(int digit, double &array[])
  {
     int num = 0;
     for(int i=0; i<ArraySize(array); i++)
     {
          /* что-то делаем */
     }
     return(num);
  }

Anche se questa opzione ti è stata offerta molto tempo fa, forse la visibilità ti aiuterà.

 

Buona giornata a tutti. Potreste per favore dirmi quale può essere il problema.

Sto testando un Expert Advisor nel tester MT4, scaricato dal sito di Alpari. Ieri tutto era OK, ma oggi MetaEditor smette improvvisamente di compilare il codice (non inizia il processo di compilazione).

Dopo aver cliccato sul pulsante di compilazione, non succede nulla. Il pulsante rimane nello stato depresso. Cerco di chiudere l'editor... il cursore si trasforma in un orologio e l'editor dice NO RESPONSE, ma l'editor non si chiude. Non si chiude nemmeno tramite Task Manager. Riavvio del computer - tutto è esattamente lo stesso.

Ho installato un altro terminale dal sito di Alpari e ho aperto MetaEditor. Ho provato a compilare l'EA integrato. È lo stesso .... Non si compila con o senza errori. L'editor si blocca.

Sto usando il sistema operativo XP.

Grazie per il vostro aiuto.

 

XP, o amorevolmente Hrusha, è una cosa del passato. Necessità di un nuovo investimento in un nuovo computer, un nuovo sistema operativo, un nuovo pensiero

 
STARIJ:

XP, o amorevolmente Hrusha, è una cosa del passato. Necessità di un nuovo investimento in un nuovo computer, un nuovo sistema operativo, un nuovo pensiero

Ma perché ieri ha compilato bene. Oggi si è fermato. Non ho aggiornato il terminale. Non avevo nemmeno una connessione al server e non ce l'ho.
 

Saluti. Potete per favore dirmi comecreare un oggetto grafico (come i livelli di Fibonacci integrati nel terminale mt4) costruito da un gruppo di oggetti grafici (come linee, cerchi, ecc.)