Aiuto per la codifica - pagina 462

 
wranger:
Ciao mladen, grazie per avermi indicato la giusta direzione. Non so se la mia ultima risposta è passata ma ho appena scaricato questa:

Forex TSD - forex forum - Scarica Angolo di NonLag MA 1.01.mq4

E questo sembra quello che stavo cercando.

Tuttavia ho visto una versione precedente da lì che aveva esattamente quello che avevo in mente però:

https://www.mql5.com/en/forum/173056/page4 (file Forex TSD - forex forum - Download !!! Angolo di media.mq4 )

Purtroppo non funziona più per l'attuale mt4.... è possibile fare una versione MA su grafico di questa Forex TSD - forex forum - Download Angle of NonLag MA 1.01.mq4?

wranger

La versione aggiornata di "angle of average" compatibile con il nuovo mt4 come postato qui: https: //www.mql5.com/en/forum/173056/page5

 

ciao, cosa devo aggiungere al codice dell'indicatore, se voglio vedere il prezzo che ha fatto scattare l'allarme nella finestra di allarme?

 

Ciao Mladen,

Ho intenzione di chiederti un grande favore ..... Puoi per favore cambiare questo codice in un indicatore Mt4 ..... È scritto in linguaggio Amibroker ...

Puoi aiutarmi per favore .... Può essere cambiato in Blu, Rosso, e grigio colore neutro in versione istogramma.

Grazie mille.

*************************************************************

_SECTION_BEGIN("Elder Impulse");

radius = 0.1 * Status("pxheight"); // ottenete l'altezza in pixel del grafico e usate il 45% per il raggio del grafico a torta

textoffset = 0.1 * raggio;

GfxSelectFont("Arial", 9, 500, True );

///////////////////////////////////////////////////

SetChartOptions(0,chartShowArrows|chartShowDates);

EnableTextOutput(False);

// Parametro definito dall'utente per i periodi EMA

EMA_Type = Param("EMA-1, TEMA-2, JMA-3", 2, 1, 3, 1);

EMA_prds = Param("EMA_periodi", 7, 1, 30, 1);

Std_MACD = Param("Standard MACD? No-0, Yes-1", 1, 0, 1, 1);

Plot_fashion = Param("Bar+Arrows-1, Impulse Bars-2", 2, 1, 2, 1);

// Permettere all'utente di definire la posizione e l'altezza della barra settimanale e mensile

WR_P1 = Param("Posizione del nastro settimanale", 5.2, -1000, 1000, 0.1);

WR_P2 = Param("Altezza nastro settimanale", 199, -0.001, 500, 0.1);

// Calcola l'istogramma EMA e MACD

if(EMA_Type == 1)

{

DayEMA = EMA(Close, EMA_prds);

}

se (EMA_Type == 2)

{

DayEMA = TEMA(Close, EMA_prds);

}

Istogramma = MACD() - Segnale();

// Determinare se abbiamo un impulso UP, DOWN o nessuno

Impulse_Up = DayEMA > Ref(DayEMA, -1) AND Histogram > Ref(Histogram, -1);

Impulse_Down = DayEMA < Ref(DayEMA, -1) AND Histogram < Ref(Histogram, -1);

Impulse_None = (NOT Impulse_UP) AND (NOT Impulse_Down);

// Calcolare il MACD settimanale e determinare se in aumento o in diminuzione

TimeFrameSet(inWeekly);

se (Std_MACD == 0)

{

MACD_val = MACD(5, Cool);

Signal_val = Signal(5, 8, 5);

}

else

{

MACD_val = MACD(12, 26);

Signal_val = Signal(12, 26, 9);

}

Hist_in_w = MACD_val - Signal_val;

wh_rising = Hist_in_w > Ref(Hist_in_w, -1);

wh_falling = Hist_in_w < Ref(Hist_in_w, -1);

wh_none = (NOT wh_rising) AND (NOT wh_falling);

TimeFrameRestore();

// Ora otteniamo l'istogramma MACD mensile....

TimeFrameSet(inMonthly);

MACD_val = MACD(5, 8);

Signal_val = Signal(5, 8, 5);

Hist_in_m = MACD_val - Signal_val;

mh_rising = Hist_in_m > Ref(Hist_in_m, -1);

mh_caduta = Hist_in_m < Ref(Hist_in_m, -1);

TimeFrameRestore();

wh_rising = TimeFrameExpand( wh_rising, inWeekly, expandLast );

wh_falling = TimeFrameExpand( wh_falling, inWeekly, expandLast);

wh_none = TimeFrameExpand( wh_none, inWeekly, expandLast);

mh_rising = TimeFrameExpand(mh_rising, inMonthly, expandLast);

mh_falling = TimeFrameExpand(mh_falling, inMonthly, expandLast);

kol = IIf( wh_rising, colorBrightGreen, IIf(wh_falling, colorRed, IIf(wh_none, colorCustom11, colorLightGrey));

mkol = IIf( mh_rising, colorBlue, IIf(mh_falling, colorRed, colorLightGrey));

se (Plot_fashion == 1)

{

}

else

{

bar_kol = IIf(impulse_UP, colorBrightGreen, IIf(impulse_Down, colorRed, colorCustom11));

}

Impulse_State = WriteIf(Impulse_Up, "Bulllish", WriteIf(Impulse_Down, "Bearish", "Neutral"));

GfxTextOut( "IMPULSE STATE = " +Impulse_State, textoffset + 0, 30 );

// Imposta il colore di sfondo per la colonna Impulse Status

Impulse_Col = IIf(Impulse_Up, colorGreen, IIf(Impulse_Down, colorRed, colorGrey40));

bars_in_bull = Min(BarsSince(impulse_none), BarsSince(impulse_down));

bars_in_bear = Min(BarsSince(impulse_up), BarsSince(impulse_none));

bars_in_neut = Min(BarsSince(impulse_down), BarsSince(impulse_up));

// Imposta una singola variabile per mostrare il numero di barre nello stato corrente a seconda di

// lo stato attuale dell'impulso - rialzista, ribassista o neutrale

bars_in_state = IIf(Impulse_Up, bars_in_bull, IIf(Impulse_down, bars_in_bear, bars_in_neut));

//pivot settimanale

k1=-1;

SetChartBkColor(16 ) ;

k=IIf(ParamList("select type", "daily|next day")=="daily",-1,0);

k1=-1;

TimeFrameSet(inDaily);

day_h= LastValue(Ref(H,K));

day_l= LastValue(Ref(L,K));

day_c= LastValue(Ref(C,K));

TimeFrameRestore();

// giorno

WriteVal( StochK(39) - StochK(12) );

GfxSelectFont("Arial", 8 );

_SECTION_END();

Grazie ancora una volta...

 
rpasupathy:
Ciao Mladen,

Ti chiedo un grande favore ..... Puoi per favore cambiare questo codice in un indicatore Mt4 ..... È scritto in linguaggio Amibroker ...

Puoi aiutarmi per favore .... Può essere cambiato in Blu, Rosso, e grigio colore neutro in versione istogramma.

Grazie mille.

*************************************************************

_SECTION_BEGIN("Elder Impulse");

radius = 0.1 * Status("pxheight"); // ottenete l'altezza in pixel del grafico e usate il 45% per il raggio del grafico a torta

textoffset = 0.1 * raggio;

GfxSelectFont("Arial", 9, 500, True );

///////////////////////////////////////////////////

SetChartOptions(0,chartShowArrows|chartShowDates);

EnableTextOutput(False);

// Parametro definito dall'utente per i periodi EMA

EMA_Type = Param("EMA-1, TEMA-2, JMA-3", 2, 1, 3, 1);

EMA_prds = Param("EMA_periodi", 7, 1, 30, 1);

Std_MACD = Param("Standard MACD? No-0, Yes-1", 1, 0, 1, 1);

Plot_fashion = Param("Bar+Arrows-1, Impulse Bars-2", 2, 1, 2, 1);

// Permettere all'utente di definire la posizione e l'altezza della barra settimanale e mensile

WR_P1 = Param("Posizione del nastro settimanale", 5.2, -1000, 1000, 0.1);

WR_P2 = Param("Altezza nastro settimanale", 199, -0.001, 500, 0.1);

// Calcola l'istogramma EMA e MACD

if(EMA_Type == 1)

{

DayEMA = EMA(Close, EMA_prds);

}

se (EMA_Type == 2)

{

DayEMA = TEMA(Close, EMA_prds);

}

Istogramma = MACD() - Segnale();

// Determinare se abbiamo un impulso UP, DOWN o nessuno

Impulse_Up = DayEMA > Ref(DayEMA, -1) AND Histogram > Ref(Histogram, -1);

Impulse_Down = DayEMA < Ref(DayEMA, -1) AND Histogram < Ref(Histogram, -1);

Impulse_None = (NOT Impulse_UP) AND (NOT Impulse_Down);

// Calcolare il MACD settimanale e determinare se in aumento o in diminuzione

TimeFrameSet(inWeekly);

se (Std_MACD == 0)

{

MACD_val = MACD(5, Cool);

Signal_val = Signal(5, 8, 5);

}

else

{

MACD_val = MACD(12, 26);

Signal_val = Signal(12, 26, 9);

}

Hist_in_w = MACD_val - Signal_val;

wh_rising = Hist_in_w > Ref(Hist_in_w, -1);

wh_falling = Hist_in_w < Ref(Hist_in_w, -1);

wh_none = (NOT wh_rising) AND (NOT wh_falling);

TimeFrameRestore();

// Ora otteniamo l'istogramma MACD mensile....

TimeFrameSet(inMonthly);

MACD_val = MACD(5, 8);

Signal_val = Signal(5, 8, 5);

Hist_in_m = MACD_val - Signal_val;

mh_rising = Hist_in_m > Ref(Hist_in_m, -1);

mh_caduta = Hist_in_m < Ref(Hist_in_m, -1);

TimeFrameRestore();

wh_rising = TimeFrameExpand( wh_rising, inWeekly, expandLast );

wh_falling = TimeFrameExpand( wh_falling, inWeekly, expandLast);

wh_none = TimeFrameExpand( wh_none, inWeekly, expandLast);

mh_rising = TimeFrameExpand(mh_rising, inMonthly, expandLast);

mh_falling = TimeFrameExpand(mh_falling, inMonthly, expandLast);

kol = IIf( wh_rising, colorBrightGreen, IIf(wh_falling, colorRed, IIf(wh_none, colorCustom11, colorLightGrey));

mkol = IIf( mh_rising, colorBlue, IIf(mh_falling, colorRed, colorLightGrey));

se (Plot_fashion == 1)

{

}

else

{

bar_kol = IIf(impulse_UP, colorBrightGreen, IIf(impulse_Down, colorRed, colorCustom11));

}

Impulse_State = WriteIf(Impulse_Up, "Bulllish", WriteIf(Impulse_Down, "Bearish", "Neutral"));

GfxTextOut( "IMPULSE STATE = " +Impulse_State, textoffset + 0, 30 );

// Imposta il colore di sfondo per la colonna Impulse Status

Impulse_Col = IIf(Impulse_Up, colorGreen, IIf(Impulse_Down, colorRed, colorGrey40));

bars_in_bull = Min(BarsSince(impulse_none), BarsSince(impulse_down));

bars_in_bear = Min(BarsSince(impulse_up), BarsSince(impulse_none));

bars_in_neut = Min(BarsSince(impulse_down), BarsSince(impulse_up));

// Imposta una singola variabile per mostrare il numero di barre nello stato corrente a seconda di

// lo stato attuale dell'impulso - rialzista, ribassista o neutrale

bars_in_state = IIf(Impulse_Up, bars_in_bull, IIf(Impulse_down, bars_in_bear, bars_in_neut));

//pivot settimanale

k1=-1;

SetChartBkColor(16 ) ;

k=IIf(ParamList("select type", "daily|next day")=="daily",-1,0);

k1=-1;

TimeFrameSet(inDaily);

day_h= LastValue(Ref(H,K));

day_l= LastValue(Ref(L,K));

day_c= LastValue(Ref(C,K));

TimeFrameRestore();

// giorno

WriteVal( StochK(39) - StochK(12) );

GfxSelectFont("Arial", 8 );

_SECTION_END();

Grazie ancora una volta...

Una versione di impulso di sambuco la potete trovare qui: https: //www.mql5.com/en/forum/178416/page20

Oppure puoi andare su questa lista: Elder impluse dato che ci sono già parecchie versioni di questo indicatore

 
marley60:
ciao, cosa devo aggiungere al codice dell'indicatore, se voglio vedere il prezzo che ha attivato l'allarme nella finestra di allarme?

scusate, forse alarm non è inglese e dovrebbe reed "alert".

o ho fatto qualcosa di sbagliato, perché le ultime volte che ho chiesto qualcosa non ho ricevuto alcuna risposta?

 
marley60:
Scusate, forse alarm non è inglese e dovrebbe reed "alert". o ho fatto qualcosa di sbagliato, perché le ultime volte che ho chiesto qualcosa non ho ricevuto alcuna risposta?

Aggiungere qualcosa come DoubleToStr(PriceThatTriggered,_Digits) all'allarme (alertText1,alertText2,...)

 

Salve,

Sto cercando di fare un indicatore che si basa su alto, basso e chiusura di un altro indicatore. I dati di chiusura sono naturalmente disponibili, ma come faccio a catturare il valore più alto e più basso che l'indicatore ha fatto durante una barra specifica? Ho già cercato su internet e ho trovato funzioni come iHigh() e iHighest() ma queste sembrano permettere solo parametri come NULL (simbolo corrente). Sembra che ci sia anche qualcosa come OnCalculate() ma non sono sicuro se i parametri high[], low[] etc diano il massimo dell'indicatore o il simbolo. Qualcuno potrebbe dirmi se mt4 ha un modo per misurare l'alto e il basso dei dati dell'indicatore?

Cordiali saluti,

 
mrcodix:
Ciao,

Sto cercando di fare un indicatore che si basa su alto, basso e chiusura di un altro indicatore. I dati di chiusura sono naturalmente disponibili, ma come faccio a catturare il valore più alto e più basso che l'indicatore ha fatto durante una specifica barra? Ho già cercato su internet e ho trovato funzioni come iHigh() e iHighest() ma queste sembrano permettere solo parametri come NULL (simbolo corrente). Sembra che ci sia anche qualcosa come OnCalculate() ma non sono sicuro se i parametri high[], low[] etc diano il massimo dell'indicatore o il simbolo. Qualcuno potrebbe dirmi se mt4 ha un modo per misurare l'alto e il basso dei dati dell'indicatore?

Cordiali saluti,

high[] e low[] danno i prezzi alti e bassi

Devi usare ArrayMaximum() e ArrayMinimum() per trovare il valore più alto e più basso di qualche indicatore (prima devi memorizzare i valori dell'indicatore in un buffer)

 
mladen:
high[] e low[] danno i prezzi alti e i prezzi bassi Devi usare ArrayMaximum() e ArrayMinimum() per trovare il valore massimo e minimo di qualche indicatore (prima devi memorizzare i valori dell'indicatore in un buffer)

Ciao mladen,

ArrayMaximum() memorizza il valore massimo per barra o il valore massimo dell'intero array? Perché ho bisogno del valore massimo e minimo per ogni barra o elemento successivo nell'array.

Cordiali saluti,

 

Ciao,

ArrayMaximum - Documentazione MQL4

Mi sono informato e sembra che questa funzione restituisca il valore più alto di tutti i valori dell'array. Quello che sto cercando è una funzione che ti dica il valore più alto raggiunto da un indicatore in una barra del timeframe. Come posso registrare questo? Così per esempio l'indicatore X sta formando la barra più recente. Va da 3 a 5 a 4 a 7 e poi quando la barra del timeframe si chiude finisce al valore 2. Il valore più alto che ha raggiunto è 7. Come posso registrare questo valore?

Motivazione: