Non bisogna avere paura della velocità. È solo una condizionalità per la conversione dei tipi. Come variante della funzione di definizione degli angoli:
struct PointPriceTime
{
double price;
datetime time;
PointPriceTime(double p, datetime t) { price=p; time=t; };
void Set(double p, datetime t){ price=p; time=t;};
PointPriceTime(PointPriceTime &p){ price=p.price; time=p.time; };
PointPriceTime() { price=0.0; time=0; };
};
double Angle(PointPriceTime &p1,PointPriceTime &p2) // возвращает угол в градусах в приведенной системе координат price-price, где по оси X
{ // расстояние между x1 и x2 = N*_Point, где N - количество минутных баров во временном промежутке отрезка. staticint tf[9]= {PERIOD_M1,PERIOD_M5,PERIOD_M15,PERIOD_M30,PERIOD_H1,PERIOD_H4,PERIOD_D1,PERIOD_W1,PERIOD_MN1};
int i=0;
while(i<9 && SeriesInfoInteger(_Symbol,tf[i],SERIES_FIRSTDATE)>p1.time)
i++;
if(i==9)
{
Print("Время левой границы вне диапазона исторических данных");
returnDBL_MAX;
}
int bar1 = iBarShift(_Symbol,tf[i],p1.time);
int bar2 = iBarShift(_Symbol,tf[i],p2.time);
if(bar1==bar2)
return0.0;
returnatan((p2.price-p1.price)/((bar1-bar2)*PeriodSeconds(tf[i])*_Point/60))*180/M_PI;
}
Dopo MT5 la sensazione di MT4 è semplicemente terribile. L'accesso alla storia è in qualche modo evirato. Non sto nemmeno parlando delle zecche.
E perché tra un minuto? Perché condurre da qualche parte quando tutto è già stato condotto ai punti per barra molto tempo fa?
questione filosofica. Se prendo in considerazione la frattalità a diversi timeframes, a volte stimo la velocità in barre, ma è piuttosto interessante e arriva allo stesso denominatore. Non è molto utile, ma è ovvio che la velocità è maggiore sui piccoli timeframe.
Sicuramente ha qualcosa, non so come dirlo, un riflesso della dinamica, qualcosa del genere. La struttura dei movimenti è la stessa.
domanda filosofica. Ho cercato di ottenere il massimo, ma ho cercato di ottenere il massimo, e ho cercato di ottenere il massimo. Non vedo alcun valore, ma è ovvio che la velocità su piccoli timeframe è maggiore.
Sicuramente ha qualcosa, non so come dirlo, un riflesso della dinamica, qualcosa del genere. La struttura dei movimenti è la stessa.
Puoi fantasticare come vuoi e su tutto quello che vuoi. Si può anche contare quante volte un camionista è andato a pisciare per ogni viaggio e anche aggiungere questo alla distanza totale e meravigliarsi - oh, è diventato 30 metri più lungo.
Puoi fantasticare su tutto quello che vuoi. Si può anche contare quante volte un camionista ha pisciato per ogni viaggio e aggiungerlo alla distanza totale e meravigliarsi - oh, è 30 metri più lungo.
Io NON possiedo una tale franchezza di pensiero. Sto andando nel modo più difficile. Prima guardo cosa posso misurare, calcolare e solo dopo penso a cosa posso farci.
Domanda: quanto è facile calcolare a sinistra, dalla barra attuale, la fine del corridoio? Il corridoio può essere in cambiamenti relativi di differenza di bassi e alti, e la velocità di bassi e alti può essere calcolata, ma è difficile. Vorrei renderlo più semplice.
La semplicità è un concetto relativo. Semplicità in che senso? La più semplice in termini di implementazione - basta ciclare le ultime battute.
Se più semplice in termini di prestazioni... ci sono molte domande. In questo caso, dovremmo cercare di andare da sinistra a destra, e di essere su ogni barra solo una volta. Se è possibile. Almeno si dovrebbe lottare per questo.
La semplicità è un concetto relativo. Semplice in che senso? La più semplice in termini di implementazione - basta ciclare le ultime battute.
Se più semplice in termini di prestazioni... ci sono molte domande. In questo caso, dovremmo cercare di andare da sinistra a destra, e di essere su ogni barra solo una volta. Se è possibile. Almeno, dovremmo sforzarci di farlo.
È chiaro che dovremmo fare il loop per barre o per estremi. I dati estremi sono disponibili come numero di barra e prezzo. Cosa mettere nella condizione. I corridoi possono essere di diversa larghezza e pendenza. Certo, se è meno largo, saremo nel corridoio, ma è una soluzione di stallo. E non posso farne uno dinamico. Questo è per il primo calcolo, per capire che c'è un corridoio per la barra corrente.
Non penso ancora alle prestazioni e all'ottimizzazione.
È chiaro che ciclicamente attraversa le barre o gli estremi. I dati estremi sono sotto forma di numero di barra e prezzo. Cosa mettere nella condizione. I corridoi possono essere di diversa larghezza e pendenza. Certo, se è meno largo, saremo nel corridoio, ma è una soluzione di stallo. E non posso farne uno dinamico. Questo è per il primo calcolo, per capire che c'è un corridoio per la barra corrente.
Non sto ancora pensando alle prestazioni e all'ottimizzazione.
Possiamo calcolare una regressione lineare per i top e i bottom. La distanza tra i limiti dovrebbe essere misurata rispetto alla deviazione standard.
Si può stimare quanto sia piatto il canale tramite la correlazione dei coefficienti B dei limiti superiore e inferiore. Se tale precisione è richiesta.
La pendenza del canale può anche essere determinata dal coefficiente B.
...
Oppure, si può semplicemente calcolare la media della differenza di due frattali vicini.
Forum sul trading, sistemi di trading automatico e test di strategia
Tutte le domande dei neofiti su MQL4 e MQL5, consigli e discussioni su algoritmi e codici
Nikolai Semko, 2020.10.26 00:34
Non bisogna avere paura della velocità. È solo una condizionalità per la conversione dei tipi.
Come variante della funzione di definizione degli angoli:
Dopo MT5 la sensazione di MT4 è semplicemente terribile. L'accesso alla storia è in qualche modo evirato. Non sto nemmeno parlando delle zecche.
E poi dove andrebbe a finire quell'"angolo"?
E poi dove mettete questo "angolo"?
Portarlo a un punto al minuto, vedere quanto tempo e trarre conclusioni)
Portare a un punto un minuto, vedere quanto tempo e trarre conclusioni)
Qual è il punto tra un minuto? Perché portare da qualche parte quando tutto è già ridotto a punti per barra da molto tempo?
E perché tra un minuto? Perché condurre da qualche parte quando tutto è già stato condotto ai punti per barra molto tempo fa?
questione filosofica. Se prendo in considerazione la frattalità a diversi timeframes, a volte stimo la velocità in barre, ma è piuttosto interessante e arriva allo stesso denominatore. Non è molto utile, ma è ovvio che la velocità è maggiore sui piccoli timeframe.
Sicuramente ha qualcosa, non so come dirlo, un riflesso della dinamica, qualcosa del genere. La struttura dei movimenti è la stessa.
domanda filosofica. Ho cercato di ottenere il massimo, ma ho cercato di ottenere il massimo, e ho cercato di ottenere il massimo. Non vedo alcun valore, ma è ovvio che la velocità su piccoli timeframe è maggiore.
Sicuramente ha qualcosa, non so come dirlo, un riflesso della dinamica, qualcosa del genere. La struttura dei movimenti è la stessa.
Puoi fantasticare come vuoi e su tutto quello che vuoi. Si può anche contare quante volte un camionista è andato a pisciare per ogni viaggio e anche aggiungere questo alla distanza totale e meravigliarsi - oh, è diventato 30 metri più lungo.
Puoi fantasticare su tutto quello che vuoi. Si può anche contare quante volte un camionista ha pisciato per ogni viaggio e aggiungerlo alla distanza totale e meravigliarsi - oh, è 30 metri più lungo.
Io NON possiedo una tale franchezza di pensiero. Sto andando nel modo più difficile. Prima guardo cosa posso misurare, calcolare e solo dopo penso a cosa posso farci.
Domanda: quanto è facile calcolare a sinistra, dalla barra attuale, la fine del corridoio? Il corridoio può essere in cambiamenti relativi di differenza di bassi e alti, e la velocità di bassi e alti può essere calcolata, ma è difficile. Vorrei renderlo più semplice.
La semplicità è un concetto relativo. Semplicità in che senso? La più semplice in termini di implementazione - basta ciclare le ultime battute.
Se più semplice in termini di prestazioni... ci sono molte domande. In questo caso, dovremmo cercare di andare da sinistra a destra, e di essere su ogni barra solo una volta. Se è possibile. Almeno si dovrebbe lottare per questo.
La semplicità è un concetto relativo. Semplice in che senso? La più semplice in termini di implementazione - basta ciclare le ultime battute.
Se più semplice in termini di prestazioni... ci sono molte domande. In questo caso, dovremmo cercare di andare da sinistra a destra, e di essere su ogni barra solo una volta. Se è possibile. Almeno, dovremmo sforzarci di farlo.
È chiaro che dovremmo fare il loop per barre o per estremi. I dati estremi sono disponibili come numero di barra e prezzo. Cosa mettere nella condizione. I corridoi possono essere di diversa larghezza e pendenza. Certo, se è meno largo, saremo nel corridoio, ma è una soluzione di stallo. E non posso farne uno dinamico. Questo è per il primo calcolo, per capire che c'è un corridoio per la barra corrente.
Non penso ancora alle prestazioni e all'ottimizzazione.
È chiaro che ciclicamente attraversa le barre o gli estremi. I dati estremi sono sotto forma di numero di barra e prezzo. Cosa mettere nella condizione. I corridoi possono essere di diversa larghezza e pendenza. Certo, se è meno largo, saremo nel corridoio, ma è una soluzione di stallo. E non posso farne uno dinamico. Questo è per il primo calcolo, per capire che c'è un corridoio per la barra corrente.
Non sto ancora pensando alle prestazioni e all'ottimizzazione.
Possiamo calcolare una regressione lineare per i top e i bottom. La distanza tra i limiti dovrebbe essere misurata rispetto alla deviazione standard.
Si può stimare quanto sia piatto il canale tramite la correlazione dei coefficienti B dei limiti superiore e inferiore. Se tale precisione è richiesta.
La pendenza del canale può anche essere determinata dal coefficiente B.
...
Oppure, si può semplicemente calcolare la media della differenza di due frattali vicini.