Come aggiornare gli indicatori per Build 600+? - pagina 4

 
qjol:
stai scherzando naturalmente ha funzionato


Sì, ora funziona.

Ho usato l'ultima versione con tutti i 10 parametri e ora funziona.

Grazie.

BTW, non ho ancora capito perché la versione più vecchia con 7 parametri non funzionava!

Come nell'immagine sopra, quell'indicatore ha 8 parametri esterni. Qui 'TimeFrame' è stato definito come '0' prima della stringa "xpMA".

Poi ho dichiarato il resto dei 7 parametri come sotto:

double  signal = iCustom(NULL,0,"xpMA",MA_Period,MA_Type,MA_Applied ,T3MA_VolumeFactor,JMA_Phase,Step_Period,DebugMode,3,0); 

Quindi, dove ho fatto l'errore, per favore indica.

Saluti

 
deysmacro:

Deve imparare dagli errori comuni.

Grazie per il supporto e la comprensione :)
 
Arav007:


BTW, non ho ancora capito perché la versione precedente con 7 parametri non funzionava!

Come nell'immagine sopra, questo indicatore ha 8 parametri esterni. Qui 'TimeFrame' è stato definito come '0' prima della stringa "xpMA".

Poi ho dichiarato il resto dei 7 parametri come sotto:

Quindi dove ho fatto l'errore per favore indicare.


Lasciatemi dire di nuovo che usando iCustom dovete passare i parametri corrispondenti all'ordine di dichiarazione


I parametri passati e il loro ordine devono corrispondere all'ordine di dichiarazione e al tipo di variabili esterne dell'indicatore personalizzato. Se i valori dei parametri passati non sono specificati, verranno utilizzati i valori di default.

NON è possibile saltare un parametro

esempio se un indicatore personalizzato ha 5 parametri puoi usarlo così:

double x = iCustom (Symbol(), Period(), "Name", Param1, Param2, Param3, mode, shift);

ma non potete usarlo in questo modo:

double x = iCustom (Symbol(), Period(), "Name", Param2, Param3, Param4, mode, shift);
 
qjol:


Ripeto che usando iCustom dovete passare i parametri corrispondenti all'ordine di dichiarazione

NON si può saltare un parametro

esempio se un indicatore custom ha 5 parametri puoi usarlo così:

ma non puoi usarlo in questo modo:



Questo è ciò che sto sbagliando e che non riesco a identificare.

Ok, ecco come ho assegnato i parametri:

Param1=MA_Periodo

Param2=MA_Tipo

Param3=MA_Applicato

Param4=T3MA_VolumeFactor

Param5=JMA_Phase

Param6=Step_Period

Param7=DebugMode

Ora quale di questi è sbagliato?

Saluti

 

hai saltato il primo "TimeFrame"



 
qjol:


hai saltato il primo "TimeFrame"




ohh, allora questo è il caso.

Se salto uno dei parametri esterni non funziona.

Ma l'ho saltato consapevolmente perché dovrebbe funzionare con il time frame corrente che è definito all'inizio:

iCustom(Null, 0, Param1,...)

Ecco perché ho pensato che non c'è bisogno di definirlo di nuovo come 'TimeFrame'.

Grazie per la correzione.

 
Arav007:


ohh, allora questo è il caso.

Se mi manca uno dei parametri esterni non funziona.

No, si può sbagliare, ma non si può saltare, cioè se ci sono 5 parametri e si lasciano gli ultimi 2 non c'è problema

ma non puoi saltare 1 e usare 2 3 4 5

Ma l'ho saltato consapevolmente perché dovrebbe funzionare con il time frame corrente che è definito all'inizio:

iCustom(Null, 0, Param1,...)

Sì, ma il terminale non sa cosa contiene questo parametro, può contenere qualsiasi cosa (non necessariamente il time frame)

Ecco perché ho pensato che non c'è bisogno di definirlo di nuovo come 'TimeFrame'.

non pensare, agisci! ;-)

Grazie per la correzione.

Motivazione: