Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 510

 

Prepariamoci:

enum ENUM_case
  {
   M=1,// Больше A
   L=2,// Меньше A
   ML=3,//Больше А и меньше Б
   LM=4 //Меньше А или больше Б
  };

struct param
  {
   int               cas; //Case
   double            a; // A
   double            b; //B  
  };
param params[];
double data[3]; //Массив для записи текущих параметров

Definire le variabili

sinput string atata0; //Параметры пробитие 
sinput string atata1; //Объем
input ENUM_case bc1=1; //Логика
input double ba1=1;//A
input double bb1=1;//B
sinput string atata2; //Сделки
input ENUM_case bc2=1;//Логика
input double ba2=1;//A
input double bb2=1;//B
sinput string atata3; //Заявки
input ENUM_case bc3=1;//Логика
input double ba3=1;//A
input double bb3=1;//B

L'idiozia in OnInit si presenta così:

   ArrayResize(params,3);
   params[0].cas=bc1;
   params[0].a=ba1;
   params[0].b=bb1;
   params[1].cas=bc2;
...

Non capisco perché non possiamo scrivere le variabili di input immediatamente in un array o inizializzare un array con delle variabili :(

Da qualche parte all'interno dell'EA, riempiamo l'array di dati ed eseguiamo la funzione di controllo:

bool Conditions()
{
int num=ArraySize(params);
for (int i=0;i<num;i++)
{
switch(params[i].cas) 
{
case 1 : if (!(data[i]>=params[i].a)){return(false);break;}
case 2 : if (!(data[i]<=params[i].a)){return(false);break;}
case 3 : if (!(data[i]>=params[i].a && data[i]<=params[i].b)){return(false);break;}
case 4 : if (!(data[i]<=params[i].a || data[i]>=params[i].b)){return(false);break;}
}
}
return(true);
}

Finora tutto bene. Ci sono opzioni migliori?

 

Ciao!

Non posso comprare il software che mi piace dal mercato (MT4).

Mi sembra di aver fatto tutto correttamente:

Prima ho finanziato il mio conto MQL5.community (via WM),

Poi ho registrato un conto in MT4.


Ma quando ho premuto "compra" o "affitta" (per 1 anno, volevo farlo).

-Non ritiro dal conto finanziato,

E offrire di prendere di nuovo da WM, sostituendo la forma di riempire WM

(e, di conseguenza, offrendo di specificare e la password da Webmoney).


Mi sembrava un po' strano.

-Perché ho depositato il mio conto MQL5.community allora?


Se sai qualcosa, forse è qualcosa che non capisco?


Grazie in anticipo


============

Grazie, non ho aspettato una risposta e l'ho capito da solo. Va bene.

 
Антон:

Prepariamoci:

Definire le variabili

L'idiozia in OnInit si presenta così:

Non capisco perché non possiamo scrivere le variabili di input immediatamente in un array o inizializzare un array con delle variabili :(

Da qualche parte all'interno dell'EA, riempiamo l'array di dati ed eseguiamo la funzione di controllo:

Finora tutto bene. Ci sono opzioni migliori?

A prima vista, tutto sembra andare bene. Con che cosa avete un problema?

Non capisco perché non si possano scrivere le variabili di input direttamente in un array o inizializzare un array con delle variabili :(
L'array può essere inizializzato solo con costanti, perché il codice di inizializzazione viene creato al momento della compilazione e a questo punto i valori delle variabili sono sconosciuti.

Un'altra critica puramente sul design. Avete ENUM_case e usate ancora valori numerici.

 
Alexey Volchanskiy:

A prima vista, tutto sembra a posto. Cosa c'è che non va?

Non capisco perché non si possano scrivere le variabili di input direttamente in un array o inizializzare un array con delle variabili :(
L'array può essere inizializzato solo con costanti, perché il codice di inizializzazione viene creato al momento della compilazione e a questo punto i valori delle variabili sono sconosciuti.

Altri cavilli puramente sul design. Avete ENUM_case e usate ancora valori numerici.

Una volta che è ok, lo perfezionerò. Grazie!
Stamattina ho avuto un po' di problemi, ho pensato che ci potesse essere un operatore complicato per una cosa del genere.

 
vaso55555:

Buona giornata!

Non posso comprare la mia applicazione preferita sul mercato (MT4).

Sembra aver fatto tutto correttamente:

Ho finanziato il mio primo conto MQL5.community (via WM),

Poi ho registrato un conto in MT4.


Ma quando premo "compra" o "affitta" (per 1 anno voglio)

-Non ritiro dal conto finanziato,

E offrire di ritirarsi di nuovo da WM, sostituendo la forma di riempire WM

(e, di conseguenza, mi chiede di inserire anche la mia password di Webmoney)...


Mi sembrava un po' strano...

-E poi perché ho depositato il mio conto MQL5.community?


Se qualcuno lo sa, forse c'è qualcosa che non capisco...


Grazie in anticipo

Si dovrebbe ritirare dal conto interno, almeno l'ho avuto sempre, quando i segnali sottoscritto, ma che il mercato che il segnale l'essenza del pagamento è lo stesso. Sul conto interno ci sono fondi sufficienti per il pagamento sul mercato?
 
Антон:

Quando sarà a posto, lo perfezionerò. Grazie!
Stamattina ho avuto un po' di problemi, ho pensato che ci potesse essere un operatore complicato per una cosa del genere.

Ho sempre detto: non ottimizzare un programma durante lo sviluppo, non perderci tempo. Prima scrivi un algoritmo chiaro, comprensibile e redditizio , e poi, se necessario, ottimizza i colli di bottiglia .
 
Vladimir Zubov:
Dovrebbe essere preso dal conto interno, almeno così è sempre stato quando si sottoscrivono i segnali, ma il mercato e il segnale sono gli stessi. Ho abbastanza soldi sul mio conto interno per pagare sul mercato?
Ho già risolto il problema, grazie.
 

Salve, c'è un modo per determinare il modo di funzionamento del tester in relazione ai prezzi:

- ai prezzi di apertura,
- bue
- tutte le zecche?


 
elibrarius:

Ciao, c'è un modo per determinare il modo di funzionamento del tester in relazione ai prezzi:

- ai prezzi di apertura,
- bue
- tutte le zecche?


Ci sono finestre a discesa appropriate con le modalità.
 
Alexey Volchanskiy:
Ci sono finestre a discesa corrispondenti con le modalità.

Posso impostare la modalità, ma l'Expert Advisor ha bisogno di sapere in quale modalità (in base ai prezzi) è in esecuzione durante il test.

Mi viene in mente solo 1 variante,

se ci fosse solo 1 tick durante una barra, allora sarebbe aperta a prezzi,
se ci fossero 4 tick a 0, 20, 40, 59 secondi - ohlc
altrimenti - tutte le zecche.

Ma temo che ci possano essere delle varianti che coincideranno con la condizione di qualcun altro per determinare il tipo
Forse c'è un'opzione più facile?