Aiuto per la codifica - pagina 10

 

Allarme e-mail RSI

Ciao programmatori,

vi sarei davvero grato se qualcuno potesse aggiungere un allarme email per completare l'allarme esistente. Dovrebbe inviare solo un'email durante la barra del prezzo corrente quando il livello RSI viene colpito per la prima volta (in modo da non essere sommerso da email se salta su e giù durante la barra del prezzo). Ho zero conoscenze di programmazione mql, quindi qualsiasi aiuto sarebbe fantastico.

tutto il meglio,

malcolm

File:
rsi_alert.mq4  3 kb
 
m1nich:
Ciao programmatori,

davvero grato se qualcuno potesse aggiungere un avviso via email per completare l'avviso esistente. Dovrebbe inviare solo un'email durante la barra del prezzo corrente quando il livello RSI viene colpito per la prima volta (così non vengo sommerso dalle email se salta su e giù durante la barra del prezzo). Ho zero conoscenze di programmazione mql, quindi qualsiasi aiuto sarebbe fantastico.

tutto il meglio,

malcolm

Ciao Malcolm,

Prova qui https://www.mql5.com/en/forum/180648

post# 2928

 

Allarme RSI via e-mail

Ciao MrTools,

Wunderbar!

tutto il meglio

 

Indicatore con errori

Ciao codificatori,

ho trovato questo indicatore. È buono per il trading manuale. L'indicatore mostra il punto di pareggio di diversi ordini. Purtroppo ha diversi errori. Qualcuno può correggerlo?

Aggiungere una nuova funzione?

Se cambio il tp o sl con un ordine, che è sl e tp degli altri ordini sono cambiati automaticamente (come e-MoveSLTPbyMouse.mq4).

Grazie!

Scusa per il mio cattivo inglese!

 
rajivzzz:
Ciao

C'è qualcuno che sa come creare l'indicatore in un EA, ho questo indicatore, ma posso perdere molte volte una posizione migliore per l'uscita, l'entrata e il take profit perché non mi sono seduto davanti al PC ogni volta, ma funziona molto bene, su ogni time frame su qualsiasi coppia nel mercato naturale.

Vedi

LINEA ROSSA è una buona posizione di vendita

LINEA VERDE è una buona posizione di acquisto

linea centrale di TAKE PROFIT

Posso mostrare alcuni dei miei trade su Eur/Usd nel grafico 1H con linee rosa, tutti chiusi in profitto.

Voglio che l'EA lavori in questo modo: vendere sulla linea rossa, colpire il TP sulla linea centrale, comprare sulla linea verde, colpire il TP sulla linea centrale

Ciao

Penso che sia possibile e posso aiutare. La codifica di un EA con deve soddisfare determinate condizioni. PM me per ulteriori discussioni.

Grazie.

 
rvvidhul:
Gli esperti codificano gentilmente un indicatore MT4 per il grafico allegato, grazie in anticipo, basato sul sistema Heikin Ashi pivot e NMA swing.

Ecco il codice Afl per questo grafico, qualcuno può convertire questa formula in un indicatore Metatrader.

_SECTION_BEGIN("NMA Swing Explorer");

SetBarsRequired(200,0);

GraphXSpace = 5;

SetChartOptions(0,chartShowArrows|chartShowDates);

k = Ottimizza("K",Param("K",2,0.25,5,0.25),0.25,5,0.25);

Per= Optimize("atr",Param("atr",20,3,20,1),3,20,1);

HACLOSE=(O+H+L+C)/4;

HaOpen = AMA( Ref( HaClose, -1 ), 0.5 );

HaHigh = Max( H, Max( HaClose, HaOpen ) );

HaLow = Min( L, Min( HaClose, HaOpen ) );

if( ParamToggle("Plot Heikin-Ashi", "No,Yes", 1 ) )

PlotOHLC( HaOpen, HaHigh, HaLow, HaClose, "Heikin Ashi " + Name(), colorBlack, styleCandle );

altrimenti

Plot( C, "Candele regolari " + Nome(), coloreNero, stileCandela );

j=Haclose;

//================================================================================================================

//=========================Indicator=================================================================================

