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
Quell'indicatore sta usando la "forza del serpente" (TMA centrato) per lo smoothing e non può essere cambiato per non ricalcolare e per rimanere lo stesso. La versione "non-repainting" (end-pointed) del TMA centrato è un semplice LWMA, ma non aspettatevi di avere gli stessi risultati con esso come con il TMA centrato. Per saperne di più sul TMA centrato potete leggere qui: https: //www.mql5.com/en/forum/181241 Per quanto riguarda il cambiamento o il miglioramento di quel codice: la base di esso è un codice decompilato. Dubito che qualcuno cambierà un codice decompilato
Grazie mille Mladen per le informazioni è stato molto utile
Ciao,
ho scaricato questo indicatore dal web ma quando lo collego appaiono le finestre separate con 2 livelli ma non appaiono le barre.
Puoi aiutarmi a risolvere il problema?
Grazie a voi
oscillatore.mq4
dasio,
Questo è solo un altro indicatore di vento solare (qualcuno ha cercato di cambiare qualcosa in esso).
Ciao,
Ho scaricato questo indicatore dal web ma quando lo collego appaiono le finestre separate con 2 livelli ma non appaiono le barre.
Puoi aiutarmi a risolvere il problema?
Grazie per avermi aiutato a risolvere il problema.
oscillatore.mq4dasio, Questo è solo un altro indicatore di vento solare (qualcuno ha cercato di cambiare qualcosa in esso).
Grazie. Ma quando inizio il backtest le barre appaiono. Come può essere possibile?
Grazie a voi
dasio
Controlla nella scheda esperti e diario se c'è scritto qualche errore. Sui miei dati di broker funziona quindi non posso dire cosa sta succedendo sui tuoi dati di broker (forse zero divide o qualcosa di simile)
Grazie. Ma quando avvio il backtest le barre appaiono. Come può essere possibile? Grazie
Mladen,
Quando scrivi un codice o guardi nel codice di qualcuno come valuti la qualità del codice? Quando scrivi un codice come testi la robustezza del codice? Grazie.
:)
I miei due criteri principali sono:
Quando questi 2 sono soddisfatti solo allora do una seconda occhiata e solo allora lo "leggo", ma poi è una storia molto lunga quello che può essere fatto per accedere alla qualità - credo che il processo sia molto più soggettivo che oggettivo ...
Mladen, quando scrivi un codice o guardi nel codice di qualcuno come valuti la qualità del codice?
Ciao,
Sto cercando di adattare un indicatore che chiama iFractals e chiamare invece un indicatore frattale personalizzato che ha una funzione di periodo regolabile. L'indicatore che sto cercando di adattare è allegato. Si chiama "closesrelativejtozpreviousofractal".
closesrelativejtozpreviousofractal.mq4
Il codice traccia una freccia verso l'alto se il prezzo rompe il precedente massimo frattale e una freccia verso il basso per il contrario.
L'indicatore che sto cercando di chiamare con iCustom è anche allegato. Si chiama "Frattali - regolabile".
frattale_-_regolabile.mq4
Di seguito il mio tentativo di modificare l'indicatore originale in modo che chiami Fractals - adjustable. Il codice traccia con successo i punti sui frattali alti e bassi e il periodo del frattale è regolabile, come volevo. Il problema è con le frecce destinate a tracciare le rotture dei livelli frattali alti e bassi precedenti. Non riesco a farle tracciare correttamente.
Qualsiasi aiuto in questo senso sarebbe molto apprezzato.
Cordiali saluti,
drofwarc
{
int counted_bars = IndicatorCounted();
if (counted_bars > 0) counted_bars--;
int limit = Bars - counted_bars;
for(int i=limit; i>0; i--)
{
UpFractalsBuffer=iCustom(NULL,0,"Fractal - Adjustable", dist, arrowPosition, 0, i); //-Draw the high fractal
if (UpFractalsBuffer!=0) //-If it is available, put in the array of fractals for higher levels
HighLevel=iCustom(NULL,0,"Fractal - Adjustable", dist, arrowPosition, 2, i);
if(Close>HighLevel)
UpArrowBuffer=(Low-(PipBuffer)*Poin); //Arrows
DownFractalsBuffer=iCustom(NULL,0,"Fractal - Adjustable", dist, arrowPosition, 1, i); //-Draw the low fractal
if(DownFractalsBuffer!=0) //- If it is available put in the array of lower levels
LowLevel=iCustom(NULL,0,"Fractal - Adjustable", dist, arrowPosition, 3, i);
if(Close<LowLevel)
DownArrowBuffer=(High+(PipBuffer)*Poin);//Arrows
}
return(0);
}Alla fine ho risolto questo problema. Il problema era una confusione di buffer.
Codice per fare un indicatore che salta n barre tra i segnali
Ciao a tutti,
So che è possibile fare una pausa tra un trade e l'altro, usando Sleep() o registrando un timestamp e aspettando n secondi dopo il timestamp prima di permettere un altro segnale.
Ma è possibile fare lo stesso per un indicatore.
Per esempio, vorrei essere in grado di far sì che un indicatore che traccia delle frecce all'incrocio di due medie mobili salti n barre dopo un incrocio prima di tracciare un'altra freccia. In altre parole, se si verificasse un altro incrocio prima che siano passate n barre, l'indicatore ignorerebbe l'incrocio e non traccerebbe una freccia.
Ho cercato a lungo di trovare un indicatore che faccia questo, ma non ho avuto fortuna.
Qualcuno potrebbe postare un indicatore che ha già questa caratteristica in modo che io possa studiare il codice? O magari fornirmi un esempio di codice che funziona per questa proposta in modo che io possa provare ad implementarlo.
Molte grazie,
drofwarc
non può visualizzare normalmente, qualcuno può aiutarmi a risolvere il problema?
#proprietà indicator_separate_window
#proprietà indicator_buffers 1
#proprietà indicator_color1 Red
#proprietà indicatore_massimo 100
#proprietà indicatore_livello1 70
#Proprietà indicatore_livello2 50
#Proprietà indicatore_livello3 30
#proprietà indicatore_minimo 0
//---- parametri di ingresso
extern int rsiperiod = 14 ;
extern int Shortperiod = 5 ;
extern int Middleperiod = 8 ;
extern int Longperiod = 13;
extern int mamode = 2 ;
//---- buffer
double RSI[]
double ShortRSI[]
double MiddleRSI[]
double LongRSI[]
doppio SMRSI[];
int periodo ;
//+------------------------------------------------------------------+
//| Funzione di inizializzazione dell'indicatore personalizzato |
//+------------------------------------------------------------------+
int init()
{
//---- indicatori
IndicatoreBuffer(5);
SetIndexBuffer(0,SMRSI);
SetIndexBuffer(1,RSI);
SetIndexBuffer(2,ShortRSI);
SetIndexBuffer(3,MiddleRSI);
SetIndexBuffer(4,LongRSI);
//---- nome per DataWindow e l'etichetta della sottofinestra dell'indicatore
IndicatorShortName("SMRSI("+rsiperiod+", "+Shortperiod+", "+Middleperiod+", "+Longperiod +", "+mamode+")");
SetIndexDrawBegin(0,rsiperiodo+Lungoperiodo);
period=Shortperiod+Middleperiod+Longperiod;
return(0);
}
//+------------------------------------------------------------------+
//|Funzione di iterazione dell'indicatore personalizzata
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
int i,limit;
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
limite = Bars-counted_bars;
for( i=limite; i>=0; i--) RSI=iRSI(NULL,0,rsiperiodo,0,i);
for( i=limit; i>=0; i--) ShortRSI=iMAOnArray(RSI,0,Shortperiod,0,mamode,i);
for( i=limit; i>=0; i--) MiddleRSI=iMAOnArray(RSI,0,Middleperiod,0,mamode,i);
for( i=limit; i>=0; i--) LongRSI=iMAOnArray(RSI,0,Longperiod,0,mamode,i);
for( i=limit; i>=0; i--) { if(period!=0) SMRSI=(Shortperiod/period)*ShortRSI+(Middleperiod/period)*MiddleRSI+(Longperiod/period)*LongRSI;}
return(0);
}
//+------------------------------------------------------------------+