Aiuto per la codifica - pagina 96

 

Ciao Mladen,

Voglio tenere traccia di alcune cose nel mio codice, e uno di loro è il numero di operazioni aperte con diversi numeri magici e diversi commenti dalla stessa coppia così sto usando questo codice, da qualche parte all'interno del codice sto facendo un errore come la CPU è al 100% quindi sto cercando di migliorare le mie funzioni. il seguente è uno di loro, si può per favore suggerire una migliore alternativa per il mio metodo

x=OrdersTotal(); xx=x; //-- Count How magic number && comment are open for the same pair for( i=0;i<x;i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if( OrderSymbol() == Sym /*&& OrderCloseTime()==0 */){

TemMagic= OrderMagicNumber(); TemOrdComment= OrderComment(); OrdOpenPrice= OrderOpenPrice(); OrdType= OrderType(); iSameSymTotal++; // count all oopen trades from the same Symbol for( i=0;i<xx;i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if( OrderSymbol() == Sym ){ if ( TemMagic!= OrderMagicNumber())CounTMagic++; if (TemOrdComment!= OrderComment())CounTComment++; }} }}
 
MiniMe:
Ciao Mladen ,

Voglio tenere traccia di alcune cose nel mio codice, e uno di loro è il numero di operazioni aperte con diversi numeri magici e diversi commenti dalla stessa coppia, quindi sto usando questo codice, da qualche parte all'interno del codice sto facendo un errore come la CPU è al 100% quindi sto cercando di migliorare le mie funzioni. il seguente è uno di loro, si può per favore suggerire una migliore alternativa per il mio metodo

x=OrdersTotal(); xx=x; //-- Count How magic number && comment are open for the same pair for( i=0;i<x;i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if( OrderSymbol() == Sym /*&& OrderCloseTime()==0 */){

TemMagic= OrderMagicNumber(); TemOrdComment= OrderComment(); OrdOpenPrice= OrderOpenPrice(); OrdType= OrderType(); iSameSymTotal++; // count all oopen trades from the same Symbol for( i=0;i<xx;i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if( OrderSymbol() == Sym ){ if ( TemMagic!= OrderMagicNumber())CounTMagic++; if (TemOrdComment!= OrderComment())CounTComment++; }} }}[/PHP]

Usiamo un codice come questo (aggiunto qualche commento per chiarire cosa viene memorizzato dove) :

[PHP] string uniques[][4]; ArrayResize(uniques,0);

//

//

// uniques[][0] -> Simbolo

// uniques[][1] -> Numero magico

// uniques[][2] -> Commento

// uniques[][3] -> Numero di occorrenze

// deve essere trasformato in int usando StrToInt()

//

//

for( int i=OrdersTotal()-1; i>=0; i--)

{

OrderSelect(i,SELECT_BY_POS, MODE_TRADES);

bool found=false;

for (int k=ArrayRange(uniques,0)-1; k>=0 && !found; k--)

if (OrderSymbol() == uniques[k][0] && OrderMagicNumber() == StrToInteger(uniques[k][1]) && OrderComment() == uniques[k][2]) { uniques[k][3] = StrToInteger(uniques[k][3])+1; found=true; }

if (!found)

{

k = ArrayRange(uniques,0);

ArrayResize(uniques,k+1);

uniques[k][0] = OrderSymbol();

uniques[k][1] = OrderMagicNumber();

uniques[k][2] = OrderComment();

uniques[k][3] = 1;

}

}

PS: la dimensione dell'array stesso (ArrayRange(uniques,0)) è il numero di combinazioni uniche simbolo + numero magico + commento, e uniques[nn][3] mostra quante occorrenze per quella particolare combinazione ci sono nella coda degli ordini

 

Grazie mille Mladen,

Se voglio dire se ho più di uno scambio che sarebbe if (uniques[1][3] == 1), giusto?

Ma questo non compila, è perché uniques[1][3] è un array di stringhe?

Dovrebbe essere

if (StrToInteger(uniques[1][3])==1) ?

 
MiniMe:
Grazie mille Mladen ,

se voglio dire se ho più di uno scambio che sarebbe if (uniques[1][3] == 1), giusto?

Ma questo non compila, è perché uniques[1][3] è un array di stringhe?

Dovrebbe essere

if (StrToInteger(uniques[1][3])==1) ?

Sì, devi prima convertirlo in un intero. Ma poi la condizione sarebbe: if (StrToInteger(uniques[1][3])>1) e sarebbe per il secondo simbolo trovato + numero magico + commento combinazione unica

 

Ciao Mladen,

Ho questo sequenziale di Demark... ma è sbagliato nella fase di conto alla rovescia.

Questa è la spiegazione esatta dal libro di Jason Perl:

tD Setup vs. tD Sequential countdown

Una volta che TD Setup è completo, TD Countdown può iniziare, dalla chiusura

della barra nove di TD Setup (inclusa), in avanti. La distinzione tra

le due strategie è questa:

- TD Setup confronta la chiusura attuale con la chiusura corrispondente

quattro barre prima,

Mentre

- TD Countdown confronta la chiusura attuale con il minimo di due barre

prima per un potenziale acquisto, e confronta la chiusura attuale con il

alta due barre prima per una potenziale vendita.

Questa relazione di prezzo è un'importante distinzione da TD Setup, perché il mercato deve

perché il mercato deve essere in tendenza perché il TD Countdown identifichi oggettivamente il probabile

punto di esaurimento per un'inversione di tendenza.

Si può iniziare a cercare la prima barra di un TD Buy Countdown

quando un TD Buy Setup è in atto.

Per iniziare il TD Buy Countdown

Dopo che

TD Buy Setup è in atto, cercare l'inizio di un TD Buy Countdown.

Se

la barra nove di un TD Buy Setup ha anche una chiusura inferiore o uguale al minimo di due barre

precedenti

Allora,

La barra nove di un TD Buy Setup diventa la barra uno di un TD Buy Countdown.

Se

Questa condizione non è soddisfatta

Allora

la prima barra del TD Buy Countdown viene posticipata fino a quando non si verifica, e il TD Buy Countdown

continua fino a quando ci sono un totale di tredici chiusure, ognuna delle quali è inferiore o uguale al minimo di due barre prima,

il minimo di due barre prima.

tD Sell countdown

Non appena un TD Sell Setup è in atto, possiamo iniziare a cercare la prima

barra di un TD Sell Countdown; la barra nove di un TD Sell Setup può anche essere la barra

di un TD Sell Countdown se soddisfa le seguenti condizioni.

Requisito per un TD Sell Countdown

Con la barra nove del TD Sell Setup in atto, ci deve essere una chiusura maggiore o

uguale al massimo di due barre prima.

Nella mia immagine potete vedere (per il countdown sell) che la barra n°6 non ha una chiusura superiore al massimo di due barre prima.... quindi è sbagliato!

Per favore, potete correggere questo errore per il countdown buy e sell?

Grazie in anticipo

 

Ho trovato l'errore (la fottuta versione 500 di mt4 non crea i file ex4), ora funziona. Ho provato a cancellare il post, ma non ci sono riuscito

marley60:
ciao,

Spero che possiate aiutarmi con questo. Voglio che i punti (frecce; aqua&giallo) dell'indi nella finestra due appaiano come punti (frecce) sulla chiusura (o alto per segnale di acquisto/basso per segnale di vendita) nella finestra uno (la finestra principale del grafico). Ho provato per ore, ma non sarò mai un codificatore ;-)

 
marley60:
Ho trovato l'errore (la fottuta versione 500 di mt4 non crea i file ex4), ora funziona. Ho provato a cancellare il post, ma non ci sono riuscito

Non preoccuparti del post precedente

Almeno sappiamo di un altro bug nella build 500

 

Ciao a tutti!

Ho messo insieme un video di 3 minuti che spiega il mio problema nel tentativo di essere più conciso e incisivo con la richiesta di aiuto!

Video:2013-06-13_1517 - D.Gilberto's library - dovrebbe spiegarlo chiaramente!

Apprezzerei molto i suggerimenti o l'aiuto di chiunque. In pratica voglio scoprire qual è la barra nel momento in cui tutte le medie mobili si incrociano, fino a quando la barra successiva a questa, torna a toccare la 21 EMA - A questo punto voglio che il mio ordine sia piazzato al massimo/basso di queste barre. L'ordine dovrebbe essere tirato sulla prima barra che chiude oltre il 60 EMA...

Spero che questo non sia troppo di una richiesta e apprezzerei molto che qualche scintilla luminosa mi desse una mano!

Grazie!

 

Codificatori

Mi piace questa semplice strategia basata su RSI nella foto (forse è da TS)

Bella e semplice ma efficace Non c'è bisogno di chiarire di più, un'immagine vale più di mille parole!

E' possibile codificare tali indicatori (candele RSI & oscillatore) per MT4 ? o abbiamo già tali indicatori !

Grazie

File:
 
marley60:
Ho trovato l'errore (la fottuta versione 500 di mt4 non crea i file ex4), ora funziona. Ho provato a cancellare il post, ma non ci sono riuscito

Marley,

Vedi il mio post sotto Metatrader Known Bugs. Io e molti altri abbiamo avuto lo stesso problema

Tzuman

Motivazione: