COSTRUZIONE INDICATORE PER ANALISI CICLICA CON VISUAL TRADER (4 lettori)

solospread

Forumer storico
Bella l'ultima.
 

Allegati

  • ScreenHunter_01 Oct. 02 15.02.gif
    ScreenHunter_01 Oct. 02 15.02.gif
    40,8 KB · Visite: 241

soloEuroFX

Nuovo forumer
Mt4 ---> vt

Sono in possesso di due indicatori usati spesso nei trading system sul forex e come la maggior parte di quest'ultimi girano sotto la MT4 quindi i codici sono elaborati con il MetaEditor...vorrei tradurli per eventualmente testarli con Visual Trader e vedere se mantengono con costanza i rendimenti ottenuti.:up: Ringrazio anticipatamente chi volesse collaborare all'elaborazione

:ciao:
 

Hell75

Nuovo forumer
Sono in possesso di due indicatori usati spesso nei trading system sul forex e come la maggior parte di quest'ultimi girano sotto la MT4 quindi i codici sono elaborati con il MetaEditor...vorrei tradurli per eventualmente testarli con Visual Trader e vedere se mantengono con costanza i rendimenti ottenuti.:up: Ringrazio anticipatamente chi volesse collaborare all'elaborazione

:ciao:

Hola...
Postali qua sul 3D che ti daremo sicuramente una mano :up::up:
 

soloEuroFX

Nuovo forumer
Hola...
Postali qua sul 3D che ti daremo sicuramente una mano :up::up:


Hello...grazie per l'interesse qui di seguito riporto entrambi i codici degli indicatori in linguaggio Metatrader da tradurre per Visual Trader ;)

" INDICATORE FISHER "

#property indicator_separate_window
#property indicator_buffers 3
#property indicator_color1 Blue
#property indicator_color2 Blue
#property indicator_color3 White
#property indicator_level1 -0.30
#property indicator_level2 0.30
extern int period=14;
extern int bars_count=100000;
double ExtBuffer0[];
double ExtBuffer1[];
double ExtBuffer2[];

int init()
{


SetIndexStyle(0,DRAW_NONE);
SetIndexStyle(1,DRAW_HISTOGRAM);
SetIndexStyle(2,DRAW_HISTOGRAM);
//IndicatorDigits(Digits+1);
SetIndexBuffer(0,ExtBuffer0);
SetIndexBuffer(1,ExtBuffer1);
SetIndexBuffer(2,ExtBuffer2);
IndicatorShortName("Fisher");
SetIndexLabel(1,NULL);
SetIndexLabel(2,NULL);
return(0);
}

int start()
{
//int period=10;
int limit;
int counted_bars=IndicatorCounted();
double prev,current,old;
double Value=0,Value1=0,Value2=0,Fish=0,Fish1=0,Fish2=0;
double price;
double MinL=0;
double MaxH=0;

if(counted_bars>0) counted_bars--;
if(bars_count > Bars || bars_count==0)
{
limit=Bars - period;
}else{
limit=bars_count-period;
}

for(int i=limit; i>=0; i--)
{ MaxH = High[Highest(NULL,0,MODE_HIGH,period,i)];
MinL = Low[Lowest(NULL,0,MODE_LOW,period,i)];
price = (High+Low)/2;
Value = 0.33*2*((price-MinL)/(MaxH-MinL)-0.5) + 0.67*Value1;
Value=MathMin(MathMax(Value,-0.999),0.999);
ExtBuffer0=0.5*MathLog((1+Value)/(1-Value))+0.5*Fish1;
Value1=Value;
Fish1=ExtBuffer0;

}

bool up=true;
for(i=limit-2; i>=0; i--)
{
current=ExtBuffer0;
prev=ExtBuffer0[i+1];

if (((current<0)&&(prev>0))||(current<0)) up= false;
if (((current>0)&&(prev<0))||(current>0)) up= true;

if(!up)
{
ExtBuffer2=current;
ExtBuffer1=0.0;
}

else
{
ExtBuffer1=current;
ExtBuffer2=0.0;
}
}
return(0);
}