f=ATR(15);

rfsctor = WMA(H-L, Per);

revers = k * rfsctor;

Trend = 1;

NW[0] = 0;

for(i = 1; i < BarCount; i++)

{

se(Trend == 1)

{

se(j < NW)

{

Trend = -1;

NW = j + Inversione;

}

altrimenti

{

Trend = 1;

se((j - Revers) > NW)

{

NW = j - Revers;

}

altrimenti

{

NW = NW;

}

}

}

if(Trend == -1)

{

if(j > NW)

{

Trend = 1;

NW = j - Inversione;

}

altrimenti

{

Trend = -1;

se((j + Revers) < NW)

{

NW = j + Revers;

}

altrimenti

{

NW = NW;

}

}

}

}

//===============system================

Plot(NW, "", IIf(Trend == 1, 27, 4), 4);

Buy=Cover=Cross(j,nw);

Sell=Short=Cross(nw,j);

SellPrice=ValoreQuando(Sell,C,1);

BuyPrice=ValoreQuando(Buy,C,1);

Long=Flip(Buy,Sell);

Shrt=Flip(Sell,Buy );

NMAB= NW<HACLOSE;

NMAS= NW>HACLOSE;

NMA_status= WriteIf(NMAB, "BUY MODE", WriteIf(NMAS, "SELL MODE", "NEUTRAL"));

NMAS_Col=IIf(NMAB, colorGreen, IIf(NMAS, colorRed, colorLightGrey));

Filter=1;

AddColumn( NW, "SAR", 1.2 );

AddColumn( HACLOSE, "HA Close", 1.2 );

AddColumn( C, "Close", 1.2 );

AddTextColumn(NMA_status, "MODE", 1, colorWhite, NMAS_Col);

_SECTION_END();

//=================TITLE===========================================================================================

_SECTION_BEGIN("Titolo");

if( Stato("azione") == azioneIndicatore )

(

Title = EncodeColor(colorWhite)+ "NICK MA Swing System" + " - " + Name() + " - " + EncodeColor(colorRed)+ Interval(2) + EncodeColor(colorWhite) +

" - " + Data() +" - "+"\n" +EncodeColor(colorRed) + "Op-"+O+" "+"Hi-"+H+" "+"Lo-"+L+" "+

"Cl-"+C+" "+"Vol="+ WriteVal(V)+"\n "+

EncodeColor(colorLime)+

WriteIf (Buy , " GO LONG / Reverse Signal at "+C+" ","")+

WriteIf (Sell , " EXIT LONG / Reverse Signal at "+C+" ","")+"\n "+EncodeColor(colorWhite)+

WriteIf(Sell , "Total Profit/Loss for the Last Trade Rs. "+(C-BuyPrice)+"","")+

WriteIf(Buy , "Profitto/perdita totale per l'ultima operazione Rs. "+(SellPrice-C)+"","")+

WriteIf(Long AND NOT Buy, "Trade : Long - Entry price Rs. "+(BuyPrice),"")+

WriteIf(shrt AND NOT Sell, "Trade : Short - Entry price Rs. "+(SellPrice),"")+"\n "+

WriteIf(Long AND NOT Buy,"Current Profit/Loss Rs. "+(C-BuyPrice)+"","")+

WriteIf(shrt AND NOT Sell, "Current Profit/Loss Rs. "+(SellPrice-C)+"","));

PlotShapes(IIf(Buy, shapeSquare, shapeNone),colorGreen, 0, L, Offset=-40);

PlotShapes(IIf(Buy, shapeSquare, shapeNone),colorLime, 0,L, Offset=-50);

PlotShapes(IIf(Buy, shapeUpArrow, shapeNone),colorWhite, 0,L, Offset=-45);

PlotShapes(IIf(Sell, shapeSquare, shapeNone),colorRed, 0, H, Offset=40);

PlotShapes(IIf(Sell, shapeSquare, shapeNone),colorOrange, 0,H, Offset=50);

PlotShapes(IIf(Sell, shapeDownArrow, shapeNone),colorWhite, 0,H, Offset=-45);

_SECTION_END();

 
rajivzzz:
non l'ho più condiviso

ridipingere, LOL

Funziona come HolyGrial

se non sai come si fa, non puoi fare nulla per me

Che ragazzo simpatico e inteligente!!!!!!!!!!!!!!!!!!!!!!!!

 

Ciao Laurus, devi solo cambiare l'ordine dei buffer. Mt4 visualizza il buffer 3 uno sopra il buffer 2 sopra il buffer 1 ecc.

 

Ordine degli indicatori a livello di oggetto

Ho questo classico MACD con istogramma dove l'istogramma viene disegnato davanti alle linee MACD e Signal. Qualcuno potrebbe mostrarmi come impostare l'istogramma sul retro? Ho cercato di capirlo, ma senza successo.

Grazie,

Laurus

//+---------------------------------------------------------------------------+

//| _MACD.mq4 |

//| |

//| Il MACD classico con istogramma

//+---------------------------------------------------------------------------+

//---- impostazioni dell'indicatore

#proprietà indicator_separate_window

#proprietà indicator_buffers 3

#proprietà indicator_color1 Nero

#Proprietà indicatore_colore2 Rosso

#proprietà indicator_color3 SteelBlue

#proprietà indicator_width1 1

#proprietà indicator_width2 1

#proprietà indicator_width3 2

//---- parametri dell'indicatore

extern int FastEMA=12;

extern int SlowEMA=26;;

extern int SignalEMA=9;

//---- buffer dell'indicatore

double MACD_Buffer[]

double SIGNAL_Buffer[]

double HISTOGRAM_Buffer[];

//+------------------------------------------------------------------+

//|Funzione di inizializzazione dell'indicatore personalizzata

//+------------------------------------------------------------------+

int init() {

//---- impostazioni di disegno

SetIndexStyle(0,DRAW_LINE);

SetIndexStyle(1,DRAW_LINE);

SetIndexStyle(2,DRAW_HISTOGRAM);

SetIndexDrawBegin(1,SignalEMA);

IndicatorDigits(Digits+1);

//---- mappatura dei buffer degli indicatori

SetIndexBuffer(0,MACD_Buffer);

SetIndexBuffer(1,SIGNAL_Buffer);

SetIndexBuffer(2,HISTOGRAM_Buffer);

//---- nome per DataWindow e l'etichetta della sottofinestra dell'indicatore

IndicatorShortName("_MACD ("+FastEMA+", "+SlowEMA+", "+SignalEMA+")");

SetIndexLabel(0, "MACD");

SetIndexLabel(1, "Segnale");

SetIndexLabel(2, "Istogramma");

//---- inizializzazione fatta

return(0);

}

//+------------------------------------------------------------------+

//|Convergenza/Divergenza delle medie mobili

//+------------------------------------------------------------------+

int start() {

int i;

int limite;

int counted_bars = IndicatorCounted();

if(counted_bars < 0) return(-1); //---- controllare eventuali errori

if(counted_bars > 0) counted_bars--; //---- l'ultima barra contata sarà ricontata

limite = Bars - counted_bars;

//---- Disegna la linea MACD

for(i=0; i<limit; i++) { //-- ciclo dalla barra corrente alla prima barra

MACD_Buffer = iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i) - iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i);

}

//---- Disegna la linea del segnale e l'istogramma

for(i=0; i<limit; i++) { //-- stesso ciclo sopra

SIGNAL_Buffer = iMAOnArray(MACD_Buffer,Bars,SignalEMA,0,MODE_EMA,i);

HISTOGRAM_Buffer = MACD_Buffer - SIGNAL_Buffer;

}

//---- Fatto

return(0);

}

//+-----------------------------------------------------------------+

 
christinaLi:
Ciao Laurus, devi solo cambiare l'ordine dei buffer. Mt4 visualizza il buffer 3 sopra il buffer 2 sopra il buffer 1 ecc.

Grande ChristinaLi! Grazie mille per la tua risposta e il tuo aiuto. Questo ha funzionato. Ora funziona perfettamente

Nel caso qualcuno volesse averlo con l'istogramma sul retro ho allegato il file.

- Laurus

File:
_macd.mq4  3 kb
Motivazione: