Errori, bug, domande - pagina 1142

 
ierehon:

Ciao a tutti!

Domanda, come rendere un valore variabile aggiornato su ogni tick durante un minuto, e poi questa somma è scritta in un valore separato, quando il minuto successivo si chiude, il valore della somma è sostituito da quello nuovo?

Leggete l'articolo! E anche altri.

Come esempio per il tuo algoritmo, ho abbozzato un indicatore "tick counter". Se assegnate il valore necessario alla variabile b ad ogni tick, otterrete ciò che avete chiesto.

File:
TickSum.mq5  4 kb
 
AMigVRN

Grazie per l'articolo e l'indicatore! Me ne occuperò.


 
harbor:

persone, che mi possono dire come in mql5 per calcolarela quantità di fondi liberi necessari per aprire 1 lotto di qualche simbolo

So come farlo in mql4, ma in mql5 non lo trovo

double marg;
OrderCalcMargin(ORDER_TYPE_BUY, sym, 1, tick.ask, marg);
 
I video di Youtube non sono inseriti con HTTPS.
 
MigVRN:

1) Non creare indicatori su ogni tick!

2) Controllare se l'indicatore è creato o no, prima di accedere ai suoi valori.

3) Controllare se i valori richiesti vengono copiati dall'indicatore.

4) Cancellare sempre la parte di calcolo dell'indicatore dopo il completamento dell'esperto, altrimenti potrebbe a un certo punto esaurire la RAM.

Il problema è dovuto al fatto che hai cercato di copiare i valori dall'indicatore che non è stato ancora creato. Fate una regola: controllate il risultato delle funzioni che state chiamando.

Grazie, ho capito!

Ma cambio i parametri d'ingresso degli indicatori BP_var_s, BDev_var_s e MA_var_s "man mano che andiamo avanti". Cosa fare in questo caso? Creare e cancellare ogni volta secondo....

 
Alvin1976:

Grazie, ho capito!

Solo io cambio i parametri di ingresso degli indicatori BP_var_s, BDev_var_s e MA_var_s "man mano". Cosa fare in questo caso? Creare e cancellare ogni volta secondo....

Ci sono diverse opzioni qui:

1) I parametri degli indicatori cambiano nel tempo secondo alcuni criteri (condizioni). Pertanto, non c'è bisogno di ricreare le maniglie ad ogni tick. Controllare la condizione e, se è soddisfatta, ricrearla.

Supponiamo che la condizione sia che un evento "nuova barra" si verifichi su un timeframe di un minuto. Gli esempi della definizione di un evento "nuovo bar" sono molti - cerca sul sito web. Questa variante mi piace di più.

2) Se è ancora necessario su ogni tick - aspettare la fine del controlloCopyBuffer() nel ciclo (usando sleep()). Ma molto probabilmente le zecche saranno saltate. In alternativa - per calcolare i tick non per l'intera storia, ma per le ultime due centinaia di barre (per entrare nel codice degli indici standard e per correggere il codice) - salterà meno tick.

 

Si è verificato un altro problema.

long Min_Dist;

bool Inf=(SymbolInfoInteger(Symbol(),SYMBOL_TRADE_STOPS_LEVEL,Min_Dist));
      if (Inf=true) Print("      mindist=", DoubleToString(Min_Dist)); 

La variabile Min_Dist nel tester dà sempre zero. Non l'ho ancora controllato nel mercato dal vivo.

Perché zero? Si legge con successo.....

 
Alvin1976:

Si è verificato un altro problema.

La variabile Min_Dist nel tester dà sempre zero. Non l'ho ancora controllato nel mercato dal vivo.

Perché zero? Si legge con successo.....

Prova così:
long Min_Dist;

Min_Dist=(SymbolInfoInteger(Symbol(),SYMBOL_TRADE_STOPS_LEVEL);
      //if (Inf=true) Print("      mindist=", DoubleToString(Min_Dist)); 
Controlla il valore reale di SYMBOL_TRADE_STOPS_LEVEL
 
barabashkakvn:
Prova questo: controlla il valore attuale di SYMBOL_TRADE_STOPS_LEVEL

È la stessa cosa. Zero. :(.

Nel tester.

Controllerò al mercato lunedì.

L'ho capito. Questo è il problema del commerciante. E non solo uno :-). Non l'ho capito subito perché google non ha dato niente di utile su SYMBOL_TRADE_STOPS_LEVEL ma MODE_STOPLEVEL ha dato molte informazioni.

Userò SYMBOL_SPREAD.

 
Roffild:
I video di Youtube non sono inseriti con HTTPS.
Perché Youtube ha HTTPS? Ecco il solito codice per il video -http://youtu.be/KG0PIVuJ2kU
Motivazione: