MT4 - Allarmi, Indicatori, EA...

stancus

Nuovo Utente
Registrato
26/9/05
Messaggi
192
Punti reazioni
6
Ciao a tutti ragazzi.
Vi chiedo aiuto in merito alla MT4, vorrei realizzare qualcosa Allarme, Indicatore, EA...) che mi segnali, mi avvisi, l'attraversamento di due medie mobili, anche a grafico chiuso, cioè anche quando sto guardando un grafico diverso da quello nel quale avviene l'evento.
Ho provato con i vari compilatori (builder) on line, ma non ci sono riuscito, perchè alla fine della compilzione vengono degli errori.
Potete indirizzarmi su qualche forum o qualche compilatore gratuito affidabile?
Potete insomma aiutarmi???:wall::wall::specchio::specchio:
Grazie sin d'ora a cho vorrà dedicarmi pochi minuti.
ciao a tutti
 
Più o meno...

Codice:
extern string simbolo="GBPUSD";
extern int periodo_flat_ma=50;
extern int periodo_fast_ma=200;
extern int periodo_slow_ma=300;
extern int tipo_ma=0;
//0 Simple averaging
//1 Exponential averaging
//2 Smoothed averaging
//3 Linear-weighted averaging
extern int prezzo=1;
//0 Close price
//1 Open price
//2 The maximum price for the period
//3 The minimum price for the period
//4 Median price, (high + low)/2
//5 Typical price, (high + low + close)/3
//6 Weighted close price, (high + low + close + close)/4
static bool trend_up,trend_down;
string testonotifica;
string val_medie;
int OnInit()
{
   if(FastMaCrossSlowMa()=="0")
   {
      trend_up=true;
      trend_down=true;
      InviaNotifica(testonotifica=simbolo+"\nTrend non definito\n"+val_medie);
   }
   if(FastMaCrossSlowMa()=="1")
   {    
      trend_up=true;
      trend_down=false;   
      InviaNotifica(simbolo+"\nTrend UP\n"+val_medie);
   }
   if(FastMaCrossSlowMa()=="2")
   {    
      trend_up=true;
      trend_down=false;   
      InviaNotifica(simbolo+"\nTrend DOWN\n"+val_medie);
   }
   return(INIT_SUCCEEDED);
}
void OnTick()
{
    if(FastMaCrossSlowMa()=="1" && trend_up==true)
   {
      SendNotification("qualcosa UP");
      trend_up=false;
      trend_down=true;
   }
   else if(FastMaCrossSlowMa()=="2" && trend_down==true)
   {    
      SendNotification("qualcosa DOWN");
      trend_up=true;
      trend_down=false;   
   }
   Comment(val_medie);
}
string FastMaCrossSlowMa()
{
   int shift=0;
   if(prezzo!=1)
   {
      shift=1;
   }
   double fast_ma=iMA(simbolo,0,periodo_fast_ma,0,tipo_ma,prezzo,shift);
   double slow_ma=iMA(simbolo,0,periodo_slow_ma,0,tipo_ma,prezzo,shift);
   double flat_ma=iMA(simbolo,0,periodo_flat_ma,0,tipo_ma,prezzo,shift);
   val_medie=  "MA_"+IntegerToString(periodo_flat_ma)+": "+DoubleToStr(flat_ma,Digits)+
               "\nMA_"+IntegerToString(periodo_fast_ma)+": "+DoubleToStr(fast_ma,Digits)+
               "\nMA_"+IntegerToString(periodo_slow_ma)+": "+DoubleToStr(slow_ma,Digits);
   if(flat_ma>slow_ma && flat_ma>fast_ma)
   {
      return("1");
   }
   else if(flat_ma<slow_ma && flat_ma<fast_ma)
   {
      return("2");
   }
   else
   {
      return("0");
   }
}
void InviaNotifica(string t)
{
   int ct=20;
   while(ct>0)
   {
      bool sn=SendNotification(t);
      if(sn==true)
      {
         break;
      }
      else
      {
         ct--;
         Sleep(200);
         RefreshRates();
      }
   }
}

Ciao
 
Ultima modifica:
Ciao a tutti ragazzi.
Vi chiedo aiuto in merito alla MT4, vorrei realizzare qualcosa Allarme, Indicatore, EA...) che mi segnali, mi avvisi, l'attraversamento di due medie mobili, anche a grafico chiuso, cioè anche quando sto guardando un grafico diverso da quello nel quale avviene l'evento.
Ho provato con i vari compilatori (builder) on line, ma non ci sono riuscito, perchè alla fine della compilzione vengono degli errori.
Potete indirizzarmi su qualche forum o qualche compilatore gratuito affidabile?
Potete insomma aiutarmi???:wall::wall::specchio::specchio:
Grazie sin d'ora a cho vorrà dedicarmi pochi minuti.
ciao a tutti

se mi dai 800 euro al mese ti avviso io:D
guarda se c'è qualcosa qui
https://www.mql5.com/en/market/mt4/utility/free
 
Ciao e grazie per l'impegno nei miei confronti.
Intanto desidererei sapere se è un indicatore o un EA? E poi se il codice è completo oppure debbo aggiungere qualcosa per completarlo?
A me interesserebbe un allarme che mi avvisi quando la media mobile a 50 attraversa sia la media mobile a 200 che quella a 300. Ovviamnete da poter utilizzare in tutti i time frame disponibili.
Grazie ancora di cuore per la disponibilità.

Più o meno...

Codice:
extern string simbolo="GBPUSD";
extern int periodo_fast_ma=14;
extern int periodo_slwo_ma=28;
static bool trend_up,trend_down;
int OnInit()
{
   if(FastMaCrossSlowMa())
   {
      SendNotification("qualcosa UP");
      trend_up=false;
      trend_down=true;
   }
   else
   {    
      SendNotification("qualcosa DOWN");
      trend_up=true;
      trend_down=false;   
   }
   return(INIT_SUCCEEDED);
}
void OnTick()
{
    if(FastMaCrossSlowMa() && trend_up==true)
   {
      SendNotification("qualcosa UP");
      trend_up=false;
      trend_down=true;
   }
   else if(FastMaCrossSlowMa() && trend_down==true)
   {    
      SendNotification("qualcosa DOWN");
      trend_up=true;
      trend_down=false;   
   }
}
bool FastMaCrossSlowMa()
{
   double fast_ma=iMA(simbolo,0,periodo_fast_ma,0,MODE_SMA,PRICE_OPEN,0);
   double slow_ma=iMA(simbolo,0,periodo_slwo_ma,0,MODE_SMA,PRICE_OPEN,0);
   if(fast_ma>slow_ma)
   {
      return(true);
   }
   else
   {
      return(false);
   }
}

Ciao.
 
Ultima modifica:
ahahahah se riesci ad avvisarmi facendomi andare in gain costantemente, te ne dò 8.000!!! ahahaha
A parte tutto, grazie anche a te per la risposta.
Ora dò un'occhiata, anche se è difficile trovare quello che cerso esattamente.
A m,e interessa un allarme che mi avvisi quando la media mobile a 50 attraversa sia la media mobile a 200 che quella a 300. Ovviamnete da poter utilizzare in tutti i time frame disponibili.

se mi dai 800 euro al mese ti avviso io:D
guarda se c'è qualcosa qui
https://www.mql5.com/en/market/mt4/utility/free
 
Ciao e grazie per l'impegno nei miei confronti.
Intanto desidererei sapere se è un indicatore o un EA? E poi se il codice è completo oppure debbo aggiungere qualcosa per completarlo?
A me interesserebbe un allarme che mi avvisi quando la media mobile a 50 attraversa sia la media mobile a 200 che quella a 300. Ovviamnete da poter utilizzare in tutti i time frame disponibili.
Grazie ancora di cuore per la disponibilità.

Ciao,
ho modificato un po' il codice, ora fa quello che vuoi tu.

È un EA, ma puoi pure renderlo un indicatore con gli opportuni accorgimenti.

Così com'è ti invia una notifica al cellulare, e affinché funzioni devi abilitare le notifiche push.

Ciao
 

Allegati

  • notifiche.jpg
    notifiche.jpg
    98,4 KB · Visite: 448
Ciao Allbedo, ti ringrazio ancora per il tuo prezioso tempo.
Purtroppo non vedo il tuo nuovo codice??
Inoltre hai reso ancora più utile il tutto con la notifica sul cellulare.
Grazie ancora.
se ho problemi ti disturberò ancora, perdonami in anticipo.

Ciao,
ho modificato un po' il codice, ora fa quello che vuoi tu.

È un EA, ma puoi pure renderlo un indicatore con gli opportuni accorgimenti.

Così com'è ti invia una notifica al cellulare, e affinché funzioni devi abilitare le notifiche push.

Ciao
 
Ciao Allbedo, ti ringrazio ancora per il tuo prezioso tempo.
Purtroppo non vedo il tuo nuovo codice??
Inoltre hai reso ancora più utile il tutto con la notifica sul cellulare.
Grazie ancora.
se ho problemi ti disturberò ancora, perdonami in anticipo.

ha odificato il codice già postato credo.... riscaricalo e provalo
 
esattamente. Non avevo visto. Grazie anche a te

Mi chiedo come fare a farlo diventare un indicatore con allarmi all'attraversamento delle medie mobili???
Qualcuno saprebbe come fare?

ha odificato il codice già postato credo.... riscaricalo e provalo
 
Allbedo, non vorrei approfittare credimi, ma non sò come fare.
Potresti dirmi come far diventare il tutto un indicatore con alert?
Cioè un allarme che mi avvisa quando la 50 ha superato sia la 200 che la 300???
Inoltre questo allarme con quel suggerimento che mi hai dato, dovrebbe arrivarmi anche sul cellulare?

Grazie davvero ancora se puoi.

Ciao,
ho modificato un po' il codice, ora fa quello che vuoi tu.

È un EA, ma puoi pure renderlo un indicatore con gli opportuni accorgimenti.

Così com'è ti invia una notifica al cellulare, e affinché funzioni devi abilitare le notifiche push.

Ciao
 
esattamente. Non avevo visto. Grazie anche a te

Mi chiedo come fare a farlo diventare un indicatore con allarmi all'attraversamento delle medie mobili???
Qualcuno saprebbe come fare?

apri la metaeditor, copia il codice dentro un indicatore qualsiasi e rinominalo,compila il nuovo indi e il gioco è fatto.
ora vai nella meta e aggangia l'indi creato ad un grafico
 
Ho fatto esattamente come mi hai consigliato, ma purtroppo non succede nulla.
Anzi, alla fine della compilazione mi esce fuori un warning che mi avvisa che non è un indicatore.
Che fare?

apri la metaeditor, copia il codice dentro un indicatore qualsiasi e rinominalo,compila il nuovo indi e il gioco è fatto.
ora vai nella meta e aggangia l'indi creato ad un grafico
 
Ho fatto esattamente come mi hai consigliato, ma purtroppo non succede nulla.
Anzi, alla fine della compilazione mi esce fuori un warning che mi avvisa che non è un indicatore.
Che fare?

È un EA, usalo come tale:

Apri l'editor di MT4, sxelgi nuovo expert advisor, dagli il nome che preferisci;
Si aprirà un nuovo progetto, tu cancella tutto e incolla il codice.
Finito.

I limiti sono: le medie mobili le puoi settare solo relativamente al periodo (50, 100, 200) saranno sempre di tipo "semplice" ed il prezzo sarà sempre quello di apertura.

Ho modificato nuovamente il codice, adesso ti mostra i valori dell emedie in alto a sinistra, a prescindere dal grafico su cui lo avrai caricato, e anche le notifiche ti giungeranno con i valori delle tre medie.

Ciao.

p.s: nel caso preferissi importare direttamente il file mql, te lo allego
 

Allegati

  • Stancus_Allarme.mq4
    2,5 KB · Visite: 248
