Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
pendenza mtf
guarda qui alpha24seven
https://www.mql5.com/en/forum/173574
Grazie Lodol2
Mi dispiace di essermeli persi. Grazie per averli portati alla mia attenzione.
Ho avuto alcuni problemi di compilazione. Non ho mai visto questo errore prima. Qualche idea?
Vedere il grafico
Grazie.
Sono d'accordo con tutto quello che hai detto, ma non credo di essere stato abbastanza chiaro.
la formula di keris non appare così in tempo reale (senza aggiornare i grafici!), appare più come quella linea gialla; se si aggiornano i grafici, sì, tutto sembra a posto - ma allora perché non usiamo semplicemente un secondo grafico con il timeframe più alto... e confermiamo che l'indicatore si muove solo sul timeframe più alto?
dal momento in cui tracciate un indicatore mtf su un timeframe inferiore, avete un altro modo di fare la media di alcuni dati su quel timeframe (e non su un tf superiore). non sarà mai come l'originale - ma può essere approssimato. quindi la domanda è, come trovare la formula migliore per l'approssimazione più vicina? e penso che questo risponda alla vostra domanda... giusto?
La linea rossa è l'approssimazione della MA che stai proponendo
Magenta è il modo Keris di MTF MA
La linea dorata sono i valori reali di una MA di un time frame superiore su un time frame inferiore
Come potete vedere, non c'è quasi un solo valore corretto dell'approssimato in un periodo di tempo, mentre la formula di Keris dà almeno un valore corretto per periodo. Comunque, la formula per l'approssimazione in Metatrader sarebbe:
MAperiod=MAperiod*TimeFrame/Period()
Se provate ad applicare questa approssimazione agli indicatori derivati dalla media mobile (MACD per esempio), vi ritroverete con grandi, e dico grandi differenze (ho visto una differenza del 7-8% di un MACD 4H su un time frame 1H)
Una contro-domanda: cosa ne pensi di quante persone hanno provato diversi approcci agli indicatori multi time frame?Errore nel codice
L'ho capito. Questo codice extra è stato lasciato nel file -- alla fine. Basta cancellarlo, compilare e voilà.
Eccellente indicatore BTW.
---
/*
void drawLine(double lvl,string name, color Col )
{
ObjectDelete(nome);
ObjectCreate(nome, OBJ_HLINE, WindowFind(nome), Time[0], lvl,Time[0], lvl);
ObjectSet(nome, OBJPROP_STYLE, STYLE_DOT);
ObjectSet(nome, OBJPROP_COLOR, Col);
ObjectSet(name,OBJPROP_WIDTH,1);
}
---
...
La linea gialla è la media mobile"reale MTF
Non c'è bisogno di "aggiornare" nessuno degli indicatori sull'immagine
Per quanto riguarda il resto, si prega di rileggere il post
saluti
mladen
sono d'accordo con tutto quello che hai detto, ma non credo di essere stato abbastanza chiaro.
la formula di keris non appare così in tempo reale (senza aggiornare i grafici!), appare più come quella linea gialla; se si aggiornano i grafici, sì, tutto sembra a posto - ma allora perché non usare semplicemente un secondo grafico con il timeframe superiore... e confermare che l'indicatore si muove solo sul timeframe superiore?
dal momento in cui tracci un indicatore mtf su un timeframe inferiore, hai un altro modo di fare la media di alcuni dati su quel timeframe (e non su un tf superiore). non sarà mai come l'originale - ma può essere approssimato. quindi la domanda è, come trovare la formula migliore per l'approssimazione più vicina? e penso che questo risponda alla tua domanda... giusto?Ho bisogno di Mtf per questo Indi
Ciao a tutti,
Ho voluto avere la possibilità di tracciare indicatori da diversi timeframe sul mio grafico
//+------------------------------------------------------------------+
//| Fisher_m11.mq4
//| Copyright ฉ forexjr
//| Indice di /cam06/fisher |
//+------------------------------------------------------------------+
#proprietà copyright "Copyright ฉ 23.07.2006 MartinG "
#property link "http://home.arcor.de/cam06/fisher"
#proprietà indicator_separate_window
//#proprietà indicator_minimum -1
//#proprietà indicator_maximum 1
#proprietà indicator_buffers 3
#proprietà indicator_color2 RoyalBlue
#proprietà indicator_color3 Red
#property indicator_width2 0.5
#proprietà indicator_width3 0.5
int LeftNum1=56;
int LeftNum2=56;
extern int RangePeriods=35;
extern double PriceSmoothing=0.3; // =0.67 bei Fisher_m10
extern double IndexSmoothing=0.3; // =0.50 bei Fisher_m10
string ThisName="Fisher_kuskus";
int DrawStart;
//---- buffer
double ExtMapBuffer1[]
double ExtMapBuffer2[]
double ExtMapBuffer3[]
double ExtMapBuffer4[];
//+------------------------------------------------------------------+
//|Funzione di inizializzazione personalizzata dell'indicatore |
//+------------------------------------------------------------------+
int init()
{
//---- indicatori
IndicatorBuffers(4);
SetIndexLabel(0, "Star");
SetIndexStyle(0,DRAW_NONE);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexStyle(1,DRAW_HISTOGRAM);
SetIndexBuffer(1,ExtMapBuffer2);
SetIndexStyle(2,DRAW_HISTOGRAM);
SetIndexBuffer(2,ExtMapBuffer3);
SetIndexStyle(3,DRAW_NONE);
SetIndexBuffer(3,ExtMapBuffer4);
string Text=ThisName;
Text=Text+" (rPeriods "+RangePeriods;
Text=Text+", pSmooth "+DoubleToStr(PriceSmoothing,2);
Text=Text+", iSmooth "+DoubleToStr(IndexSmoothing,2);
Text=Text+") ";
IndicatoreNomeCorto(Testo);
SetIndexLabel(1,NULL);
SetIndexLabel(2,NULL);
DrawStart=2*RangePeriods+4; // DrawStart= BarNumber calcolato da sinistra a destra
SetIndexDrawBegin(1,DrawStart);
SetIndexDrawBegin(2,DrawStart);
se (PriceSmoothing>=1.0)
{
PriceSmoothing=0.9999;
Alert("Fish61: PriceSmothing factor has to be smaller 1!");
}
se (PriceSmoothing<0)
{
PriceSmoothing=0;
Alert("Fish61: PriceSmothing factor mustn''t be negative!");
}
se (IndexSmoothing>=1.0)
{
IndexSmoothing=0.9999;
Alert("Fish61: Il fattore PriceSmothing deve essere minore di 1!)
}
se (IndexSmoothing<0)
{
IndexSmoothing=0;
Alert("Fish61: PriceSmothing factor mustn''t be negative!");
}
//----
return(0);
}
//+------------------------------------------------------------------+
//| Funzione di deinizializzazione dell'indicatore personalizzato |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Funzione di iterazione dell'indicatore personalizzato |
//+------------------------------------------------------------------+
int start()
{
se (Bars<DrawStart)
{
Alert("Fish84: Non sono state caricate abbastanza barre per calcolare il FisherIndicator con RangePeriods=",RangePeriods);
return(-1);
}
//----
int counted_bars=IndicatorCounted();
se (counted_bars<0) return(-1);
if (counted_bars>0) counted_bars--;
//----
int Position=Bars-counted_bars; // Position = BarPosition calcolata da destra a sinistra
int LeftNum1=Bars-Position; // quando vengono caricate più barre la posizione di una barra cambia ma non il suo LeftNum
if (LeftNum1<RangePeriods+1)Position=Bars-RangePeriods-1;
while(Position>=0)
{
CalculateCurrentBar(Position);
Posizione--;
}
//----
return(0);
}
//+------------------------------------------------------------------+
//| Funzione di calcolo della barra singola |
//+------------------------------------------------------------------+
int CalcolaCorrenteBarra(int pos)
{
double LowestLow, HighestHigh, GreatestRange, MidPrice;
double PriceLocation, SmoothedLocation, FishIndex, SmoothedFish;
//----
LowestLow = Low[Lowest(NULL,0,MODE_LOW,RangePeriods,pos)];
HighestHigh = High;
se (HighestHigh-LowestLow<0.1*Point)HighestHigh=LowestLow+0.1*Point;
GreatestRange=HighestHigh-LowestLow;
MidPrice = (High[pos]+Low[pos])/2;
// Posizione del prezzo nel range corrente
se (GreatestRange!=0)
{
PriceLocation=(MidPrice-LowestLow)/GreatestRange;
PriceLocation= 2.0*PriceLocation - 1.0; // -> -1 < PriceLocation < +1
}
// Smussamento di PriceLocation
ExtMapBuffer4[pos]=PriceSmoothing*ExtMapBuffer4[pos+1]+(1.0-PriceSmoothing)*PriceLocation;
SmoothedLocation=ExtMapBuffer4[pos];
if (SmoothedLocation> 0.99) SmoothedLocation= 0.99; // verhindert, dass MathLog unendlich wird
if (SmoothedLocation<-0.99) SmoothedLocation=-0.99; // verhindert, dass MathLog minuns unendlich wird
// FisherIndex
if(1-SmoothedLocation!=0) FishIndex=MathLog((1+SmoothedLocation)/(1-SmoothedLocation));
else Alert("Fisher129: Unerlaubter Zustand bei Bar Nummer ",Bars-pos);
// Smussamento di FisherIndex
ExtMapBuffer1[pos]=IndexSmoothing*ExtMapBuffer1[pos+1]+(1.0-IndexSmoothing)*FishIndex;
se (Bars-pos<DrawStart)ExtMapBuffer1[pos]=0;
SmoothedFish=ExtMapBuffer1[pos];
if (SmoothedFish>0) // tendenza al rialzo
{
ExtMapBuffer2[pos]=SmoothedFish;
ExtMapBuffer3[pos]=0;
}
else // altrimenti tendenza al ribasso
{
ExtMapBuffer2[pos]=0;
ExtMapBuffer3[pos]=SmoothedFish;
}
//----
return(0);
}
//+------------------------------------------------------------------+
ringraziare
Gente, facciamo sul serio
Sono serio mladen...
Sono un principiante e non un programmatore, forse il modo di scrat non è perfetto, ma forse posso usarlo. Lo proverò. Se è utile, lo userò. Se non lo è, cercherò di nuovo un altro grande modo o un altro indicatore.
Ho chiesto a Codersguru una cosa simile.
La mia domanda a lui era se uso 1 EMA in 30M TF, allora in 1M TF deve essere 30 EMA.
E lui ha detto che non è così. Ma non ero soddisfatto, forse c'è un altro modo, così l'ho trovato qui. Ma se non è utile, per me va bene... . Almeno so che il risultato è.
BTW, grazie per l'ultimo RSIOMA mladen, mi piace molto, e grazie a fxbs e Kalenzo anche, per questo grande indicatore.
Saluti,
IIN
Il problema è questo:
Quell'idea con le MA è probabilmente l'idea più vecchia dell'analisi tecnica
Sono d'accordo che posti come TSD sono posti per condividere idee e conoscenze
Ma per favore nessuno dovrebbe provare a farlo in questo modo:
Ma dai, cosa diavolo stiamo cercando di fare qui?
Spero che ora mi sono spiegato
saluti
mladen
Sono serio mladen...
Sono un principiante e non un programmatore, forse il modo di scrat non è perfetto, ma forse posso usarlo. Lo proverò. Se è utile, lo userò. Se non lo è, cercherò di nuovo un altro grande modo o un altro indicatore.
Ho chiesto a Codersguru una cosa simile.
La mia domanda a lui era se uso 1 EMA in 30M TF, allora in 1M TF deve essere 30 EMA.
E lui ha detto che non è così. Ma non ero soddisfatto, forse c'è un altro modo, così l'ho trovato qui. Ma se non è utile, per me va bene... . Almeno so che il risultato è.
BTW, grazie per l'ultimo RSIOMA mladen, mi piace molto, e grazie a fxbs e Kalenzo anche, per questo grande indicatore.
Saluti,
IINVa bene, sono ufficialmente stupido e ho appena offeso tutti in questo thread. Ho fatto bene questa volta?
le mie scuse.
Il problema è questo:
Quell'idea con le MA è probabilmente l'idea più vecchia dell'analisi tecnica
Sono d'accordo che posti come TSD sono posti per condividere idee e conoscenze.
Ma per favore nessuno dovrebbe cercare di farlo in questo modo:
Ma dai, che diavolo stiamo cercando di fare qui?
Spero che ora sono stato chiaro
saluti
mladenQualcuno sa dove sono questi indis MTF?
Ho cercato dappertutto le versioni MTF di questi. Qualcuno lo sa o l'ha visto?
Grazie.