Se vedi tutto strano devi riaggiornare la cache del tuo browser. premendo CTRL + F5. E' dovuto all'aggiornamento del forum.

creare un canele prezzo

Programmi di trading automatico, gioie e .... dolori.
Puliexpress
Messaggi: 26
Iscritto il: mer apr 22, 2020 2:21 pm

Re: creare un canele prezzo

Messaggio da Puliexpress »

ho fatto un po' un paio di backtest non è male…. entrambi profittevoli… sistemo un po' i TP e SL e faccio altri backtest poi te lo pubblico… ovvio che ho aggiunto dei rafforzativi… vabbè non mi aspetto miracoli da un EA ma è già un buon punto di partenza

Puliexpress
Messaggi: 26
Iscritto il: mer apr 22, 2020 2:21 pm

Re: creare un canele prezzo

Messaggio da Puliexpress »

no in effetti non va cosi bene… ma sono come san Tommaso, dovevo picchiarci il naso :mrgreen:

Avatar utente
positiveday
Amministratore
Messaggi: 1905
Iscritto il: sab mag 28, 2016 9:23 pm

Re: creare un canele prezzo

Messaggio da positiveday »

Sei sicuro di aver scritto correttamente la zona che non ho messo?
:D
Trovi interessanti i contenuti di forexometro? Considera la possibilità di iscriverti! :mrgreen: e poi di partecipare ...

Puliexpress
Messaggi: 26
Iscritto il: mer apr 22, 2020 2:21 pm

Re: creare un canele prezzo

Messaggio da Puliexpress »

sicuro sicuro no... .. ho provato a scrivere questo EA con 2 canali prezzo qualche backtest e sono andati tutti in positivo, per ora, con un buon DD, ma non sono sicuro che lo legga correttamente o se ho scritto una caz….ata. Funzionano correttamente o un canale annulla l'altro? Perché mi da acuni errori.. se mi confermi la correttezza continuo ad effettuare i backtest che poi ti ripubblico
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.

Avatar utente
positiveday
Amministratore
Messaggi: 1905
Iscritto il: sab mag 28, 2016 9:23 pm

Re: creare un canele prezzo

Messaggio da positiveday »

Domani se ci riesco lo guardo. Se entro domani sera non vedi mie, protesta, così mi ricordo.
:lol:
Trovi interessanti i contenuti di forexometro? Considera la possibilità di iscriverti! :mrgreen: e poi di partecipare ...

Puliexpress
Messaggi: 26
Iscritto il: mer apr 22, 2020 2:21 pm

Re: creare un canele prezzo

Messaggio da Puliexpress »

no no protestare mai … avresti fatto già fin troppo ;)

Avatar utente
positiveday
Amministratore
Messaggi: 1905
Iscritto il: sab mag 28, 2016 9:23 pm

Re: creare un canele prezzo

Messaggio da positiveday »

Ecco, non ci sono riuscito, sono stato fuori casa tutto il giorno.
:lol:
Trovi interessanti i contenuti di forexometro? Considera la possibilità di iscriverti! :mrgreen: e poi di partecipare ...

Puliexpress
Messaggi: 26
Iscritto il: mer apr 22, 2020 2:21 pm

Re: creare un canele prezzo

Messaggio da Puliexpress »

mi è venuto un grosso dubbio all'EA scritto precedentemente… non è che devo aggiungere questa funzione perché possa individuare i nuovi massimi e minimi correttamente ? o è una baggianata delle mie?

Codice: Seleziona tutto

    if( TimeSARHL && contatore==true){
    
      
         contatore=false;
    
    
    }
    
      if(TimeSARHL){
    
         contatore=true;
    
    }




    if( TimeSARLH && contatore==true){
    
        
         contatore=false;
    
    
    }
    
      if(TimeSARLH){
    
         contatore=true;
    
    }
          
       }    
          
     

Puliexpress
Messaggi: 26
Iscritto il: mer apr 22, 2020 2:21 pm

Re: creare un canele prezzo

Messaggio da Puliexpress »

ci ho messo un po' ma ora forse l'ho fatto corretto