Ultima modifica:
Grande Allbedo, grazie sempre.
Hio fatto come mi hai detto. Alcuni dubbi puoi chiarirmeli?
1) il simbolo lo devo cambiare sempre in base al grafico che apro vero? Cioè l'EA così com'è và bene solo per "GBPUSD"?
2) all'attraversamento della 50 sulla 200 e poi sulla 300, cosa fà l'EA? Apre una posizione oppure dovrebbe attivare un alert?
3) Se volessi cambiare SMA con EMA e Open con Close, lo posso fare e come?
4) Sul cellulare mi è arrivano notifiche di Trend Up o Down e il valore delle medie mobili. Cosa significa?
Scusami tanto Albedo, ma avrai già capirto il mio livello!
Sono in fase di studio ed approfondimento ed anche da non molto con la MT4.
A proposito tutto ciò andrebbe bene anche per la MT5? oppure bisogna cambiare qualcosa di codice?

Grazie sempre davvero per il tempo che mi stai dedicando!!!

È un EA, usalo come tale:

Apri l'editor di MT4, sxelgi nuovo expert advisor, dagli il nome che preferisci;
Si aprirà un nuovo progetto, tu cancella tutto e incolla il codice.
Finito.

I limiti sono: le medie mobili le puoi settare solo relativamente al periodo (50, 100, 200) saranno sempre di tipo "semplice" ed il prezzo sarà sempre quello di apertura.

Ho modificato nuovamente il codice, adesso ti mostra i valori dell emedie in alto a sinistra, a prescindere dal grafico su cui lo avrai caricato, e anche le notifiche ti giungeranno con i valori delle tre medie.

Ciao.

p.s: nel caso preferissi importare direttamente il file mql, te lo allego
 
Grande Allbedo, grazie sempre.
Hio fatto come mi hai detto. Alcuni dubbi puoi chiarirmeli?
1) il simbolo lo devo cambiare sempre in base al grafico che apro vero? Cioè l'EA così com'è và bene solo per "GBPUSD"?
2) all'attraversamento della 50 sulla 200 e poi sulla 300, cosa fà l'EA? Apre una posizione oppure dovrebbe attivare un alert?
3) Se volessi cambiare SMA con EMA e Open con Close, lo posso fare e come?
4) Sul cellulare mi è arrivano notifiche di Trend Up o Down e il valore delle medie mobili. Cosa significa?
Scusami tanto Albedo, ma avrai già capirto il mio livello!
Sono in fase di studio ed approfondimento ed anche da non molto con la MT4.
A proposito tutto ciò andrebbe bene anche per la MT5? oppure bisogna cambiare qualcosa di codice?

Grazie sempre davvero per il tempo che mi stai dedicando!!!
Ciao, mi intrometto se posso un po' di esperienza con mt4 in programmazione ce l'ho.
Per cambiare il simbolo devi cambiare la prima riga del codice
extern string simbolo="GBPUSD"; metti EURUSD per l'euro dollaro etc..lasciando le virgolette ovviamente
Il codice ti manda solo notifiche sul terminale mt4 del tuo cellulare android, a patto che sia installato ovviamente con la funzione appunto SendNotification()
Qui c'e' un tutorial che ti spiega abbastanza bene come funziona
iExpertAdvisorHow to use the MQL MT4 SendNotification Function
sul cellulare ti arriva un messaggio che nel codice e' "qualcosa up" o "qualcosa down" che puoi cambiare ovviamente.
Per cambiare SMA con EMA e Open con Close basta modificare tutte le chiamate alla funzione iMA che calcola la media mobile.
ad esempio
fast_ma=iMA(simbolo,0,periodo_fast_ma,0,MODE_SMA,PRICE_OPEN,0);
basta che cambi PRICE_OPEN con PRICE_CLOSE e MODE_SMA con MODE_EMA se vuoi la media esponenziale.
Ciao
 
Macchè intromissione.
Grazie anche per il tuo contributo.
Adesso pubblico un indicatore trovato in rete che spero possa essere modificato come desidererei.

Ciao, mi intrometto se posso un po' di esperienza con mt4 in programmazione ce l'ho.
Per cambiare il simbolo devi cambiare la prima riga del codice
extern string simbolo="GBPUSD"; metti EURUSD per l'euro dollaro etc..lasciando le virgolette ovviamente
Il codice ti manda solo notifiche sul terminale mt4 del tuo cellulare android, a patto che sia installato ovviamente con la funzione appunto SendNotification()
Qui c'e' un tutorial che ti spiega abbastanza bene come funziona
iExpertAdvisorHow to use the MQL MT4 SendNotification Function
sul cellulare ti arriva un messaggio che nel codice e' "qualcosa up" o "qualcosa down" che puoi cambiare ovviamente.
Per cambiare SMA con EMA e Open con Close basta modificare tutte le chiamate alla funzione iMA che calcola la media mobile.
ad esempio
fast_ma=iMA(simbolo,0,periodo_fast_ma,0,MODE_SMA,PRICE_OPEN,0);
basta che cambi PRICE_OPEN con PRICE_CLOSE e MODE_SMA con MODE_EMA se vuoi la media esponenziale.
Ciao
 
Allbedo, ho trovato questo indicatore in rete.
Tu riesci ad implementarlo aggiungendo:
1) la terza Media Mobile;
2) le tue notifiche "Qualcosa Up o Down" quando la media 50 attraversa la 200 e la 300????
Sarebbe fantastico.
Scusami ancora ma sono davvero vicino per iniziare a capirci qualcosa di più. Questo grazie al tuo aiuto ed a quello degli altri che stanno partecipando alla discussione.
Grazie ancora


//+------------------------------------------------------------------+
//| MA-Crossover_Alert.mq4 |
//| Copyright © 2005, Jason Robinson (jnrtrading) |
//| http://www.jnrtading.co.uk |
//| Modified by Robert Hill to add LSMA and alert or send email |
//| Added Global LastAlert to try to have alert only on new cross |
//| but does not seem to work. So indicator does alert every bar |
//+------------------------------------------------------------------+

/*
+------------------------------------------------------------------+
| Allows you to enter two ma periods and it will then show you at |
| Which point they crossed over. It is more usful on the shorter |
| periods that get obscured by the bars / candlesticks and when |
| the zoom level is out. Also allows you then to remove the mas |
| from the chart. (emas are initially set at 5 and 6) |
+------------------------------------------------------------------+
*/
#property copyright "Copyright © 2005, Jason Robinson (jnrtrading)"
#property link "http://www.jnrtrading.co.uk"

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 LawnGreen
#property indicator_color2 Red

extern bool SoundON=true;
extern bool EmailON=false;

extern int FastMA_Mode = 1; //0=sma, 1=ema, 2=smma, 3=lwma, 4=lsma
extern int FastMA_Period = 5;
extern int FastPriceMode = 0;//0=close, 1=open, 2=high, 3=low, 4=median(high+low)/2, 5=typical(high+low+close)/3, 6=weighted(high+low+close+close)/4
extern int SlowMA_Mode = 1; //0=sma, 1=ema, 2=smma, 3=lwma, 4=lsma
extern int SlowMA_Period = 6;
extern int SlowPriceMode = 0;//0=close, 1=open, 2=high, 3=low, 4=median(high+low)/2, 5=typical(high+low+close)/3, 6=weighted(high+low+close+close)/4
double CrossUp[];
double CrossDown[];
int flagval1 = 0;
int flagval2 = 0;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0, DRAW_ARROW, EMPTY, 3);
SetIndexArrow(0, 233);
SetIndexBuffer(0, CrossUp);
SetIndexStyle(1, DRAW_ARROW, EMPTY, 3);
SetIndexArrow(1, 234);
SetIndexBuffer(1, CrossDown);
GlobalVariableSet("AlertTime"+Symbol()+Period(),CurTime());
GlobalVariableSet("SignalType"+Symbol()+Period(),OP_SELLSTOP);
// GlobalVariableSet("LastAlert"+Symbol()+Period(),0);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
GlobalVariableDel("AlertTime"+Symbol()+Period());
GlobalVariableDel("SignalType"+Symbol()+Period());
// GlobalVariableDel("LastAlert"+Symbol()+Period());

//----
return(0);
}

//+------------------------------------------------------------------+
//| LSMA with PriceMode |
//| PrMode 0=close, 1=open, 2=high, 3=low, 4=median(high+low)/2, |
//| 5=typical(high+low+close)/3, 6=weighted(high+low+close+close)/4 |
//+------------------------------------------------------------------+

double LSMA(int Rperiod, int prMode, int shift)
{
int i;
double sum, pr;
int length;
double lengthvar;
double tmp;
double wt;

length = Rperiod;

sum = 0;
for(i = length; i >= 1 ; i--)
{
lengthvar = length + 1;
lengthvar /= 3;
tmp = 0;
switch (prMode)
{
case 0: pr = Close[length-i+shift];break;
case 1: pr = Open[length-i+shift];break;
case 2: pr = High[length-i+shift];break;
case 3: pr = Low[length-i+shift];break;
case 4: pr = (High[length-i+shift] + Low[length-i+shift])/2;break;
case 5: pr = (High[length-i+shift] + Low[length-i+shift] + Close[length-i+shift])/3;break;
case 6: pr = (High[length-i+shift] + Low[length-i+shift] + Close[length-i+shift] + Close[length-i+shift])/4;break;
}
tmp = ( i - lengthvar)*pr;
sum+=tmp;
}
wt = sum*6/(length*(length+1));

return(wt);
}


//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start() {
int limit, i, counter;
double tmp=0;
double fastMAnow, slowMAnow, fastMAprevious, slowMAprevious;
double Range, AvgRange;
int counted_bars=IndicatorCounted();
//---- check for possible errors
if(counted_bars<0) return(-1);
//---- last counted bar will be recounted
if(counted_bars>0) counted_bars--;

limit=Bars-counted_bars;

for(i = 0; i <= limit; i++) {

counter=i;
Range=0;
AvgRange=0;
for (counter=i ;counter<=i+9;counter++)
{
AvgRange=AvgRange+MathAbs(High[counter]-Low[counter]);
}
Range=AvgRange/10;

if (FastMA_Mode == 4)
{
fastMAnow = LSMA(FastMA_Period, FastPriceMode, i);
fastMAprevious = LSMA(FastMA_Period, FastPriceMode, i+1);

}
else
{
fastMAnow = iMA(NULL, 0, FastMA_Period, 0, FastMA_Mode, FastPriceMode, i);
fastMAprevious = iMA(NULL, 0, FastMA_Period, 0, FastMA_Mode, FastPriceMode, i+1);
}

if (SlowMA_Mode == 4)
{
slowMAnow = LSMA( SlowMA_Period, SlowPriceMode, i);
slowMAprevious = LSMA( SlowMA_Period, SlowPriceMode, i+1);
}
else
{
slowMAnow = iMA(NULL, 0, SlowMA_Period, 0, SlowMA_Mode, SlowPriceMode, i);
slowMAprevious = iMA(NULL, 0, SlowMA_Period, 0, SlowMA_Mode, SlowPriceMode, i+1);
}

if ((fastMAnow > slowMAnow) && (fastMAprevious < slowMAprevious))
{
if (i == 1 && flagval1==0){ flagval1=1; flagval2=0; }
CrossUp = Low - Range*0.75;
}
else if ((fastMAnow < slowMAnow) && (fastMAprevious > slowMAprevious))
{
if (i == 1 && flagval2==0) { flagval2=1; flagval1=0; }
CrossDown = High + Range*0.75;
}
}

if (flagval1==1 && CurTime() > GlobalVariableGet("AlertTime"+Symbol()+Period()) && GlobalVariableGet("SignalType"+Symbol()+Period())!=OP_BUY)
{
// if (GlobalVariableGet("LastAlert"+Symbol()+Period()) < 0.5)
// {
if (SoundON) Alert("BUY signal at Ask=",Ask,"\n Bid=",Bid,"\n Time=",TimeToStr(CurTime(),TIME_DATE)," ",TimeHour(CurTime()),":",TimeMinute(CurTime()),"\n Symbol=",Symbol()," Period=",Period());
if (EmailON) SendMail("BUY signal alert","BUY signal at Ask="+DoubleToStr(Ask,4)+", Bid="+DoubleToStr(Bid,4)+", Date="+TimeToStr(CurTime(),TIME_DATE)+" "+TimeHour(CurTime())+":"+TimeMinute(CurTime())+" Symbol="+Symbol()+" Period="+Period());
// }
tmp = CurTime() + (Period()-MathMod(Minute(),Period()))*60;
GlobalVariableSet("AlertTime"+Symbol()+Period(),tmp);
GlobalVariableSet("SignalType"+Symbol()+Period(),OP_SELL);
// GlobalVariableSet("LastAlert"+Symbol()+Period(),1);
}

if (flagval2==1 && CurTime() > GlobalVariableGet("AlertTime"+Symbol()+Period()) && GlobalVariableGet("SignalType"+Symbol()+Period())!=OP_SELL) {
// if (GlobalVariableGet("LastAlert"+Symbol()+Period()) > -0.5)
// {
if (SoundON) Alert("SELL signal at Ask=",Ask,"\n Bid=",Bid,"\n Date=",TimeToStr(CurTime(),TIME_DATE)," ",TimeHour(CurTime()),":",TimeMinute(CurTime()),"\n Symbol=",Symbol()," Period=",Period());
if (EmailON) SendMail("SELL signal alert","SELL signal at Ask="+DoubleToStr(Ask,4)+", Bid="+DoubleToStr(Bid,4)+", Date="+TimeToStr(CurTime(),TIME_DATE)+" "+TimeHour(CurTime())+":"+TimeMinute(CurTime())+" Symbol="+Symbol()+" Period="+Period());
// }
tmp = CurTime() + (Period()-MathMod(Minute(),Period()))*60;
GlobalVariableSet("AlertTime"+Symbol()+Period(),tmp);
GlobalVariableSet("SignalType"+Symbol()+Period(),OP_BUY);
// GlobalVariableSet("LastAlert"+Symbol()+Period(),-1);
}

return(0);
 
Ultima modifica:
si infatti Enky, ma purtroppo sono solo due le medie, mentre io desideravo metterne una terza.
Inoltre, la soluzione di Allbedo di mandare le notifiche push tramite cellulare è fantastica.
Aspetto qualche aiutino, vediamo se Allbedo può dedicarsi per quest'altra cortesia.
Tu come faresti Enky?

Questo plotta delle frecce sull'incrocio delle medie e ti manda volendo un alert via email, potresti anche usare questo e le mail le puoi controllare anche da cellulare ovviamente.
https://www.mql5.com/en/charts/4011301/euraud-ecn-d1-worth-ltd
 
si infatti Enky, ma purtroppo sono solo due le medie, mentre io desideravo metterne una terza.
Inoltre, la soluzione di Allbedo di mandare le notifiche push tramite cellulare è fantastica.
Aspetto qualche aiutino, vediamo se Allbedo può dedicarsi per quest'altra cortesia.
Tu come faresti Enky?
Puoi usare il codice di Allbedo semplicemente aprendo un chart per ogni simbolo che vuoi seguire e inserendo il suo indicatore su ogni chart (ma poi cmq andrebbero personalizzati i messaggi, poi ci guardo).
Inizia a fare delle prove e vedere se il codice cosi com'e' ti manda effettivamente le notifiche sul tuo cellulare usando la guida che ti ho postato prima su come configurare l'app su cell.

edit:
in realta' potresti anche usare un codice unico che apre e segue piu' simboli alla volta, si risparmierebbe la rottura di palle di inserire l'indicatore su piu' grafici. ci vuole tempo, se lo trovo in questi gg te lo faccio o se allbedo vuole contribuire ben venga:)
 
Indietro