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
Ragazzi ho bisogno di un piccolo aiuto per codificare la relazione RSI e SMA.
Come vedete nell'immagine, ci sono segnali (frecce su-giù), ma alcuni di essi sono falsi segnali. Così ho deciso di eliminare i falsi segnali con RSI14 e SMA20.
La logica dietro è molto semplice, la freccia su dovrebbe apparire se RSI14 è SOPRA SMA20. La freccia in basso dovrebbe apparire se RSI è SOTTO SMA20.
Ho segnato alcune frecce verso l'alto sbagliate, perché RSI è troppo alto, ma quella parte posso codificarla da solo.
Ho trovato molti codici di incrocio RSI<MA, ma la maggior parte di essi va lungo/corto se appare l'incrocio. Ma ho bisogno di un termine in cui RSI è SOPRA o SOTTO e poi fare qualcosa.
Per quanto ho trovato per ora, devo usare IRSI e array per questo, ma non posso mettere insieme quel codice da solo.triip
Hai controllato quello postato qui: https: //www.mql5.com/en/forum/general
triip Hai controllato quello postato qui: https: //www.mql5.com/en/forum/general
Sì, ma tutto quello che ho trovato è stato un segnale di attraversamento. Ho bisogno di condizioni se RSI è sopra/sotto SMA.
Ho capito che prima devo dichiarare cosa significa SOPRA e cosa significa SOTTO, dopo di che posso usarli nella frase IF.
triip
Hai controllato quello postato qui: https: //www.mql5.com/en/forum/174476Sì, ma tutto quello che ho trovato era un segnale di incrocio. Ho bisogno di condizioni se RSI è sopra/sotto SMA.
Ho capito che prima devo dichiarare cosa significa SOPRA e cosa significa SOTTO, dopo di che posso usarli nella frase IF.
Sì, ma tutto quello che ho trovato era un segnale di attraversamento. Ho bisogno di condizioni se RSI è sopra/sotto SMA. Ho capito che prima devo dichiarare cosa significa SOPRA e cosa significa SOTTO, dopo di che posso usarli nella frase IF.
triip
Non ho idea di cosa rsi stavi usando per ottenere quei segnali sulla tua foto, quindi ... questo è tutto quello che posso dire. Senza il codice non può aiutare più
triip Non ho idea di cosa rsi stavi usando per ottenere quei segnali sulla tua foto, quindi ... questo è tutto quello che posso dire. Senza il codice non può aiutare di più
Mi dispiace non aver menzionato che i segnali delle frecce non provengono da RSI. è un altro codice che uso. Ma ho visto che RSI con SMA aiuta ad evitare segnali sbagliati. Ecco perché mi piace modificare il codice del segnale in modo che sia in grado di identificare anche le condizioni RSI.
Quello di cui ho bisogno è:
Arrivano i segnali a freccia, ma non sono tutti veri segnali. Quindi prima che arrivi la freccia ci deve essere un altro controllo if che controlli le condizioni RSI.
if (il mio codice attuale && RSI è sopra/sotto SMA)
{ mostra la freccia
}
Ho bisogno della parte rossa.
Mi dispiace non aver menzionato che i segnali delle frecce non provengono da RSI. è un altro codice che uso. Ma ho visto che RSI con SMA aiuta ad evitare segnali sbagliati. Ecco perché mi piace modificare il codice del segnale in modo che sia in grado di identificare anche le condizioni RSI.
Quello di cui ho bisogno è:
Arrivano segnali di frecce, ma non sono tutti veri segnali. Quindi, se arriva la freccia, ci deve essere un altro controllo if che controlla le condizioni RSI.
se (il mio codice attuale && RSI è sopra/sotto SMA)
{ mostra la freccia
}
Ho bisogno di quella parte rossa.triip
Devi fare quanto segue:
1. Salvare i valori di RSI in un buffer
2. Utilizzare iMAOnArray() per calcolare la SMA dei valori RSI
3. Confrontate il valore di RSI salvato e il valore di iMAOnArray() calcolato e questa è la vostra condizione
triip
Dovete fare quanto segue:
1. Salvare i valori di RSI in un buffer
2. Usare iMAOnArray() per calcolare la SMA dei valori RSI
3. Confrontate il valore di RSI salvato e il valore di iMAOnArray() calcolato e questa è la vostra condizioneQuindi 1 e 2 qualcosa del genere?
1.
extern int rsi_p = 14;
extern int MA_Period=20;
extern int MA_Shift=0;
extern int MA_Method=0;
extern int NumberOfBarsToCalculate = 10000;
double Buffer0[];
double Buffer1[];
double Ma[];
double RSi[];
int init()
{
IndicatorBuffers(4);
SetIndexBuffer(0,Buffer0);
SetIndexBuffer(1,Buffer1);
SetIndexBuffer(2,Ma);
SetIndexBuffer(3,RSi);
return(0);
}
[/CODE]
2.
[CODE]int start() {
int shift;
double rsi = 0;
for(shift=NumberOfBarsToCalculate-1;shift>=0;shift--){
RSi[shift] = iRSI(NULL,0,rsi_p,PRICE_CLOSE,shift);
}
for(shift=NumberOfBarsToCalculate-1;shift>=0;shift--){
Ma[shift] = iMAOnArray(RSi,0,MA_Period,MA_Shift,MA_Method,shift);
Buffer0[shift] = RSi[shift];
Buffer1[shift] = Ma[shift];
}
return(0);
}
Quindi 1 e 2 qualcosa del genere?
1.
extern int rsi_p = 14;
extern int MA_Period=20;
extern int MA_Shift=0;
extern int MA_Method=0;
extern int NumberOfBarsToCalculate = 10000;
double Buffer0[];
double Buffer1[];
double Ma[];
double RSi[];
int init()
{
IndicatorBuffers(4);
SetIndexBuffer(0,Buffer0);
SetIndexBuffer(1,Buffer1);
SetIndexBuffer(2,Ma);
SetIndexBuffer(3,RSi);
return(0);
}
[/CODE]
2.
[CODE]int start() {
int shift;
double rsi = 0;
for(shift=NumberOfBarsToCalculate-1;shift>=0;shift--){
RSi[shift] = iRSI(NULL,0,rsi_p,PRICE_CLOSE,shift);
}
for(shift=NumberOfBarsToCalculate-1;shift>=0;shift--){
Ma[shift] = iMAOnArray(RSi,0,MA_Period,MA_Shift,MA_Method,shift);
Buffer0[shift] = RSi[shift];
Buffer1[shift] = Ma[shift];
}
return(0);
}
Sì, si può fare anche così
E quando ne avete bisogno, basta confrontare RSi e MA buffer e sarete sempre in grado di vedere la loro posizione relativa
Sì, puoi farlo anche in questo modo E quando ne hai bisogno, basta confrontare RSi e MA buffer e sarai sempre in grado di vedere la loro posizione relativa
Fantastico, grazie mille mladen
apprendista codificatore Ecco un indicatore che ha una tale procedura di ordinamento (è l'ordinamento di un array a 2 dimensioni): spearman_rank_correlation_nmc.mq4
mladen
Qualche esempio di c/c++ che fa la stessa cosa?