Codice: Seleziona tutto

   if ( Close[2] > sar_2 && Close[1] > sar_1 && 
           sar_2 < sma200_2 && sar_1 > sma200_1 )
      {
         TimeSARLH = Time[1]; // salvo il momento dell'evento
         Print ( "<<<<<<<< SARLH" );
      }
      
      //----------- attendo transizione della SAR da sopra a sotto la media purchè il prezzo sia sotto la SAR nella barra 1 e 2     
      if ( Close[2] < sar_2 && Close[1] < sar_1 &&
           sar_2 > sma200_2 && sar_1 < sma200_1 )
      {
         TimeSARHL = Time[1]; // salvo il momento dell'evento
         Print ( ">>>>>>>> SARHL");
      }
      
      // assegnazione massimo del canale SOLO SE :
      // il momento della transizione TimeSARHL è MAGGIORE di TimeSARLH e se c'è stata una variazione in queste due variabili rispetto al calcolo precedente
      // il test sulle variazioni è utile per non dover ripetere la ricerca ad ogni nuovo prezzo ricevuto, visto che impegan l'esecuzione del programma
      // perchè sia l'iBarShift che iHighest e iLowest sono impegnativi per la piattaforma, inutile ammazzare i backtest
      if ( TimeSARHL > TimeSARLH && TimeSARHL != OLD_TimeSARHL && TimeSARLH != OLD_TimeSARLH )
      {
         OLD_TimeSARHL = TimeSARHL; OLD_TimeSARLH = TimeSARLH; // aggiorno le "OLD così sono a posto subito
         int barra_Start = iBarShift( Symbol(), Period(), TimeSARLH ); // ricerco in quale barra (relativa al momento corrente) è avvenuto il passaggio LH
         
         // di fatto il calcolo successivo è sostanzialmente inutile, in quanto il valore più recente nel tempo è SEMPRE contenuto nella barra 1
         // cioè è stato appena generato dal test più sopra, quindi barra_End conterrà sempre il valore di 1
         int barra_End   = iBarShift( Symbol(), Period(), TimeSARHL ); // ricerco in quale barra (relativa al momento corrente) è avvenuto il passaggio HL
         
         // da questa funzione ottengo la barra che contiene il valore più alto del canale
         int Bar_ChannelMax = iHighest( Symbol(), Period(), MODE_HIGH, barra_Start, barra_End ); // qui si dovrebbe poter mettere 1 al posto di barra_end
         ChannelMax = iHigh ( Symbol(), Period(), Bar_ChannelMax );
         Print ( "ChannelMax : " + DoubleToString ( ChannelMax, Digits ) );
      }
      
      
      
        if ( TimeSARHL < TimeSARLH && TimeSARHL != OLD_TimeSARHL && TimeSARLH != OLD_TimeSARLH )
      {
         OLD_TimeSARHL = TimeSARHL; OLD_TimeSARLH = TimeSARLH; // aggiorno le "OLD così sono a posto subito
         int barra_Start = iBarShift( Symbol(), Period(), TimeSARHL ); // ricerco in quale barra (relativa al momento corrente) è avvenuto il passaggio LH
         
         // di fatto il calcolo successivo è sostanzialmente inutile, in quanto il valore più recente nel tempo è SEMPRE contenuto nella barra 1
         // cioè è stato appena generato dal test più sopra, quindi barra_End conterrà sempre il valore di 1
         int barra_End   = iBarShift( Symbol(), Period(), TimeSARLH ); // ricerco in quale barra (relativa al momento corrente) è avvenuto il passaggio HL
         
         // da questa funzione ottengo la barra che contiene il valore più alto del canale
         int Bar_ChannelMin = iLowest( Symbol(), Period(), MODE_LOW, barra_Start, barra_End ); // qui si dovrebbe poter mettere 1 al posto di barra_end
         ChannelMin = iLow ( Symbol(), Period(), Bar_ChannelMin );
         Print ( "ChannelMin : " + DoubleToString ( ChannelMin, Digits ) );
      }
   

Rispondi