Per quanto riguarda la mia domanda principale, quale funzione posso usare per riempire l'array con gli ultimi 5 prezzi per scoprire da che parte il prezzo attraversa la linea? Grazie in anticipo.
soroko: Lo capisco, ma come spostare il prezzo all'interno dell'array. Ho provato con la funzione ArrayCopy, passa 0,0 o lo stesso Bid. E sono anche preoccupato per il codice massiccio, non posso fare tutto con una sola funzione?
soroko: Per quanto riguarda la mia domanda principale, quale funzione posso usare per riempire l'array con gli ultimi 5 prezzi per scoprire da che parte il prezzo attraversa la linea? Grazie in anticipo.
È necessario avere una conoscenza di base della programmazione.
Non posso ottenere i parametri di un indicatore che non è sul grafico. Qui sotto c'è il codice con tutte le cose inutili rimosse, le linee per ottenere i parametri dell'indicatore sono copiate dall'aiuto. L'indicatore stesso è collegato a un grafico di un'ora, ma io voglio lavorare con cinque minuti. GetLastError() genera l'errore 4006, ma niente sembra essere sbagliato...
int m_MA_M5;
intOnInit()
{
m_MA_M5 = iMA(NULL, PERIOD_M5, 12, 0, MODE_SMA, PRICE_CLOSE);
if (m_MA_M5 <=0 )
{
Print("Error create MA");
return (INIT_FAILED);
}
//---return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+//| Custom indicator iteration function |//+------------------------------------------------------------------+intOnCalculate(constint rates_total,
constint prev_calculated,
constdatetime &time[],
constdouble &open[],
constdouble &high[],
constdouble &low[],
constdouble &close[],
constlong &tick_volume[],
constlong &volume[],
constint &spread[])
{
//---if (prev_calculated == rates_total)
return (rates_total);
MqlParam parameters[];
ENUM_INDICATORindicator_type;
int params=IndicatorParameters(m_MA_M5,indicator_type,parameters);
if (params<0)
{
Print("Error geted data Last Error=", GetLastError());
}else{
//--- заголовок сообщенияstring par_info="Short name M5"+", type "
+EnumToString(ENUM_INDICATOR(indicator_type))+"\r\n";
//--- for(int p=0;p<params;p++)
{
par_info+=StringFormat("parameter %d: type=%s, long_value=%d, double_value=%G,string_value=%s\r\n",
p,
EnumToString((ENUM_DATATYPE)parameters[p].type),
parameters[p].integer_value,
parameters[p].double_value,
parameters[p].string_value
);
}
Print(par_info);
}
//--- return value of prev_calculated for next callreturn(rates_total);
}
//+------------------------------------------------------------------+
Consenti l'uso dei cookie per accedere al sito MQL5.com.
Abilita le impostazioni necessarie nel browser, altrimenti non sarà possibile accedere.
Hai effettuato l'accesso. L'autenticazione a due fattori è stata disattivata. Configurala di nuovo e scansiona un nuovo codice QR, oppure continua con l'autenticazione a due fattori disattivata.
Tick e volume reale (se presente).
e qual è la differenza tra tick e reale?
Qual è la differenza tra un tek e uno vero?
tick è il numero di trade, real si basa sulla dimensione del trade
allora perché quello vero mostra 0 dappertutto?
allora perché quello vero mostra 0 dappertutto?
nessun dato, nel forex i volumi reali non sono noti, questo è per altre borse come forts
Grazie per avermi risparmiato il tempo che avrei passato a cercarlo)
Lo capisco, ma come spostare il prezzo all'interno dell'array. Ho provato con la funzione ArrayCopy, passa 0,0 o lo stesso Bid. E sono anche preoccupato per il codice massiccio, non posso fare tutto con una sola funzione?
Per quanto riguarda la mia domanda principale, quale funzione posso usare per riempire l'array con gli ultimi 5 prezzi per scoprire da che parte il prezzo attraversa la linea? Grazie in anticipo.
Non posso ottenere i parametri di un indicatore che non è sul grafico. Qui sotto c'è il codice con tutte le cose inutili rimosse, le linee per ottenere i parametri dell'indicatore sono copiate dall'aiuto. L'indicatore stesso è collegato a un grafico di un'ora, ma io voglio lavorare con cinque minuti. GetLastError() genera l'errore 4006, ma niente sembra essere sbagliato...