Allert ogni tick anzichè

Sezione dedicata a metatrader (ed altre piattaforme) ed al suo linguaggio di programmazione per il trading automatico
texcs
Messaggi: 129
Iscritto il: 29/05/2014, 23:08

Allert ogni tick anzichè

Messaggio da texcs » 15/12/2018, 13:23

Salve a tutti ho questo problema in questo codice gli "alert" suonano ogni tick anziché ogni barra dopo che avviene la condizione per la prima volta, nonostante ci sia la condizione " if(barTemp!=Bars)" che dovrebbe controllare che le condizioni all'interno vengano esegui solo ogni "nuova barra".
Dove sbaglio, idee per sistemarlo? ringrazio anticipatamente

Codice: Seleziona tutto

int barTemp;
   for(int i=0; i<limit; i++) 
     { 
      //---- ma_shift set to 0 because SetIndexShift called abowe 
      MediaFastBuffer[i]=iMA(NULL,0,MediaFastPeriod,MediaFastShift,MediaFastMethod,0,i);
      MediaSlowBuffer[i]=iMA(NULL,0,MediaSlowPeriod,MediaSlowShift,MediaSlowMethod,0,i);
      ImaFast=MediaFastBuffer[i]; 
      ImaSlow=MediaSlowBuffer[i]; 
      
      ImaFastPrec=iMA(NULL,0,MediaFastPeriod,MediaFastShift,MediaFastMethod,0,1);
      ImaSlowPrec=iMA(NULL,0,MediaSlowPeriod,MediaSlowShift,MediaSlowMethod,0,1);
      //Comment ("ImaSlowPrec: " + DoubleToStr(ImaSlowPrec,4) +"\nImaFastPrec: " + DoubleToStr(ImaFastPrec,4));
     } 
     
      if(barTemp!=Bars)
      {
       if(CrossingMovingAvarage()== +1){ 
          Alert("Segnale rialzista su "+Symbol()+" a TF "+IntegerToString(Period(),0,0));
         }      
       else if(CrossingMovingAvarage()== -1){ 
          Alert("Segnale ribassista su "+Symbol()+" a TF "+IntegerToString(Period(),0,0));
         }
      }
  

IntoTheWild1990
Messaggi: 188
Iscritto il: 12/10/2016, 17:44

Re: Allert ogni tick anzichè

Messaggio da IntoTheWild1990 » 18/12/2018, 3:29

int barTemp;
for(int i=0; i<limit; i++)
{
//---- ma_shift set to 0 because SetIndexShift called abowe
MediaFastBuffer=iMA(NULL,0,MediaFastPeriod,MediaFastShift,MediaFastMethod,0,i);
MediaSlowBuffer=iMA(NULL,0,MediaSlowPeriod,MediaSlowShift,MediaSlowMethod,0,i);
ImaFast=MediaFastBuffer;
ImaSlow=MediaSlowBuffer;

ImaFastPrec=iMA(NULL,0,MediaFastPeriod,MediaFastShift,MediaFastMethod,0,1);
ImaSlowPrec=iMA(NULL,0,MediaSlowPeriod,MediaSlowShift,MediaSlowMethod,0,1);
//Comment ("ImaSlowPrec: " + DoubleToStr(ImaSlowPrec,4) +"\nImaFastPrec: " + DoubleToStr(ImaFastPrec,4));
}
If(Volume[0]>1)return;
if(barTemp!=Bars)
{
if(CrossingMovingAvarage()== +1){
Alert("Segnale rialzista su "+Symbol()+" a TF "+IntegerToString(Period(),0,0));
}
else if(CrossingMovingAvarage()== -1){
Alert("Segnale ribassista su "+Symbol()+" a TF "+IntegerToString(Period(),0,0));
}
}


Così dovrebbe andare ;)
Una fenice risorge dalla cenere torna al fuoco per quanto tu la possa uccidere.

Seguici su facebook
https://www.facebook.com/eamt4forex/?mo ... _todo_tour
Seguici su Telegram
FeniceTradingSystem
Rent mt4 ea
https://t.me/fenicetradingsystem

Avatar utente
ultra
Messaggi: 43
Iscritto il: 31/12/2017, 14:09

Re: Allert ogni tick anzichè

Messaggio da ultra » 25/02/2019, 7:46

Quanta gente chiede aiuto alla prima difficoltà e poi sparisce senza neanche dire grazie.

IntoTheWild1990
Messaggi: 188
Iscritto il: 12/10/2016, 17:44

Re: Allert ogni tick anzichè

Messaggio da IntoTheWild1990 » 25/02/2019, 15:17

Il 90%
Una fenice risorge dalla cenere torna al fuoco per quanto tu la possa uccidere.

Seguici su facebook
https://www.facebook.com/eamt4forex/?mo ... _todo_tour
Seguici su Telegram
FeniceTradingSystem
Rent mt4 ea
https://t.me/fenicetradingsystem

Chi c’è in linea

Visitano il forum: CC [Bot] e 0 ospiti