[ARCHIVIO] Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 3. - pagina 298

 
Croaker:

Saluti a tutti gli intenditori ed esperti lettori di questo thread! E chiunque possa aiutarmi=)

Qual è il modo più semplice e "corretto" per ottenere la periodicità? Cioè, per semplificare, voglio eseguire automaticamente qualche azione ogni 15 minuti.

Nel mio caso, sta salvando un file su disco con alcune statistiche. Ora ho uno script che fa quello che voglio, e sono letteralmente 20 righe di codice. Quindi come faccio a far ripetere queste 20 linee a intervalli? Come ho capito, non ci sono timer in MQL... Ho bisogno di usare un EA che faccia una specie di controllo ogni tick...?

Spero nel vostro aiuto e nei vostri consigli)

Per esempio controlla se c'è una nuova barra al timeframe 15 min.

Oppure ricorda l'ora di inizio e controlla l'ora attuale.

https://docs.mql4.com/ru/dateandtime/TimeCurrent

et=timecurrent();

se (et-bt>15*60) {bt=timecurrent(); caricare i dati}

 
Croaker:

Voglio che una certa azione sia eseguita automaticamente ogni 15 minuti.

datetime save_time;
int tf=15;

start()===============================================

if(save_time!=iTime(0,tf, iBarShift(0,tf,Time[0]))){
        save_time =iTime(0,tf, iBarShift(0,tf,Time[0]));
        Alert("Новая свеча ТФ=" tf);
     }
 
pvm117:

Gli stimati guru non possono aiutare?

pvm117 20.10.2011 18:26

Buon pomeriggio!

Come prima esperienza ho deciso di implementare il seguente algoritmo: posso aspettarmi un forte movimento di mercato verso l'alto o verso il basso in un certo tempo dopo che le linee di Bollinger convergono in uno stretto corridoio. Nel mio Expert Advisor, analizzo lo stato delle linee di Bollinger e quando si avvicinano molto(Delta pips), mettiamo un ordine di vendita pendente nella direzione inferiore (a stepOpen pips sotto la linea inferiore), sperando che il mercato vada improvvisamente in quella direzione. Se il mercato va in un'altra direzione, cancelliamo semplicemente questo ordine.

L'algoritmo funziona in modo instabile, a volte apre due ordini in brevi intervalli, dà costantemente errori OrderSend Error 130 e OrderSend Error 138, e la rimozione degli ordini aperti nel caso il mercato si muova in un'altra direzione non funziona affatto.

Per favore, consigliateci! Grazie!

Per un tester e per non prestare attenzione all'errore 130, non è semplicemente possibile piazzare un ordine stop a questo prezzo.

Poi tocca a voi.

File:
temp_2.mq4  21 kb
 

Ragazzi, sono nuovo, aiutatemi a trovare un bug per favore.

Ho provato a scrivere un indicatore per calcolare il numero di candele ascendenti e discendenti per un certo periodo storico. Ho provato a scrivere un indicatore per questo, ma non appare quando lo metto nella finestra dell'indicatore. Cosa c'è che non va? Ecco il mio codice. Grazie in anticipo.

#proprietà indicator_separate_window
#proprietà indicator_buffers 2
#property indicator_color1 Green
#property indicator_color2 Red

int Wh;
int Bl;
int a[];b[];
extern int History=500;
//+------------------------------------------------------------------+
int init(){
SetIndexBuffer(0,a);
SetIndexBuffer(1,b);
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1);
SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,1);
return(0);}
//+------------------------------------------------------------------+
int deinit(){return(0);}
//+------------------------------------------------------------------+
int start()
{
int CountedBars=IndicatorCounted();
int i=Bars-CountedBars-1;
se (i>History-1) i=History-1;
mentre(i>=0)
{
se (Close[i]>Open[i])Wh++;
se (Close[i]<Open[i])Bl++;
a[i]=Wh;
b[i]=Bl;
i--;
}
return(0);}

 
Ellie:

Ragazzi, sono nuovo, aiutatemi a trovare un bug per favore.

Ho provato a scrivere un indicatore per calcolare il numero di candele ascendenti e discendenti per un certo periodo storico. Ho provato a scrivere un indicatore per questo, ma non appare quando lo metto nella finestra dell'indicatore. Cosa c'è che non va? Ecco il mio codice. Grazie in anticipo.



Sostituire con

int a[],b[];

Vai a

double a[],b[];
 
Oh, grazie, funziona. Non capisco perché deve essere così? Il numero di candele è un numero intero. Potresti spiegare in poche parole, per favore?
 
Ellie:
Oh, grazie, funziona. Non capisco perché deve essere così? Il numero di candele è un numero intero. Potresti spiegare in poche parole, per favore?


Fate attenzione ai tipi di parametri passati alla funzione SetIndexBuffer() .

 
Grazie mille. Voglio dire, ho letto di questa funzione otto volte ieri, ma non mi è arrivata ((((((((
 
Roll:
Se lo correggete ancora un po':
sarebbe meglio...

Sì, grazie, l'ho già notato)))
 
Ellie:
Sì, grazie, l'ho già notato)))
Ci sono donne nei villaggi russi. E questa è una buona cosa.
Motivazione: