Author |
Topic |
|
alcor
Nuovo Utente
13 Posts |
Posted - 17 December 2006 : 09:31:54
|
Buongiorno,
Vorrei costruire un esploratore che scatti quando il valore di chiusura corrente è superiore al maggiore dei massimi di N periodi precedenti, come posso fare?
Ho provato con: return close > Max(High(), N) ma non funziona,
Grazie, Alcor
|
|
SupportoTecnico
Forum Admin
1261 Posts |
|
alcor
Nuovo Utente
13 Posts |
Posted - 29 December 2006 : 19:13:44
|
Ho sostituito close con high e poi ho inserito il codice seguente negli indicatori utente:
Function main() endfunction
Function MyMax(Periods as Numeric) As Numeric Dim i as Numeric Dim dMyVal as Numeric dMyVal = 0 For i = 1 to Periods If (High( - i) > dMyVal) then dMyVal = High( - i) EndIf Next i
Return dMyVal
EndFunction
Quando richiamo la funzione MyMax nella formula dell’allarme:
function main()
return Close() > Max(Mymax(), N)
endfunction
non posso inserire il valore di “periods” della funzione MyMax, se lo faccio esce un errore: numero di argomenti errati. Se lascio la formula come sopra l’allarme non è corretto, come devo fare?
Grazie, Alcor
|
|
|
SupportoTecnico
Forum Admin
1261 Posts |
Posted - 29 December 2006 : 19:58:42
|
Non devi utilizzare la funzione "Max"! a che serve se hai già MyMax?
Quindi:
function main()
return Close() > Mymax(N)
endfunction
|
|
|
alcor
Nuovo Utente
13 Posts |
Posted - 30 December 2006 : 11:38:15
|
L’errore “ numero argomenti errato ” rimane anche se scrivo come dici:
function main() return Close() > Mymax(N) endfunction
La funzione Mymax () non accetta nulla come argomento all’interno delle parentesi, né valori numerici né variabili. Mi sono accorto che le funzioni preconfezionate del programma che accettano l’immissione di argomenti appaiono nelle liste indicatori o tools di analisi in questo formato:
Es.: Trendforce (period as numeric) as numeric
Es.: Ad (period as numeric) as numeric
Mentre Mymax appare come:
Mymax () as numeric
Manca appunto l’argomento che non si può inserire.
Grazie, Alcor
|
|
|
SupportoTecnico
Forum Admin
1261 Posts |
Posted - 30 December 2006 : 13:12:41
|
Probabilmente hai scritto male la prima riga della funzione MyMax. Quella giusta è:
Function MyMax(Periods as Numeric) As Numeric
Poi ovviamente quando la utilizzi nella funzione "Main" devi inserire come argomento della funzione MyMax un numero oppure una variabile. Se decidi di inserire una variabile, devi dichiarare questa variabile e assegnarle un valore.
Maaa.... non è che con la funzione MyMax hai creato un indicatore vero?? Se hai fatto questo allora non è la cosa corretta da fare. La funzione MyMax deve essere inserita nello stesso modulo della funzione Main che la utilizza.
|
|
|
|
Topic |
|