COSTRUZIONE INDICATORE PER ANALISI CICLICA CON VISUAL TRADER (1 Viewer)

Machno

Forumer attivo
giro la richiesta a Machno in quanto conoscitore del linguaggio mt4

Ciao a tutti.
Appena ho visto i nuovi listati di solospread mi sono ripromesso di convertirli in MT4.
Avendo già scritto la base di partenza, il lavoro non sarà molto difficile.
Il problema e' che nella scorsa settimana ho avuto pochissimo tempo libero a disposizione ma conto di riuscire a fare i nuovi indicatori nel giro delle prossime due o tre sere,
A presto
 

newmoon

Forumer attivo
Ciao a tutti.
Appena ho visto i nuovi listati di solospread mi sono ripromesso di convertirli in MT4.
Avendo già scritto la base di partenza, il lavoro non sarà molto difficile.
Il problema e' che nella scorsa settimana ho avuto pochissimo tempo libero a disposizione ma conto di riuscire a fare i nuovi indicatori nel giro delle prossime due o tre sere,
A presto

grazie anche a te Machno per l'impegno che metti a disposizione di tutti :)
ma sei autodidatta di programmazione o ci sono studi dietro?
 

Machno

Forumer attivo
grazie anche a te Machno per l'impegno che metti a disposizione di tutti :)
ma sei autodidatta di programmazione o ci sono studi dietro?

Sono autodidatta da sempre.
Ho iniziato da ragazzino a programmare in basic, pascal e dbase.
Alla fine sono arrivato a Metatrader.
E' la passione di tutta una vita, ma mi ritengo un hobbysta, non un programmatore professionale.
 

newmoon

Forumer attivo
Sono autodidatta da sempre.
Ho iniziato da ragazzino a programmare in basic, pascal e dbase.
Alla fine sono arrivato a Metatrader.
E' la passione di tutta una vita, ma mi ritengo un hobbysta, non un programmatore professionale.

bene Machno sei riuscito a trasformare una passione in qualcosa di utile :up:
chissà che nasca qualcosa di veramente valido
 

solospread

Forumer storico
grazie solos per il listato con min e max. come l'altro non è ottimizzato per l'euro.
ormai che hai pratica potresti proporlo per l'euro?
un'altra cosa: questi indicatori non ti sembrano troppo RSI dipendenti?

ciao e grazie ancora per le tue condivisioni :)

In effetti l'RSI ha molta influenza. Ora che me lo hai fatto notare ho plottato un RSI in fondo al grafo ed in effetti si comporta allo stesso modo.
Sono scale diverse ed i picchi vengono esasperati di piu , ma il risultato è lo stesso.
Ho tolto l'RSI dal motore e l'ho plottato sul grafo (DER). Praticamente viene ribaltato l'andamento ed i picchi si rovesciano anche senza RSI. (meno leggibile, però)
Del resto il funzionamento delle bande rispecchia l'andamento del mercato ed anche l'RSI è una sommatoria di barre positive meno quelle negative.
Anche lui segue il mercato.
Il valore aggiunto, secondo me è rappresentato dai vari derivati su cui si lavora per estrapolare minimum e maximum.
TOLTO-RSI.PNG
 

solospread

Forumer storico
Vista la dipendenza del Puntatore all'RSI ho pensato di integrarlo con altri input indipendenti.
Da DER che è un surrogato delle Bande di Solospread ricavo mio8,mio9,DOR.
Questi segnali li metto assieme a MINIMUM e MAXIMUM. A volte si sovrappongono anche se provenienti da strade diverse,
ma questo non fà altro che rafforzare la bontà del segnale.
Ho lasciato tutti i plot, cosi si possono visualizzare tutti gli indicatori, basta togliere le //.
Il tutto và provato in real time ed ottimizzato. Forse ci sono troppi segnali, ma la maggioranza di loro sono buoni.
E' impossibile cogliere tutte le inversioni senza stopparne nessuna, ma sicuramente si può perfezionare
togliendo le entrate troppo precoci.
Metto grafo e listato definitivo. Per ora lo chiudo cosi.
DEFINITIVO.PNG


Codice:
// TS-PUNTATORE SEGNAMINIMI E SEGNAMASSIMI BY SOLOSPREAD

Var: miomov1,miomax1,miomin1,AA,BB,CC,DD,VV,ZZ,HH,PP,MINIMI,QQ,KK;
var: mio1,tank,please,SDE,SDO,UU,miorsi1,SLOW,segnamassimi,miorsi2;
var: indzona1,indzona2,indzona3,indzona4,SEGNAMASSIMI;
var: PUNTATORESEGNAMINIMI,SEGNAMINIMI,media1,media2;
Var: mioosc3(0);
Var: mioosc1(0);
Var: mioosc2(0);
var: RA,RB,RC,RD,RCRD,TANK1,PLEASE1;
var: miorsi1,mioMOV1,mioMAX1,mioMIN1,AA,BB,CC,DD;
var: tank,please,VV,ZZ,HH,PP;
var: aaa,bbb,ccc,ddd,MIOMOV2,MIOMAX2,MIOMIN2;
var: A1,B1,C1,D1,minsegnamassimi;
var: maxsegnamassimi,minpuntatoresegnaminimi;
var: TREND,STREET,med;
var: slip,R2S,Mslip,MR2s,minimum,maximum;
var: MIN1,MAX1,bb1,CC1,MAXIM;   
var: DER,MDER,minDER,DOR,mio8,mio9;
MIN1 = LLV(RSI(C,14,s),20) < Ref(LLV(RSI(C,14,s),20),2) AND LLV(RSI(C,14,s),20) < 30;
MAX1 = HHV(RSI(C,14,s),20) > Ref(HHV(RSI(C,14,s),20),2) AND HHV(RSI(C,14,s),20) > 75;

if MIN1 = true then
bb1 =1;
else
bb1 =0;
endif;
if MAX1 = TRUE then
CC1 =1;
else
CC1 =0;
endif;

mioRSI1 = RSI(C,14,s); //RSI da usare suframe 5 minuti
mioRSI2 = RSI(C,21,s); // RSI da usare su frame giornaliero


mioMOV1 = MOV(mioRSI1,3,s);
mioMAX1 = HHV(mioRSI1,30);
mioMIN1 = LLV(mioRSI1,30);

miomax2 = HHV(H,30);
miomin2 = LLv(L,30);
miomov2 = MOV(C,3,s);

// BANDE DI SOLOSPREAD
AA = ((miomax1 - C)+ (miomov1)*miomax1)/H;
BB = ((miomin1 - C)+ (miomov1)*miomin1)/L;
CC = (miomax1- miomov1)+ (C * miomax1)/(C);
DD = (miomin1 - miomov1)+ ( C *miomin1)/(C);

//BANDE MODIFICATE CON RSI
AAA = ((mioMAX1 - mioRSI1) + (mioMOV1)*mioMAX2)/H;
BBB = ((mioMIN1 - mioRSI1) + (mioMOV1)*mioMIN2)/L;
CCC = (miomax1- miomov1) + (mioRSI1 * miomax2)/C;
DDD = (miomin1 - miomov1)+ ( mioRSI1 *miomin2)/C;


a1 = aa+aaa;
b1 = bb+bbb;
c1 = cc+ccc;
d1 = dd+ddd;

TANK   = MOV(A1,3,s);
PLEASE = MOV(B1,3,s);

VV = (CC-AA);
ZZ = (BB-DD);
HH = VV-ZZ;
PP = tank - please;


media1 = MOV(C, 10, S);
media2 = MOV(C,50,s);


// BOLLINGER
mioosc2 = BBandLower (C, 20, 4, 0);
mioosc1 = BBandUpper (C, 20, 4, 0);
mioosc3 = BBandCenter (C, 20, 4, 0);



miomax1 = HHV(H,30);
miomin1 = LLV(L,30);
miomov1 = MOV(C,3,s);
RA = ((miomax1 - C)+ (miomov1)*miomax1)/H;
RB = ((miomin1 - C)+ (miomov1)*miomin1)/L;
RC = (miomax1- miomov1)+ (C * miomax1)/(C);
RCRD = (miomin1 - miomov1)+ ( C *miomin1)/(C);

tank1 = MOV(RA,3,s);
please1 = MOV(RB,3,s);


QQ = (RC-RA)/please1;
KK = (mioosc1-RB)/tank1;
med = (miomax2-miomin2)/2 + miomin2;

PUNTATORESEGNAMINIMI = (100/( miorsi1+(qq-kk))+48); // MOTORE
SEGNAMASSIMI = (a1/c1);

//////////////////////////////////////////////////////////

slip = (segnamassimi/puntatoresegnaminimi)* 100;
r2s =  (PUNTATORESEGNAMINIMI/SEGNAMASSIMI)/ 100;
Mslip = LLV(slip,15);
Mr2s = HHV(r2s,15);

//////////////////////////////////////////////////////////

if slip = Mslip and slip < slip[1] and (Mr2s -Mslip)> 1.2 and puntatoresegnaminimi < puntatoresegnaminimi[1]and puntatoresegnaminimi > 50 then colorbar(blue); MINIMUM = 10; else MINIMUM = 0; endif;
if r2s = mr2s and r2s > r2s[1] and (Mr2s -Mslip)> 1.2 and puntatoresegnaminimi < puntatoresegnaminimi[1]  and puntatoresegnaminimi > 50 then colorbar(blue); MINIMUM = 10; else MINIMUM = 0; endif;
if slip >= R2s then colorbar(black) ;maximum = 10; else maximum = 0; endif;
if (R2S - slip) < 0.08 then colorbar(black) ;maximum = 10; else maximum = 0; endif;

//////////////////////////////////////////////////////////////////////
DER = (AA-BB)+48;
MDER = HHV(DER,10);
minDER =LLV(DER,10);

if puntatoresegnaminimi < 50 and puntatoresegnaminimi[2] > puntatoresegnaminimi[1] and puntatoresegnaminimi >= puntatoresegnaminimi[1]
   and DER[1] = MDER and  DER <= DER[1] then colorbar(black); DOR = 10; else DOR = 0; endif;
if H[1] = miomax1 and puntatoresegnaminimi[1] < 50 and puntatoresegnaminimi > puntatoresegnaminimi[1] and H < H[1] and DER < DER[1] then colorbar(black); mio9 = 10; else mio9 = 0; endif;
if L[1] = miomin1 and puntatoresegnaminimi[1] > 51 and puntatoresegnaminimi < puntatoresegnaminimi[1] and L > L[1] and DER > DER[1] then colorbar(blue); mio8 = 10; else mio8 = 0; endif;


indzona1 = createviewport(200,true,true);
indzona2 = createviewport(200,true,true);
indzona3 = createviewport(200,true,true);
indzona4 = CreateViewport(200,true,true);



//DrawHLine (NEWOGG,indzona1,50,fuchsia, 1, 0);
//plotchart (puntatoreSEGNAMINIMI,indzona1,black,solid,1);
//plotchart (puntatoreSEGNAMINIMI,indzona1,black,istogramma,1);

plotchart (minimum,indzona1,blue,solid,1);
plotchart (mio8,indzona1,red,solid,1);

//plotchart (SLIP,indzona3,blue,solid,1);
//plotchart (R2S,indzona3,red,solid,1);
//plotchart (MR2S,indzona3,black,solid,1);
//plotchart (MSLIP,indzona3,black,solid,1);

plotchart (maximum,indzona2,red,solid,1);
plotchart (MIO9,indzona2,blue,solid,1);
plotchart (DOR,indzona2,black,solid,1);
 
Ultima modifica:

newmoon

Forumer attivo
Vista la dipendenza del Puntatore all'RSI ho pensato di integrarlo con altri input indipendenti.
Da DER che è un surrogato delle Bande di Solospread ricavo mio8,mio9,DOR.
Questi segnali li metto assieme a MINIMUM e MAXIMUM. A volte si sovrappongono anche se provenienti da strade diverse,
ma questo non fà altro che rafforzare la bontà del segnale.
Ho lasciato tutti i plot, cosi si possono visualizzare tutti gli indicatori, basta togliere le //.
Il tutto và provato in real time ed ottimizzato. Forse ci sono troppi segnali, ma la maggioranza di loro sono buoni.
E' impossibile cogliere tutte le inversioni senza stopparne nessuna, ma sicuramente si può perfezionare
togliendo le entrate troppo precoci.
Metto grafo e listato definitivo. Per ora lo chiudo cosi. Vedi l'allegato 370413

MINIMUM e MAXIMUM danno buone indicazioni e se porti altri segnali di conferma , ben venga.
Vorrei chiederti se puoi fare il listato di minimum e maximum sull'euro visto che lo hai fatto sul puntatore.
grazie in anticipo
 

Machno

Forumer attivo
Ciao a tutti.
Con MT4 risulta piu' comodo scomporre il listato di solospread in singoli programmi corrispondenti a ciascuna finestra.

Dopo il Segna_Minimi, ho preparato il programma che plotta SLIP e R2S e ve lo metto qui, insieme a un grafico di esempio.

Il prossimo programma MT4 sarà quello che plotta MINIMUM e MAXIMUM.

Ita40Jun16M5.png
 

Allegati

  • Slip_R2S.zip
    20 KB · Visite: 188

solospread

Forumer storico
Ci stò lavorando. Il problema che io ho un listato lungo un metro con tutti i derivati che ho prodotto e ogni tanto mi ci perdo anch'io.
L'euro è molto diverso dal fib e bisogna riallineare i derivati ed adattarli alla grandezza del sottostante.
Un lavoraccio ed anche un pò palloso. Quando sono in vena ci metto mano.
Intanto ti metto un grafo con i risultati dell'ottimizzazione in corso.
Ho colorato le barre come segnale. E' piu' immediato e leggibile . Blu per i minimi e nero per i massimi.
Newoom.PNG
 

Users who are viewing this thread

Alto