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
Salve,
Non potevo fare quello che volevo.
Ho una coppia diversa da quella che avevo in testa.
Quando 0 invece di i (per una barra) vedo il risultato, quando la barra (corrente = i) mostra che non posso trovare dati per la seconda coppia.
Il grafico della coppia è aperto, nella finestra di mercato non so dove confondo le cose.
Due coppie diverse in un indicatore - quindi dov'è il mio errore?
Provo a mettere 0 e vedo il risultato come commento, ma non ho una linea.
Per chiarire: ho messo ma1 e ma2 su una coppia e ma3 e ma4 sull'altra coppia.
Grazie.
Prima stai contando da 0----->prev_calculated-1 e hai bisogno dall'ultima barra contata a rates_total
questo:
cambiarlo in questo:
La seconda cosa che non capisco bene, vuoi ottenere muwings da diversi strumenti o diversi timeframes, non ho trovato nessuno dei due nel codice.
Buona giornata, signori!
Chi può aiutarmi ad adattare i seguenti indicatori per la MT5 (pre-file).
Ti darò 10 dollari per una birra per il lavoro.
Buona giornata, signori!
Chi può aiutarmi ad adattare i seguenti indicatori per la MT5 (pre-file).
Ti darò 10 dollari per una birra per il lavoro.
Urain,
Grazie per l'attenzione.
Non posso farlo disegnare, se puoi, mettilo qui.
Penso che sia bello fare diverse coppie e diversi telai in xpert.
//+------------------------------------------------------------------+
//|2_2_v2.mq5 |
//|Yuriy Tokman |
//| yuriytokman@gmail.com|
//+------------------------------------------------------------------+
#proprietà copyright "Yuriy Tokman"
#proprietà link"yuriytokman@gmail.com"
#proprietà versione "1.00"
#proprietà indicator_separate_window
#proprietà indicator_buffers 6
#proprietà indicator_plots 2
#proprietà indicator_type1 DRAW_COLOR_LINE
#proprietà indicator_type2 DRAW_COLOR_LINE
#proprietà indicator_color1 clrBlue
#proprietà indicator_color2 clrRed
#proprietà indicator_style1 STYLE_SOLID
#proprietà indicator_style2 STYLE_SOLID
//#property indicator_label1 "EURUSD"
//#property indicator_label2 "GBPUSD"
input int period_1 = 13 ;
input int period_2 = 55 ;;
input ENUM_MA_METHOD ma_method = MODE_SMA;
input ENUM_APPLIED_PRICE applied_price = PRICE_CLOSE;
doppio ExtMapBuffer1[];
doppio ExtMapBuffer2[];
int EMHandle1;
int EMHandle2;;
int EMHandle11;
int EMHandle22;
doppio ma1[],ma2[],ma3[],ma4[];//tempi buffer
double p1 = SymbolInfoDouble("EURUSD",SYMBOL_POINT);
double p2 = SymbolInfoDouble("GBPUSD",SYMBOL_POINT);
//+------------------------------------------------------------------+
//| funzione di inizializzazione dell'indicatore personalizzata
//+------------------------------------------------------------------+
int OnInit()
{
//--- mappatura dei buffer degli indicatori
SetIndexBuffer(0, ExtMapBuffer1, INDICATOR_DATA);
SetIndexBuffer(1, ExtMapBuffer2, INDICATOR_DATA);
SetIndexBuffer(2, ma1, INDICATOR_DATA);
SetIndexBuffer(3, ma2, INDICATOR_DATA);
SetIndexBuffer(4, ma3, INDICATOR_DATA);
SetIndexBuffer(5, ma4, INDICATOR_DATA);
PlotIndexSetInteger(0, PLOT_SHIFT, 0);
PlotIndexSetInteger(1, PLOT_SHIFT, 0);
PlotIndexSetInteger(0,PLOT_LINE_STYLE,STYLE_SOLID);
PlotIndexSetInteger(1,PLOT_LINE_STYLE,STYLE_SOLID);
//---
PlotIndexSetInteger(0,PLOT_LINE_COLOR,clrBlue);
PlotIndexSetInteger(1,PLOT_LINE_COLOR,clrRed);
PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,1);
PlotIndexSetInteger(1,PLOT_DRAW_BEGIN,1);
PlotIndexSetInteger(0,PLOT_DRAW_TYPE,DRAW_LINE);
PlotIndexSetInteger(1,PLOT_DRAW_TYPE,DRAW_LINE);
//--- nome per DataWindow
IndicatorSetString(INDICATOR_SHORTNAME, "2_2_MA");
//---
//--- impostare la precisione
IndicatorSetInteger(INDICATOR_DIGITS,4);
EMHandle1 = iMA("EURUSD", 0, period_1, 0, ma_method, applied_price);
EMHandle2 = iMA("EURUSD", 0, period_2, 0, ma_method, applied_price);
EMHandle11 = iMA("GBPUSD", 0, period_1, 0, ma_method, applied_price);
EMHandle22 = iMA("GBPUSD", 0, period_2, 0, ma_method, applied_price);
ArraySetAsSeries(ExtMapBuffer1,true);
ArraySetAsSeries(ExtMapBuffer2,true);
ArraySetAsSeries(ma1,true);
ArraySetAsSeries(ma2,true);
ArraySetAsSeries(ma3,true);
ArraySetAsSeries(ma4, true);
//---
ritorno(0);
}
//+------------------------------------------------------------------+
//| funzione di iterazione dell'indicatore personalizzata
//+------------------------------------------------------------------+
int OnCalculate (const int rates_total,// dimensione dell'array price[];
const int prev_calculated,// numero di barre disponibili ;sulla chiamata precedente;
const int begin,// quale indice nell'array price[] inizierà i dati validi;
const double &price[]) // array su cui verrà calcolato l'indicatore;
{
if(CopyBuffer(EMHandle1, 0, 0, 1, ma1) < 0){Print("CopyBuffer ma1 error =", GetLastError());}
if(CopyBuffer(EMHandle2, 0, 0, 1, ma2) < 0){Print("CopyBuffer ma2 error =", GetLastError());}
if(CopyBuffer(EMHandle11, 0, 0, 1, ma3) < 0){Print("CopyBuffer ma3 error =", GetLastError());}
if(CopyBuffer(EMHandle22, 0, 0, 1, ma4) < 0){Print("CopyBuffer ma4 error =", GetLastError());}
ExtMapBuffer1[0]=(ma1[0]-ma2[0])/p1;
ExtMapBuffer2[0]=(ma3[0]-ma4[0])/p2;
Commento(
"\n=====================",
"\n ma1[] : ",DoubleToString(ma1[0],5),
"\n ma2[] : ",DoubleToString(ma2[0],5),
"\n ma3[] : ",DoubleToString(ma3[0],5),
"\n ma4[] : ",DoubleToString(ma4[0],5),
"\n ExtMapBuffer1[] : ",DoubleToString(ExtMapBuffer1[0],4),
"\n ExtMapBuffer2[] : ",DoubleToString(ExtMapBuffer2[0],4)
);
//---
//--- restituire il valore di prev_calculato per la prossima chiamata
return(rates_total);
}
void OnDeinit(const int reason)
{
Commento(");
}
//+------------------------------------------------------------------+
Buona giornata a tutti.
Ho una richiesta di rifare questo indicatore per MT5 perché lo uso solo nel trading.
Non so dove scrivere, ma forse potete aiutarmi a risolvere questo problema: in MT4 mi basta copiare un EA nella cartella experts, metterlo in Strategy Tester, tutto sembra buono e funziona, ma in MT5 non riesco a capire come testare un EA, lo metto nella cartella experts con l'estensione .Li ho copiati e incollati da qualche altra parte. Potete dirmi come copiare un EA e dove incollarlo correttamente?
Non so dove scrivere, ma forse potete aiutarmi a risolvere questo problema: in MT4 mi basta copiare un EA nella cartella experts, metterlo in Strategy Tester, tutto sembra buono e funziona, ma in MT5 non riesco a capire come testare un EA, lo metto nella cartella experts con l'estensione .Li ho copiati e incollati da un'altra parte. Potete dirmi come copiare correttamente un EA e dove incollarlo?
Puoi eseguire sia nel tester che in tempo reale, puoi solo eseguire un EA con l'estensione ex5 o la versione compilata,
Se aprite un file mq5 in MetaEditor, premete F7 e sarete felici. Il codice sorgente con estensione mq5, queste sono solo informazioni di prova, per ottenere il byte-code (codice eseguibile) da esso, è necessario compilarlo.
Urain grazie per la risposta, solo io conosco tutte le basi, ho compilato e fatto tutto secondo le istruzioni, anche se lo sapevo, ma ancora una volta ho letto, non so cosa potrebbe essere sbagliato, ecco 2 pelli allegate. Ho scaricato MT5 da questo sito.
Urain grazie per la risposta, solo io conosco tutte le basi, ho compilato e fatto tutto secondo le istruzioni, anche se lo sapevo, ma ancora una volta ho letto, non so nemmeno cosa potrebbe essere sbagliato, ecco 2 pelli allegate. Ho scaricato MT5 da questo sito.
Voglio mettere la mia copia di grr-al.ex5 nella cartella giusta e ricaricare MT5 dopo essermi assicurato che sia nella cartella giusta.
A proposito, la MT5 è l'unica sul computer?
Urain ha finalmente capito, il fatto è che gli EA non vengono copiati nella cartella C:\Program Files\MT5\MQL5\Experts ma in C:\Users\Dyma\AppData\Roaming\MetaQuotes\Terminal\8B052D0699A0083067EBF3A36123603B\MQL5\Experts, non so perché questo fastidio, questi maledetti programmatori)))