Aiuto per la codifica - pagina 342

 
freakout:
http://www.forexmt4.com/mt_yahoo/Pattern_Hammer_Shooting_Star.mq4 - ma in questo è possibile... So che c'è un modo per risolvere il problema, perché funziona in un indicatore simile, ma qui c'è qualcosa che non va nel codice...

Da quello che vedo, anche quello mostra i pattern con almeno 1 barra di ritardo. Più si va su pattern più complicati (che quell'indicatore non è assolutamente in grado di riconoscere) e più grande è la probabilità che anche il ritardo debba essere maggiore

 
mladen:
Da quello che vedo, anche quello mostra i pattern con almeno 1 barra di ritardo. Più si va verso pattern più complicati (che quell'indicatore non è in grado di riconoscere affatto) e più grandi sono le probabilità che anche il ritardo debba essere maggiore

no, appare immediatamente dopo la chiusura della candela se il valore di shift è uguale a 1 quando shift=2 allora hai un ritardo di 1 barra Ho controllato più volte e l'unico problema nel mio indicatore è che quando cambio shift=2 a shift=1 sposta tutto di 1 candela a destra - non a sinistra, quindi qualcosa non va...

 
freakout:
no, appare immediatamente dopo la chiusura della candela se il valore di shift è uguale a 1 quando shift=2 allora hai un ritardo di 1 barra Ho controllato più volte e l'unico problema nel mio indicatore è che quando cambio shift=2 a shift=1 sposta tutto di 1 candela a destra - non a sinistra, quindi qualcosa non va...

Non so di quale indicatore stai parlando ora

Se stai parlando di quello del link, se dai un'occhiata a questa parte del codice:

shift1 = shift + 1;

shift2 = shift + 2;

shift3 = shift + 3;

shift4 = shift + 4;

Vedrai che (a causa di quella parte "+1" nella prima linea) è sempre in ritardo di almeno 1 barra. Provate a cambiare gli 1,2,3,e 4 in 0,1,2 e 3 (chissà, potrebbe funzionare). Se trovi una parte di codice simile nell'altro prova a fare la stessa cosa anche con quello

 

Ho trovato un bell'indicatore Murrey Math ma quelle linee sullo schermo sono un po' fastidiose e vorrei tagliare quelle linee orizzontali con RAY. Ho provato ad aggiungere "ObjectSet(buff_str, OBJPROP_RAY, false);" ma non ha funzionato.

Quindi forse qualcuno può aiutarmi?

File:
 

Ciao Mladen, grazie per tutto il tuo aiuto in questo forum. Pls può aiutare a far funzionare questo indicatore con l'EA, per comprare, vendere e chiudere le posizioni quando la freccia appare. Ho intenzione di utilizzare le impostazioni dell'indicatore in modalità MTF in un particolare time frame che ha dimostrato di non ridipingere.

Grazie in anticipo.

 

Mladen, non so come risolvere questa situazione.

Aiutami per favore se hai tempo.

Grazie!

For example:

When Buffer = 3, Buffer = 2, Buffer = 1, Buffer = 1, Buffer = 1, Buffer = 1; "max" data is correct.

---------------------------------------------------------------------------------------

int Lines_Break = 3;

int j = i; while (Buffer [j + 1] == Buffer [j + 2]) j ++;

double max = Buffer [ArrayMaximum (Buffer, Lines_Break, j + 1)];

---------------------------------------------------------------------------------------

However, this time when the array becomes: Buffer = 3, Buffer = 2, Buffer = 2, Buffer = 2, Buffer = 2, Buffer = 1; "max" data is wrong.
 
Anyway:
Mladen, non so come risolvere questa situazione.

Aiutatemi per favore se avete tempo.

Grazie!

For example:

When Buffer = 3, Buffer = 2, Buffer = 1, Buffer = 1, Buffer = 1, Buffer = 1; "max" data is correct.

---------------------------------------------------------------------------------------

int Lines_Break = 3;

int j = i; while (Buffer [j + 1] == Buffer [j + 2]) j ++;

double max = Buffer [ArrayMaximum (Buffer, Lines_Break, j + 1)];

---------------------------------------------------------------------------------------

However, this time when the array becomes: Buffer = 3, Buffer = 2, Buffer = 2, Buffer = 2, Buffer = 2, Buffer = 1; "max" data is wrong.

Stai testando solo 3 elementi (elementi Lines_break) e la tua posizione iniziale (espressione j+1) dovrebbe essere i - non c'è bisogno di alterarla. Presumo che in questo caso tu stia lavorando con un buffer, non con un array)

 
mladen:
Stai testando solo 3 elementi (elementi Lines_break) e la tua posizione iniziale (espressione j+1) dovrebbe essere i - non c'è bisogno di alterarla. Presumo che in questo caso tu stia lavorando con il buffer, non con un array)

Come faccio a mettere un Buffer uguale in un'unità?

Per esempio: "Buffer = Buffer = Buffer = Buffer"

 
Anyway:
Come faccio a mettere un Buffer uguale in un'unità? Per esempio: "Buffer = Buffer = Buffer = Buffer"

Comunque

Come vedo dal tuo codice non hai bisogno di questo. State cercando un valore massimo. Se ci sono n valori massimi o uno solo, non importa. L'importante è che il valore massimo sia identificato

 
mladen:
Comunque come vedo dal tuo codice non hai bisogno di questo. Stai cercando un valore massimo. Se ci sono n valori massimi o uno solo, non importa. L'importante è che il valore massimo sia identificato

Bene, proverò un altro approccio.

Grazie

Motivazione: