Funzione ICustom - pagina 18

 
OneandOnly666:
Ok! Grazie per l'aiuto, ci darò un'occhiata e vedrò di trovare il problema.

quelle due linee sono semplici condizioni di controllo e ci vuole un tempo molto, molto breve per testare quelle due condizioni

ciò che viene fatto dopo quelle linee (o nel resto del codice che dipende da quelle linee) è ciò che causa il rallentamento

 
mladen:
quelle due linee sono semplici condizioni di controllo e ci vuole un tempo molto, molto breve per testare quelle due condizioni ciò che viene fatto dopo quelle linee (o nel resto del codice che dipende da quelle linee) è ciò che causa il rallentamento

Era l'indicatore.

Ho usato invece un indicatore ergodico più semplice e poi ha funzionato.

Grazie per l'aiuto, non l'avrei mai trovato senza la tua assistenza.

//Thomas

 
codersguru:
Ciao homi,

Non ti ho frainteso. Vi ho dato un esempio di lavoro di iCustom.

Comunque, questa è una linea di codice che otterrà il valore di LSMA usando iCustom.

Nota: ho usato LSMA a colori (Lsma)

Alert(iCustom(NULL,0,"LSMA in Color",14,1500,0,0));

parmetro 1:il simbolo - NULLper il simbolo corrente.

parmetro2: time frame - 0 per il time frame corrente.

parmetro3: nome dell'indicatore - qui è"LSMA a colori".

parmetro4: questa è un'impostazione per LSMA - Rperiod= 14.

parmetro5: questa è un'impostazione per LSMA - Draw4HowLongg= 1500.

parmetro 6: il numero di linea (gamma da 0 a 7) - di solito usato 0.

parmetro 7: la barra di lavoro - 0 per la barra attuale.

Per favore provate questa linea di codice e ditemi

Grazie per questo

 

Ciao mladen/mrtools,

C'è un thread specifico per questo tipo di informazioni? Credo che possa giovare ai membri non codificatori di questo sito.

(Rif. post #91 di Forex2006)

Grazie,

Paul

 
tamaraofx:
Re: sezione iCustom di Expert Advisors

Ciao mladen/mrtools,

C'è un thread specifico per questo tipo di informazioni? Credo che possa giovare ai membri non codificatori di questo sito.

(Rif. post #91 di Forex2006)

Grazie,

Paul

Paul

Questi sono solo alcuni possibili modi in cui questi indicatori possono essere utilizzati. Non è possibile "coprire" tutte le possibilità (e combinazioni) di come alcuni valori di indicatori possono essere utilizzati in un EA. Questo è il motivo per cui c'è una funzione iCustom() e quindi possiamo usare gli indicatori come vogliamo (o abbiamo bisogno) in un EA

E ancora meno c'è una sorta di standard su come funzionano gli EA. Quello che potrebbe funzionare in un EA non funzionerà in un altro. Non c'è modo come si può afferrare una certa pace del codice e fare tutti gli EAs lavorare con quella pace del codice.

 

Sì, l'ho notato. Alcuni sono di base, cioè a>b o a>0 e altri complessi. Per quelli di base posso capire e posso sperimentare su alcuni ea. A volte ha funzionato. Ci sono alcuni modelli di ea dove si possono cambiare i codici dei segnali di acquisto/vendita degli indicatori e funziona. Anche se non dico che sia perfettamente redditizio.

Avete così tanti indicatori buoni e ben progettati qui in questo sito. Ma come testare/automatizzare questo in un ea non è molto facile per alcuni membri, me compreso. Come membro qui, sono particolarmente interessato a sapere come quegli indicatori dall'aspetto gradevole si inserirebbero in un modello di ea; quale buffer usare nel codice; quali sono gli operandi e gli operatori da usare; qualcosa del genere.

Sarebbe utile vedere qualcosa come in quel post per la combinazione di codice più basilare per quegli indicatori dall'aspetto gradevole.

È solo un pensiero.

Grazie e cordiali saluti,

Paul

 

se l'indicatore originale 'Dynamic zone MACD dll' in questo caso ha i buffer 0-3 allora il

valore '4' significa un'altra istanza di questo indicatore e dati dal buffer 0 o è un errore di codifica/mismatch?

Krzysztof

SetIndexBuffer(0,macd); SetIndexLabel(0,"MACD");

SetIndexBuffer(1,macs); SetIndexLabel(1,"MACD signal");

SetIndexBuffer(2,bli);

SetIndexBuffer(3,sli);

double FastMacd2 = iCustom(NULL,0,"Dynamic zone MACD dll",MacdFast_Fast,MacdSlow_Fast,1,Fast_MacdSignalMode,Fast_MacdPrice,Fast_DzLookBackBars,Fast_DzStartBuyProbability,Fast_DzStartSellProbability,0,2);

double FastMacd1 = iCustom(NULL,0,"Dynamic zone MACD dll",MacdFast_Fast,MacdSlow_Fast,1,Fast_MacdSignalMode,Fast_MacdPrice,Fast_DzLookBackBars,Fast_DzStartBuyProbability,Fast_DzStartSellProbability,0,1);

double SlowMacd = iCustom(NULL,0,"Dynamic zone MACD dll",MacdFast_Slow,MacdSlow_Slow,1,Slow_MacdSignalMode,Slow_MacdPrice,Slow_DzLookBackBars,Slow_DzStartBuyProbability,Slow_DzStartSellProbability,0,0);

double fast2trigger = iCustom(NULL,0,"Dynamic zone MACD dll",MacdFast_Fast,MacdSlow_Fast,1,Fast_MacdSignalMode,Fast_MacdPrice,Fast_DzLookBackBars,Fast_DzStartBuyProbability,Fast_DzStartSellProbability,4,2);

double fast1trigger = iCustom(NULL,0,"Dynamic zone MACD dll",MacdFast_Fast,MacdSlow_Fast,1,Fast_MacdSignalMode,Fast_MacdPrice,Fast_DzLookBackBars,Fast_DzStartBuyProbability,Fast_DzStartSellProbability,4,1);

double slowtrigger = iCustom(NULL,0,"Dynamic zone MACD dll",MacdFast_Slow,MacdSlow_Slow,1,Slow_MacdSignalMode,Slow_MacdPrice,Slow_DzLookBackBars,Slow_DzStartBuyProbability,Slow_DzStartSellProbability,4,0);

 
fajst_k:
se l'indicatore originale 'Dynamic zone MACD dll' in questo caso ha i buffer 0-3 allora il

il valore '4' significa un'altra istanza di questo indicatore e dati dal buffer 0 o è un errore di codifica/mismatch?

Krzysztof

SetIndexBuffer(0,macd); SetIndexLabel(0,"MACD");

SetIndexBuffer(1,macs); SetIndexLabel(1,"MACD signal");

SetIndexBuffer(2,bli);

SetIndexBuffer(3,sli);

double FastMacd2 = iCustom(NULL,0,"Dynamic zone MACD dll",MacdFast_Fast,MacdSlow_Fast,1,Fast_MacdSignalMode,Fast_MacdPrice,Fast_DzLookBackBars,Fast_DzStartBuyProbability,Fast_DzStartSellProbability,0,2);

double FastMacd1 = iCustom(NULL,0,"Dynamic zone MACD dll",MacdFast_Fast,MacdSlow_Fast,1,Fast_MacdSignalMode,Fast_MacdPrice,Fast_DzLookBackBars,Fast_DzStartBuyProbability,Fast_DzStartSellProbability,0,1);

double SlowMacd = iCustom(NULL,0,"Dynamic zone MACD dll",MacdFast_Slow,MacdSlow_Slow,1,Slow_MacdSignalMode,Slow_MacdPrice,Slow_DzLookBackBars,Slow_DzStartBuyProbability,Slow_DzStartSellProbability,0,0);

double fast2trigger = iCustom(NULL,0,"Dynamic zone MACD dll",MacdFast_Fast,MacdSlow_Fast,1,Fast_MacdSignalMode,Fast_MacdPrice,Fast_DzLookBackBars,Fast_DzStartBuyProbability,Fast_DzStartSellProbability,4,2);

double fast1trigger = iCustom(NULL,0,"Dynamic zone MACD dll",MacdFast_Fast,MacdSlow_Fast,1,Fast_MacdSignalMode,Fast_MacdPrice,Fast_DzLookBackBars,Fast_DzStartBuyProbability,Fast_DzStartSellProbability,4,1);

double slowtrigger = iCustom(NULL,0,"Dynamic zone MACD dll",MacdFast_Slow,MacdSlow_Slow,1,Slow_MacdSignalMode,Slow_MacdPrice,Slow_DzLookBackBars,Slow_DzStartBuyProbability,Slow_DzStartSellProbability,4,0);

Da dove viene questo codice?

Non può accedere al buffer "4" poiché l'indicatore non ce l'ha

 

da qui

.........................

Stavo controllando questo codice e mi sono anche insospettito, ma il compilatore non si lamenta

 
fajst_k:
da qui stavo controllando questo codice e mi sono anche insospettito ma il compilatore non si lamenta

In realtà quello che voglio dire è qual è il sorgente dove vengono usate quelle chiamate iCustom()?

PS: cancellato il link a quel sito (per ovvi motivi)