Programmazione Prorealtime Prorealtime:formule, indicatori, oscillatori, tsi ... (1 Viewer)

Ciao spaghetto ti posto uno shot di esempio sul Dax con la finestra proprietà aperta dove puoi vedere come ho settato il ciclo disegnato blu tratteggiato.

Vedi l'allegato 80771


Sul daily le variabili minuti e ora vanno messe a zero, come vedi dall'immagine il grafico del prezzo si sviluppa su un range da 5600 punti fino a 6400 ed ho usato questi valori come inf e sup!

Con questo rispondo anche a quarter che mi chiedeva se era possibile plottare diversi cicli insieme, come vedi si solo che non è possibile interrompere il ciclo dopo averne definito la partenza, quindi più se ne mettono sullo schermo più a parer mio aumenta la confusione. Per quanto riguarda la possibilità di settare forze differenti ai vari cicli ripeto che laq semplicità del battleplan lo apre a personalizzazioni di ogni tipo ed invito anche voi a farne, non ci vuole miolto basta andare a "smanettare" in questa parte del codice

Codice:
.....

    w1=SIN([COLOR=Blue]8[/COLOR]*x+phase)
    w2=[COLOR=Red]2[/COLOR]*SIN([COLOR=Blue]4[/COLOR]*x+phase)
    w3=[COLOR=Red]3[/COLOR]*SIN([COLOR=Blue]2[/COLOR]*x+phase)
    w4=[COLOR=Red]4[/COLOR]*SIN(x+phase)
    ciclo=w1+w2+w3+w4
.......
Le variabili w1 w2 ecc altro non sono che le sotto onde, i numeri in rosso indicano la forza che si attribuisce ad ogni onda e i blu definiscono la frequenza dell'onda. Se per esempio cambiamo i numeri blu (8 4 2 ) con 12 6 2 definiamo un ciclo es un tracy (w4) composto da due T-1 (w3) ognuno composto da 3 T-2 (w2) in 2 tempi (w1).


Spero di essere stato chiaro ed non aver creato ancor più confusione :)

Ciao

P.S.:ah spaghetto dimenticavo.... tana per l'avatar :D

YouTube - Blinkenlights - Simian Mobile Disco
Ciao allego il codice per metatrader del suddetto indicatore,che pero mi plotta una linea retta e basta...C'è qualche anima pia che mi da una amno?Grazie
PHP:
#property  indicator_chart_window
#property  indicator_buffers 1
#property  indicator_color1  Lime

extern int year=2010;
extern int month=6;
extern int day=1;
extern int hour=0;
extern int minute=0;
extern double inf=1.28000;
extern double sup=1.32000;
extern double cyclelength=60;
extern double trend=0;
//---- buffers
double Hurst[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   IndicatorBuffers(1);

   SetIndexBuffer(0,Hurst);

      SetIndexStyle(0,DRAW_LINE,0,2);

   IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS));
      IndicatorShortName(WindowExpertName());

   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {

  double a,ma,w1,w2,w3,w4,cycle,x,grc,c,b;

   int i,limit,phase;
   int flag;
  int counted_bars = IndicatorCounted();
   if(counted_bars < 0) 
   return(-1);
 
   limit=Bars-counted_bars-1;
  
   
   for( i=limit; i>=0; i--) {

if (day==TimeDay(TimeCurrent()) && month==TimeMonth(TimeCurrent()) && year==TimeYear(TimeCurrent()) && hour==Hour() && minute==Minute()){
    flag=1;
}
if( flag==0) {
    Hurst[i]=EMPTY_VALUE;
    }
else
    {
    a=a+1;
    x=(360/cyclelength)*a;
    phase=-90;
    w1=MathSin(8*x+phase);
    w2=2*MathSin(4*x+phase);
    w3=3*MathSin(2*x+phase);
    w4=4*MathSin(x+phase);
    cycle=(w1+w2+w3+w4);
    grc=0.01029;
    c=(grc*trend*1);
    b=b+c;
}
   for( i=limit; i>=0; i--) {

    Hurst[i]=(cycle+b+10)*((sup-inf)/15)+inf;
}






        }

 
    return(0);
    }
 

tetsuo

Guest
Ciao allego il codice per metatrader del suddetto indicatore,che pero mi plotta una linea retta e basta...C'è qualche anima pia che mi da una amno?Grazie



:D

Codice:
#property  indicator_chart_window
#property  indicator_buffers 1
#property  indicator_color1  Lime

extern int year=2010;
extern int month=6;
extern int day=1;
extern int hour=0;
extern int minute=0;
extern double inf=1.28000;
extern double sup=1.32000;
extern double cyclelength=60;
extern double trend=0;
//---- buffers
double Hurst[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   IndicatorBuffers(1);

   SetIndexBuffer(0,Hurst);

      SetIndexStyle(0,DRAW_LINE,0,2);

   IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS));
      IndicatorShortName(WindowExpertName());

   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {

  double a,ma,w1,w2,w3,w4,cycle,x,grc,c,b,pi;

   int i,limit,phase;
   int flag;
  int counted_bars = IndicatorCounted();
   if(counted_bars < 0) 
   return(-1);
 
   limit=Bars-counted_bars-1;
   
  
   
   for( i=limit; i>=0; i--) {

if (day==TimeDay(Time[i]) && month==TimeMonth(Time[i]) && year==TimeYear(Time[i])){
    flag=1;
   
}
if( flag==0) {
    Hurst[i]=EMPTY_VALUE;
    }
else
    {
    a=a+1;
    x=(360/cyclelength)*a;
    phase=-90;
    pi=3.1415926535;
   
    w1=MathSin(((8*x+phase)*pi)/180);
    w2=2*MathSin(((4*x+phase)*pi)/180);
    w3=3*MathSin(((2*x+phase)*pi)/180);
    w4=4*MathSin(((x+phase)*pi)/180);
    cycle=(w1+w2+w3+w4);
    grc=0.01029;
    c=(grc*trend*1);
    b=b+c;
    Hurst[i]=(cycle+b+10)*((sup-inf)/15)+inf;
}

        }
 
    return(0);
    }
Due le correzioni che ho fatto

- Per calcolare la data di una barra specifica si usa Time[n] così all'interno di un ciclo con i ottieni la data di tutte le barre

- MathSin() calcola il seno di un angolo in radianti mentre PRT lo calcola in gradi quindi si devono trasformare i gradi in radianti (°*π)/180.



day_15_09.gif




ciao
 
Ultima modifica di un moderatore:

Airluke

Utente in progress
Lista completa ETF Italia su PRT

Ciao a tutti, chi mi da una mano?
Ho fatto l'iscrizione gratuita a PRT, sono entrato (sia nella piattaforma semplificata che in quella completa) e ho cercato di trovare l'elenco degli ETF gestiti dalla Borsa italiana, ma nonostante la voce ETF sia presente, non riesco a far apparire alcuna lista. Riesco solo a selezionare gli ETF che contengono una determinata stringa, ad esempio proprio "etf", ma non mi sembra che così ottengo la lista completa...
In cosa sbaglio?

Grazie & ciao
 

CraZyNasdAq

Nuovo forumer
Ciao Gianluca
..........
..........
Grazie ancora della disponibilità mostrata ed in bocca al lupo per tutto.

Ciao Daniele

Un sincero saluto sia a Daniele (Tetsuo) che a Meursault.......
E' stato un piacere !!!

Chiedo gentilmente a chi volesse info in merito ai miei indicatori di contattarmi personalmente via mail o skype e non tramite Forum in quanto poi mi attribuiscono "la colpa" di farmi pubblicità tramite i post ai fini di vendita. I riferimenti per raggiungermi li trovate nel mio Blog.
Saluti

Gianluca

P.S.
Se dovete valutare l'accessibilità ai dati Bid-Ask da parte della piattaforma, ponete una grande attenzione al fatto che siano ben sincronizzati con il Trade, cosa che non è affatto scontata in questi momenti in cui l'High Frequency Trading sta spopolando sui vari mercati.
Io Ho fatto uno studio in merito, inerente la realizzazione a l'attendibilità dei miei indicatori, interpellando diversi datafeed, providers e brokers ed i risultati sono stati decisamente inattesi e assolutamente diversi dalle aspettative.
Ne parlo in questo video.......High Frequency Trading Indicator - Beyond the Future on Vimeo
 
:D

Codice:
#property  indicator_chart_window
#property  indicator_buffers 1
#property  indicator_color1  Lime

extern int year=2010;
extern int month=6;
extern int day=1;
extern int hour=0;
extern int minute=0;
extern double inf=1.28000;
extern double sup=1.32000;
extern double cyclelength=60;
extern double trend=0;
//---- buffers
double Hurst[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   IndicatorBuffers(1);

   SetIndexBuffer(0,Hurst);

      SetIndexStyle(0,DRAW_LINE,0,2);

   IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS));
      IndicatorShortName(WindowExpertName());

   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {

  double a,ma,w1,w2,w3,w4,cycle,x,grc,c,b,pi;

   int i,limit,phase;
   int flag;
  int counted_bars = IndicatorCounted();
   if(counted_bars < 0) 
   return(-1);
 
   limit=Bars-counted_bars-1;
   
  
   
   for( i=limit; i>=0; i--) {

if (day==TimeDay(Time[i]) && month==TimeMonth(Time[i]) && year==TimeYear(Time[i])){
    flag=1;
   
}
if( flag==0) {
    Hurst[i]=EMPTY_VALUE;
    }
else
    {
    a=a+1;
    x=(360/cyclelength)*a;
    phase=-90;
    pi=3.1415926535;
   
    w1=MathSin(((8*x+phase)*pi)/180);
    w2=2*MathSin(((4*x+phase)*pi)/180);
    w3=3*MathSin(((2*x+phase)*pi)/180);
    w4=4*MathSin(((x+phase)*pi)/180);
    cycle=(w1+w2+w3+w4);
    grc=0.01029;
    c=(grc*trend*1);
    b=b+c;
    Hurst[i]=(cycle+b+10)*((sup-inf)/15)+inf;
}

        }
 
    return(0);
    }
Due le correzioni che ho fatto

- Per calcolare la data di una barra specifica si usa Time[n] così all'interno di un ciclo con i ottieni la data di tutte le barre

- MathSin() calcola il seno di un angolo in radianti mentre PRT lo calcola in gradi quindi si devono trasformare i gradi in radianti (°*π)/180.



Vedi l'allegato 80921



ciao
Ehi ti ringrazio!Ci sono stato ore...Grazie mille,ma il fatto della funzione MathSin non la sapevo proprio!Grazie ancora
 

meursault

lo straniero
Mi sono arenato...
Riuscite a sbloccarmi la situazione please?
Questo codice gestisce bene le entrate long\short e gli stop
La gestione no.L'esempio che volevo tradurre è questo:
se sono a mercato long aspetto una chiusura superiore all'entrata.se si verifica la segno in chiusura.aspetto un'altra chiusura superiore alla precedente segnata e la segno nuovamente.La successiva chiusura
superiore a questa mi fa uscire.

Ciao Scalatore :)
Ho buttato giu' una soluzione brutale e forse ridondante, ma e' la prima che mi e' venuta in mente, vediamo se funziona.

Questo e' un semplice ts che entra long con close superiore ad una media mobile ed esce secondo il tuo criterio. Nel momento in cui si verifica la condizione di entrata (e non si e' a mercato) inizializzo i due livelli di controllo. Nel momento in cui abbiamo un close superiore al secondo livello di controllo si esce.

Codice:
mm = Average[28](close)


if close > mm then
	if not longonmarket then
		livello1 = 0
		livello2 = 0
	endif
	buy 1 shares at market thisbaronclose
endif

if longonmarket and barindex <> entryindex then
	if livello1 = 0 then
		if close >= entryquote then
			livello1 = close
		endif
	else
		if livello2 = 0 then
			if close >= livello1 then
				livello2 = close
			endif
		else
			if close >= livello2 then
				sell 1 shares at market thisbaronclose
			endif
		endif
	endif
endif

1284632546djeurostoxx501210.png


Prova a vedere se riesci ad inserire questa gestione dei due livelli nel tuo codice. Spero che non crei casini con eventuali segnali di stop loss o reverse. Al massimo ne riparliamo nel dettaglio del tuo codice.

Ciao :)
 

scalatore1

Nuovo forumer
Ciao Scalatore :)
Ho buttato giu' una soluzione brutale e forse ridondante, ma e' la prima che mi e' venuta in mente, vediamo se funziona...................


Grazie ottimo aiuto...
era quello che cercavo ma la mia impreparazione
non mi ha consigliato di usare else....:wall:
ore e ore di prove ma a scuola ho imparato solo tante poesie...
denghiu allego grafico
cristian
 

Allegati

  • DAX Full1210 Future.png
    DAX Full1210 Future.png
    16,7 KB · Visite: 1.512

meursault

lo straniero
Grazie ottimo aiuto...
era quello che cercavo ma la mia impreparazione
non mi ha consigliato di usare else....:wall:
ore e ore di prove ma a scuola ho imparato solo tante poesie...
denghiu allego grafico
cristian

Felice che funzioni, quando posso ... :)
Comunque non ti preoccupare, io a scuola non ho imparato NEANCHE le poesie :wall::wall::wall::wall::wall: :D
 

Airluke

Utente in progress
Ciao a tutti, chi mi da una mano?
Ho fatto l'iscrizione gratuita a PRT, sono entrato (sia nella piattaforma semplificata che in quella completa) e ho cercato di trovare l'elenco degli ETF gestiti dalla Borsa italiana, ma nonostante la voce ETF sia presente, non riesco a far apparire alcuna lista. Riesco solo a selezionare gli ETF che contengono una determinata stringa, ad esempio proprio "etf", ma non mi sembra che così ottengo la lista completa...
In cosa sbaglio?

Grazie & ciao

Arrangiati!!!
 
Ultima modifica:

Users who are viewing this thread

Alto