" INDICATORE HEIKEN ASHI SMOOTHED "

#property indicator_chart_window
#property indicator_buffers 4
#property indicator_color1 Black
#property indicator_color2 Black
#property indicator_color3 White
#property indicator_color4 Blue
//---- parameters
extern int MaMetod =2;
extern int MaPeriod=6;
extern int MaMetod2 =3;
extern int MaPeriod2=2;
//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];
double ExtMapBuffer4[];
double ExtMapBuffer5[];
double ExtMapBuffer6[];
double ExtMapBuffer7[];
double ExtMapBuffer8[];
//----
int ExtCountedBars=0;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//|------------------------------------------------------------------|
int init()
{
//---- indicators
IndicatorBuffers(8);
SetIndexStyle(0,DRAW_HISTOGRAM, 0, 1, Black);
SetIndexBuffer(0, ExtMapBuffer1);
SetIndexStyle(1,DRAW_HISTOGRAM, 0, 1, Black);
SetIndexBuffer(1, ExtMapBuffer2);
SetIndexStyle(2,DRAW_HISTOGRAM, 0, 2, White);
SetIndexBuffer(2, ExtMapBuffer3);
SetIndexStyle(3,DRAW_HISTOGRAM, 0, 2, Blue);
SetIndexBuffer(3, ExtMapBuffer4);
//----
SetIndexDrawBegin(0,5);
//---- indicator buffers mapping
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexBuffer(1,ExtMapBuffer2);
SetIndexBuffer(2,ExtMapBuffer3);
SetIndexBuffer(3,ExtMapBuffer4);
SetIndexBuffer(4,ExtMapBuffer5);
SetIndexBuffer(5,ExtMapBuffer6);
SetIndexBuffer(6,ExtMapBuffer7);
SetIndexBuffer(7,ExtMapBuffer8);
//---- initialization done
return(0);
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//---- TODO: add your code here
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
double maOpen, maClose, maLow, maHigh;
double haOpen, haHigh, haLow, haClose;
if(Bars<=10) return(0);
ExtCountedBars=IndicatorCounted();
//---- check for possible errors
if (ExtCountedBars<0) return(-1);
//---- last counted bar will be recounted
if (ExtCountedBars>0) ExtCountedBars--;
int pos=Bars-ExtCountedBars-1;
while(pos>=0)
{
maOpen=iMA(NULL,0,MaPeriod,0,MaMetod,MODE_OPEN,pos);
maClose=iMA(NULL,0,MaPeriod,0,MaMetod,MODE_CLOSE,pos);
maLow=iMA(NULL,0,MaPeriod,0,MaMetod,MODE_LOW,pos);
maHigh=iMA(NULL,0,MaPeriod,0,MaMetod,MODE_HIGH,pos);
//----
haOpen=(ExtMapBuffer5[pos+1]+ExtMapBuffer6[pos+1])/2;
haClose=(maOpen+maHigh+maLow+maClose)/4;
haHigh=MathMax(maHigh, MathMax(haOpen, haClose));
haLow=MathMin(maLow, MathMin(haOpen, haClose));
if (haOpen<haClose)
{
ExtMapBuffer7[pos]=haLow;
ExtMapBuffer8[pos]=haHigh;
}
else
{
ExtMapBuffer7[pos]=haHigh;
ExtMapBuffer8[pos]=haLow;
}
ExtMapBuffer5[pos]=haOpen;
ExtMapBuffer6[pos]=haClose;
pos--;
}
int i;
for(i=0; i<Bars; i++) ExtMapBuffer1=iMAOnArray(ExtMapBuffer7,Bars,MaPeriod2,0,MaMetod2,i);
for(i=0; i<Bars; i++) ExtMapBuffer2=iMAOnArray(ExtMapBuffer8,Bars,MaPeriod2,0,MaMetod2,i);
for(i=0; i<Bars; i++) ExtMapBuffer3=iMAOnArray(ExtMapBuffer5,Bars,MaPeriod2,0,MaMetod2,i);
for(i=0; i<Bars; i++) ExtMapBuffer4=iMAOnArray(ExtMapBuffer6,Bars,MaPeriod2,0,MaMetod2,i);
//----
return(0);
}
//+------------------------------------------------------------------+
 

seo

Forumer attivo
Vorrei vedere un qualunque oscillatore su VT in realtime, incluso la candela dell'ultimo prezzo, allora sul manuale ho trovato questo:

- In REALTIME: Attivare la voce "Attiva in Realtime" (bottone TS verde), per permettere il ricalcolo Automatico delle Curve.


ma dov'è questo bottone verde? io non lo trovo :(

ciao
 

Magico25

Forumer attivo
Ciao a tutti vedo che qui non si e' mai parlato di automatizzare vt....be io ci sto provando e qualcosa ne e' uscito.....sto provando vari programmini...ho provato autoclick ma ha il problema che devi fissare il mouse in un punto perciso e da li non si puo' piu' fare niente :(.....poi Hell molto disponibile :bow: mi ha consigliato un altro programmino ....pero' non sono riuscito a provarlo perche' sono troppo gnurant su queste cose...Hell se hai tempo e voglia di provare tu .....e poi come ultima spiaggia ce un programma che si chiama autoit v3 che devi fare un programma tu (come un trading system che dice che fare)e lui esegue ...il programma e qui di seguito


While 1
sleep(1800)
WinWait("Visual Trader","&Trading")
If Not WinActive("Visual Trader","&Trading") Then WinActivate("Visual Trader","&Trading")
WinWaitActive("Visual Trader","&Trading")
MouseMove(623,576,0)
MouseDown("left")
MouseUp("left")
MouseDown("left")
MouseUp("left")
WEnd


il problema di questo programmino e' :sad:: creato il file non riesco a farlo funzionare
in piu' il problema e' che per fare una cosa perfetta bisognerebbe che eseguisse il reverse cosi' le commisioni si pagano una volta sola(poi se qualcuno interessa mi spieghero' meglio) ...ad ogni modo il programma sopra dicono che e' e' funzionate...ma da sistemare ....


faccio un appello a chi magari potrebbe aver trovato la soluzione o sa usare autoit v3
se mi possono dare una dritta alla soluzione...Forse anche il programma che mi ha dato Hell funziona ma non ho le capacita' di metterlo in moto Hell provaci tu :titanic: ..poi per qualsiasi cosa basta mettersi d'accordo :up:
 

action

Nuovo forumer
Dipende se lavori con Fx Mt4 la cosa è fattibile e completamente automatizzata (+ sicura)!!
Mentre con soft che autoclikkano o leggono posizioni schermo ecc non so ..
Ciaoooooo
 

solospread

Forumer storico
newmoon;1long084082 ha scritto:
bella sì :)
bisogna però vedere, in questi casi, se si riesce ad entrare al valore indicato dal TS
tu come ti regoli?
Io faccio cosi. Quando mi esce la finestra enterlong compro al prezzo indicato. Se lo prende faccio il trade, mentre se sale subito e non mi dà l'eseguito in un paio di minuti annullo l'operazione ed aspetto il trade successivo. Essendo il profit di 16 pips non posso permettermi di regalare 2 o 3 pips di slippage.
 

Wile Coyote

Nuovo forumer
Io faccio cosi. Quando mi esce la finestra enterlong compro al prezzo indicato. Se lo prende faccio il trade, mentre se sale subito e non mi dà l'eseguito in un paio di minuti annullo l'operazione ed aspetto il trade successivo. Essendo il profit di 16 pips non posso permettermi di regalare 2 o 3 pips di slippage.

Ciao Solo, ancora complimenti per il tuo lavoro. Sto testando sul forex il Ts derivato dalle tue bande e facendo un backtest ad un anno mi sono reso conto che utilizzando stoploss 35 e takeprofit 15 guadagna molto di più che con i valori da te utilizzati (25 e 16). Vuoi provare quei valori con il tuo ts per vedere quali sono i risultati??
Ciao!:up:
 

Users who are viewing this thread

Alto