Aiuto per la codifica - pagina 562

 

Привет ! Помогите с индикатором ,не показывает peleng и выдает ошибки . Спасибо .

 
CaptureBeta:
Ciao, controlla se l'allegato funziona bene per te. Ho modificato il codice dell'indicatore e l'ho verificato nella piattaforma di trading del mio broker (Alpari). Non mostra alcun errore dopo la compilazione. Ho cambiato il nome dell'indicatore (aggiungendo una parola 'nuovo' tra parentesi) per evitare confusioni.

Ciao,

prima di tutto grazie per il tuo aiuto....

puoi allegare la schermata di stampa del tuo input per vedere il Pentagono, per esempio, sul grafico 1H di eurusd?

Non so quale impostazione devo mettere nella finestra dell'indicatore per vedere il pentagono... vedo solo un sacco di linee di tendenza.....

Carbonio

 
mladen:

Grande essere

Lo controllerò per vedere cosa sta succedendo sul mio terminale

mladen,

Come sta andando?

È davvero importante per noi. (Io e coloro che hanno bisogno della mia HeatMap).

Grande Essere

 

Ciao,

Sono nuovo con mql4 e la codifica in generale, quindi qualcuno degli esperti può aiutarmi con i seguenti due dilemmi.

Ho bisogno di aggiungere una freccia e un allarme quando il prezzo viola una MA dall'alto, ma dovrebbe ridipingere come quando il prezzo non chiude sotto la MA per scomparire di nuovo.

Disegna la freccia e l'allarme per la candela 0 quando la viola, ma l'allarme continua per tutto il tempo in cui la barra è aperta.

Come posso fare per avvisare solo quando la freccia viene disegnata, e non ad ogni tick.

Ho provato quanto segue.

if(i==1 && SoundAlert)Alert(_Symbol, _Period," Sell Alert"); oppure if(i==0 && SoundAlert)Alert(_Symbol, _Period," Sell Alert"); .... i = 0 nel ciclo for Ma continua ad avvisare ad ogni tick. Poi la mia seconda query: Vorrei anche sapere, come nell'esempio precedente, se il prezzo chiude sopra una MA e ci rimane, ma dopo x barre chiude di nuovo sotto per darmi un allarme. Quello che mi piacerebbe aiutare è come faccio a specificare le x barre indietro quando il prezzo chiude di nuovo sotto la MA. Voglio solo guardare tra 1-4 barre indietro che il prezzo era sopra la MA e poi quando la barra corrente ha chiuso sotto la MA dovrebbe dare un allarme. Da dove comincio, cosa dovrei guardare? Penso che la logica sia qualcosa come segue: if((Close [i+1] && Close[i+2]&&Close[i+3]) > MA && Close <MA) ma invece come questa linea con il ROSSO, ho bisogno di poter selezionare nell'input quante barre indietro guardare e dovrebbe regolare questa logica di conseguenza. cioè: if(Close[range selected]>MA && Close<A) Qualsiasi aiuto e direzione è apprezzato.

 
bokFX:
Ciao,

Sono nuovo con mql4 e la codifica in generale, quindi qualcuno degli esperti può aiutarmi con i seguenti due dilemmi.

Ho bisogno di aggiungere una freccia e un allarme quando il prezzo viola una MA dall'alto, ma dovrebbe ridipingere come quando il prezzo non chiude sotto la MA per scomparire di nuovo.

Disegna la freccia e l'allarme per la candela 0 quando la viola, ma l'allarme continua per tutto il tempo in cui la barra è aperta.

Come posso fare per avvisare solo quando la freccia viene disegnata, e non ad ogni tick.

Ho provato quanto segue.

if(i==1 && SoundAlert)Alert(_Symbol, _Period," Sell Alert"); oppure if(i==0 && SoundAlert)Alert(_Symbol, _Period," Sell Alert"); .... i = 0 nel ciclo for Ma continua ad avvisare ad ogni tick. Poi la mia seconda query: Vorrei anche sapere, come nell'esempio precedente, se il prezzo chiude sopra una MA e ci rimane, ma dopo x barre chiude di nuovo sotto per darmi un allarme. Quello che mi piacerebbe aiutare è come faccio a specificare le x barre indietro quando il prezzo chiude di nuovo sotto la MA. Voglio solo guardare tra 1-4 barre indietro che il prezzo era sopra la MA e poi quando la barra corrente ha chiuso sotto la MA dovrebbe dare un allarme. Da dove comincio, cosa dovrei guardare? Penso che la logica sia qualcosa come segue: if((Close [i+1] && Close[i+2]&&Close[i+3]) > MA && Close <MA) ma invece come questa linea con il ROSSO, ho bisogno di poter selezionare nell'input quante barre indietro guardare e dovrebbe regolare questa logica di conseguenza. cioè: if(Close[range selected]>MA && Close<A) Qualsiasi aiuto e direzione è apprezzato.

Usa qualcosa del genere:

static datetime lastAlertedAt = 0;

if (Time[0]!=lastAlertedAt)

{

lastAlertedAt = Time[0]

...

il resto del codice di allerta

}

 

15-11-2015, 22:01

Привет! Помогите с индикатром, не показывает Пеленг и выдает ошибки. Спасибо. Вложения

 

Originariamente inviato da mladen View Post

Grande essere

Lo controllerò per vedere cosa sta succedendo sul mio terminale

Big Be:

mladen,

Come sta andando?

È davvero importante per noi. (Io e coloro che hanno bisogno della mia HeatMap).

Grande essere

Non potevo lasciar perdere. Con un sacco di dichiarazioni Comment, una alla volta, e giocando al detective per ore, ho capito la fonte del problema.

Sembra che non ci sia nulla di sbagliato negli array multidimensionali. Avevo impostato la dimensione dell'array al numero di coppie che stavo usando. Doveva essere il numero di coppie e di elementi che il broker aveva a disposizione. La prima configurazione che ho usato (server Metaquotes) aveva solo 26 coppie. Quindi ha funzionato. Ma altri ne hanno di più. Uno ne ha 285. L'array deve adattarsi a questo.

NUOVO PROBLEMA: qual è il formato corretto per ridimensionare un array multidimensionale? So che si può ridimensionare solo la prima dimensione. Ma quando uso questo il programma si ferma, sia che lo metta in start() o init() anche se ArraySize dà la dimensione corretta dopo il ridimensionamento:

ArrayResize(AlertsFoundII, size);

o

ArrayResize(AlertsFoundII, 285);

Grande essere

 

Ho provato qualcosa, per intuizione. Se inizializzo l'array senza un primo valore come questo: bool AlertsFoundII[][4][4]; e poi ridimensiono l'array in seguito usando il valore calcolato (variabile), funziona bene.

Grande essere

 
Big Be:
Originariamente inviato da mladen Visualizza l'articolo

Grande essere

Lo controllerò per vedere cosa sta succedendo sul mio terminale

Non potevo lasciar perdere. Con un sacco di dichiarazioni di commento, una alla volta, e giocando al detective per ore, ho capito la fonte del problema.

Sembra che non ci sia nulla di sbagliato negli array multidimensionali. Avevo impostato la dimensione dell'array al numero di coppie che stavo usando. Doveva essere il numero di coppie e di elementi che il broker aveva a disposizione. La prima configurazione che ho usato (server Metaquotes) aveva solo 26 coppie. Quindi ha funzionato. Ma altri ne hanno di più. Uno ne ha 285. L'array deve adattarsi a questo.

NUOVO PROBLEMA: qual è il formato corretto per ridimensionare un array multidimensionale? So che si può ridimensionare solo la prima dimensione. Ma quando uso questo il programma si ferma, sia che lo metta in start() o init() anche se ArraySize dà la dimensione corretta dopo il ridimensionamento:

ArrayResize(AlertsFoundII, size);

o

ArrayResize(AlertsFoundII, 285);

Grande essere

Deve funzionare usando entrambi i modi (sto usando array di 2 dimensioni che vengono ridimensionati dinamicamente tutto il tempo, e funziona bene)

 
bokFX:
Ciao,

Sono nuovo con mql4 e la codifica in generale, quindi qualcuno degli esperti può aiutarmi con i seguenti due dilemmi.

Ho bisogno di aggiungere una freccia e un allarme quando il prezzo viola una MA dall'alto, ma dovrebbe ridipingere come quando il prezzo non chiude sotto la MA per scomparire di nuovo.

Disegna la freccia e l'allarme per la candela 0 quando la viola, ma l'allarme continua per tutto il tempo in cui la barra è aperta.

Come posso fare per avvisare solo quando la freccia viene disegnata, e non ad ogni tick.

Ho provato quanto segue.

if(i==1 && SoundAlert)Alert(_Symbol, _Period," Sell Alert"); oppure if(i==0 && SoundAlert)Alert(_Symbol, _Period," Sell Alert"); .... i = 0 nel ciclo for Ma continua ad avvisare ad ogni tick. Poi la mia seconda query: Vorrei anche sapere, come nell'esempio precedente, se il prezzo chiude sopra una MA e ci rimane, ma dopo x barre chiude di nuovo sotto per darmi un allarme. Quello che mi piacerebbe aiutare è come faccio a specificare le x barre indietro quando il prezzo chiude di nuovo sotto la MA. Voglio solo guardare tra 1-4 barre indietro che il prezzo era sopra la MA e poi quando la barra corrente ha chiuso sotto la MA dovrebbe dare un allarme. Da dove comincio, cosa dovrei guardare? Penso che la logica sia qualcosa come segue: if((Close [i+1] && Close[i+2]&&Close[i+3]) > MA && Close <MA) ma invece come questa linea con il ROSSO, ho bisogno di poter selezionare nell'input quante barre indietro guardare e dovrebbe regolare questa logica di conseguenza. cioè: if(Close[range selected]>MA && Close<A) Qualsiasi aiuto e direzione è apprezzato.

Grazie per le informazioni Mladen, farò una prova con l'allarme.

Vorrei anche sapere, come nell'esempio sopra, se il prezzo chiude sopra una MA e ci rimane, ma dopo x barre chiude di nuovo sotto per darmi un allarme. Quello con cui vorrei un aiuto è come faccio a specificare le x barre indietro quando il prezzo chiude di nuovo sotto la MA. Voglio solo guardare tra 1-4 barre indietro che il prezzo era sopra la MA e poi quando la barra corrente ha chiuso sotto la MA dovrebbe dare un allarme. Da dove comincio, cosa dovrei guardare? Penso che la logica sia qualcosa come segue: if((Close [i+1] && Close[i+2]&&Close[i+3]) > MA && Close <MA) ma invece come questa linea con il ROSSO, ho bisogno di poter selezionare nell'input quante barre indietro guardare e dovrebbe regolare questa logica di conseguenza. cioè: if(Close[range selected]>MA && Close<A) Qualsiasi aiuto e direzione è apprezzato.