Grazie ancora una volta per il tuo aiuto. Ho incorporato le modifiche che hai indicato, ma sto ancora avendo problemi/errori (vedi file allegato). Sarebbe fantastico se potessi avere un'ulteriore guida.
Grazie.
Ho caricato un programma fisso e un campione completo.
Naguisa Unada: Ho caricato un programma fisso e un campione completo.
Grazie ancora una volta per il tuo aiuto, ho inserito le modifiche come suggerito (vedi file allegato e codice qui sotto). Sto ancora ottenendo numerosi errori durante la compilazione (vedi immagine allegata degli errori di compilazione), sospetto che abbia a che fare con le linee evidenziate nel codice sottostante.
Si prega di tenere presente che sto cercando di incorporare altri timeframes, coppie di valute, e anche altri indicatori eventualmente (come ADX), all'interno di questo file indicatore.
Qualsiasi ulteriore assistenza sarebbe molto apprezzata.
#property description"Indicator alerts when candle size is larger than CandlePoint value for specified period"#property strict#property indicator_chart_window#property indicator_buffers0#property indicator_plots0//+------------------------------------------------------------------+//| Declaring Constants |//+------------------------------------------------------------------+#define RESET 0//+------------------------------------------------------------------+//| Enumeration for the indication of operation |//+------------------------------------------------------------------+//+------------------------------------------------------------------+//| Input parameters of the indicator |//+------------------------------------------------------------------+//--- Candle point sizeinputuint CandlePointM1 = 5; // Minimum candle points for Period M1inputuint CandlePointM5 = 5; // Minimum candle points for Period M5int timeFrame[] = {PERIOD_M1, PERIOD_M5, PERIOD_H1};
string currencyPairs[] = {"AUDCAD", "AUDNZD", "AUDJPY", "AUDUSD"}//+------------------------------------------------------------------+//| Custom indicator initialisation function |//+------------------------------------------------------------------+intOnInit()
{
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+//| Deinitialisation |//+------------------------------------------------------------------+voidOnDeinit(constint reason)
{
}
//+------------------------------------------------------------------+//| Custom 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[])
//+------------------------------------------------------------------+//| Candle size indicator |//+------------------------------------------------------------------+
{
int range;
staticdatetime alertBar[] = {0, 0, 0}; // used for one alert/bardatetime candleTime[3];
for(int i=0; i<3; i++)
{
for (int j=0 ;j<3 ;j++)
{
double candleLow, candleHigh;
candleLow = iLow(currencyPairs[i],timeFrame[j],0);
candleHigh = iHigh(currencyPairs[i],timeFrame[j],0);
range = int((candleHigh-candleLow)/_Point);
candleTime[j] = iTime(currencyPairs[i],timeFrame[j],0);
if (alertBar[j] != candleTime[j])
{
if (timeFrame[j] == PERIOD_M1 && range>int(CandlePointM1))
{
Alert(currencyPairs[i], "PERIOD_M1", "candle >", CandlePointM1, "points");
alertBar[j] = candleTime[j];
}
if (timeFrame[j] == PERIOD_M5 && range>int(CandlePointM5))
{
Alert(currencyPairs[i], "PERIOD_M5", "candle >", CandlePointM5, "points");
alertBar[j] = candleTime[j];
}
}
}
}
Grazie ancora una volta per il tuo aiuto, ho inserito le modifiche come suggerito (vedi file allegato e codice qui sotto). Sto ancora ottenendo numerosi errori durante la compilazione (vedi immagine allegata degli errori di compilazione), sospetto che abbia a che fare con le linee evidenziate nel codice sottostante.
Si prega di tenere presente che sto cercando di incorporare altri timeframes, coppie di valute, e anche altri indicatori eventualmente (come ADX), all'interno di questo file indicatore.
Qualsiasi ulteriore assistenza sarebbe molto apprezzata.
Grazie mille ancora una volta. Ora sta avvisando su tutti i timeframe e le coppie di valute elencate.
Tuttavia, non avverte più una volta per barra, ma avverte per ogni aumento del punto di candela al di sopra della dimensione minima dei punti di candela. Le linee 78, 84 e 90 in 'Sample.mq4' che hai allegato al tuo messaggio precedente non assicurano che l'allarme avvenga solo una volta per candela. Ho provato a cambiare i valori all'interno del '[]' ma questo ovviamente non ha risolto il problema. Come si fa a risolvere questo problema?
Come sempre qualsiasi ulteriore assistenza sarebbe molto apprezzata. Grazie.
Tuttavia, non avverte più una volta per barra, ma per ogni aumento del punto di candela al di sopra della dimensione minima dei punti di candela. Le linee 78, 84 e 90 in 'Sample.mq4' che hai allegato al tuo messaggio precedente non assicurano che l'allarme sia solo una volta per candela. Ho provato a cambiare i valori all'interno del '[]' ma questo ovviamente non ha risolto il problema. Come si fa a risolvere questo problema?
Certo. Dovrei scrivere le seguenti righe in "OnInit".
intOnInit ()
{
//--- indicator buffers mapping
TFNO = ArraySize (timeFrame);
CPNO = ArraySize (currencyPairs);
ArrayResize (candleTime, CPNO);
ArrayResize (alert_bar, CPNO);
ArrayInitialize (alert_bar, 0 );
if ( StringLen ( Symbol ()) > 6 )
{
sufix = StringSubstr ( Symbol (), 6 , 0 );
for ( int i = 0 ; i < CPNO; i++)
currencyPairs[i] += sufix;
}
//---return ( INIT_SUCCEEDED );
}
I numeri in [ ] sono regolati con "ArrayResize" sopra. Anche se il numero di coppie di valute aumenta, sarà regolato automaticamente qui, ma se vuoi aggiungere un altro time frame devi modificare direttamente il programma. Questo perché è la specifica di MQL4.
Certo che lo è. Dovrei scrivere le seguenti righe in "OnInit".
I numeri in [ ] sono regolati con "ArrayResize" sopra. Anche se il numero di coppie di valute aumenta, sarà regolato automaticamente qui, ma se vuoi aggiungere un altro time frame devi modificare direttamente il programma. Questo perché è la specifica di MQL4.
Grazie ancora una volta. Ho aggiunto il codice.
L'avviso continua a segnalare ogni aumento del punto candela al di sopra della dimensione minima dei punti candela, anche dopo aver cancellato l'indicatore dal grafico, ricompilato, abbandonato MT ecc. Come posso risolvere questo problema?
Come sempre qualsiasi ulteriore assistenza sarebbe molto apprezzata. Grazie.
L'allarme continua a segnalare ogni aumento di punti candela al di sopra della dimensione minima dei punti candela - anche dopo aver cancellato l'indicatore dal grafico, ricompilato, abbandonato MT ecc. Come posso risolvere questo problema?
Sul mio PC funziona normalmente senza problemi. Penso che ci sia qualcosa di sbagliato, ma non so cosa sia.
qualcuno può modificare questo indicatore, quando gli stoch si incrociano le frecce mostrano sulla seconda candela ma ho bisogno che la freccia mostri sulla candela corrente, immediatamente ogni volta quando gli stoch si incrociano
qualcuno può modificare questo indicatore, quando gli stoch si incrociano le frecce vengono mostrate sulla seconda candela ma io ho bisogno che la freccia venga mostrata sulla candela corrente, immediatamente ogni volta che gli stoch si incrociano
//for(i=1; i<=limit; i++) for(i=0; i<=limit; i++)
È molto facile. Correggere i = 1 a i = 0 sulla linea 77.
Grazie ancora una volta per il tuo aiuto. Ho incorporato le modifiche che hai indicato, ma sto ancora avendo problemi/errori (vedi file allegato). Sarebbe fantastico se potessi avere un'ulteriore guida.
Grazie.
Ho caricato un programma fisso e un campione completo.
Grazie ancora una volta per il tuo aiuto, ho inserito le modifiche come suggerito (vedi file allegato e codice qui sotto). Sto ancora ottenendo numerosi errori durante la compilazione (vedi immagine allegata degli errori di compilazione), sospetto che abbia a che fare con le linee evidenziate nel codice sottostante.
Si prega di tenere presente che sto cercando di incorporare altri timeframes, coppie di valute, e anche altri indicatori eventualmente (come ADX), all'interno di questo file indicatore.
Qualsiasi ulteriore assistenza sarebbe molto apprezzata.
Grazie ancora una volta per il tuo aiuto, ho inserito le modifiche come suggerito (vedi file allegato e codice qui sotto). Sto ancora ottenendo numerosi errori durante la compilazione (vedi immagine allegata degli errori di compilazione), sospetto che abbia a che fare con le linee evidenziate nel codice sottostante.
Si prega di tenere presente che sto cercando di incorporare altri timeframes, coppie di valute, e anche altri indicatori eventualmente (come ADX), all'interno di questo file indicatore.
Qualsiasi ulteriore assistenza sarebbe molto apprezzata.
1. Alla fine della linea ; mancava.
String currencyPairs [] = {"AUDCAD", "AUDNZD", "AUDJPY", "AUDUSD"};
2. Mancavano le seguenti linee.
Ritorno (tassi_totale);
}
3. Ho sbagliato la dimensione dell'array. È stata modificata come segue e spostata nell'area globale.
datetime alert_bar [3] [3];
datetime candleTime [3] [3];
1. Alla fine della linea ; mancava.
String currencyPairs [] = {"AUDCAD", "AUDNZD", "AUDJPY", "AUDUSD"};
2. Mancavano le seguenti linee.
Return (rates_total);
}
3. Ho sbagliato la dimensione dell'array. È stato modificato come segue e spostato nell'area globale.
datetime alert_bar [3] [3];
datetime candleTime [3] [3];
Grazie mille ancora una volta. Ora sta avvisando su tutti i timeframe e le coppie di valute elencate.
Tuttavia, non avverte più una volta per barra, ma avverte per ogni aumento del punto di candela al di sopra della dimensione minima dei punti di candela. Le linee 78, 84 e 90 in 'Sample.mq4' che hai allegato al tuo messaggio precedente non assicurano che l'allarme avvenga solo una volta per candela. Ho provato a cambiare i valori all'interno del '[]' ma questo ovviamente non ha risolto il problema. Come si fa a risolvere questo problema?
Come sempre qualsiasi ulteriore assistenza sarebbe molto apprezzata. Grazie.
Tuttavia, non avverte più una volta per barra, ma per ogni aumento del punto di candela al di sopra della dimensione minima dei punti di candela. Le linee 78, 84 e 90 in 'Sample.mq4' che hai allegato al tuo messaggio precedente non assicurano che l'allarme sia solo una volta per candela. Ho provato a cambiare i valori all'interno del '[]' ma questo ovviamente non ha risolto il problema. Come si fa a risolvere questo problema?
Certo. Dovrei scrivere le seguenti righe in "OnInit".
I numeri in [ ] sono regolati con "ArrayResize" sopra. Anche se il numero di coppie di valute aumenta, sarà regolato automaticamente qui, ma se vuoi aggiungere un altro time frame devi modificare direttamente il programma. Questo perché è la specifica di MQL4.
Certo che lo è. Dovrei scrivere le seguenti righe in "OnInit".
I numeri in [ ] sono regolati con "ArrayResize" sopra. Anche se il numero di coppie di valute aumenta, sarà regolato automaticamente qui, ma se vuoi aggiungere un altro time frame devi modificare direttamente il programma. Questo perché è la specifica di MQL4.
Grazie ancora una volta. Ho aggiunto il codice.
L'avviso continua a segnalare ogni aumento del punto candela al di sopra della dimensione minima dei punti candela, anche dopo aver cancellato l'indicatore dal grafico, ricompilato, abbandonato MT ecc. Come posso risolvere questo problema?
Come sempre qualsiasi ulteriore assistenza sarebbe molto apprezzata. Grazie.
L'allarme continua a segnalare ogni aumento di punti candela al di sopra della dimensione minima dei punti candela - anche dopo aver cancellato l'indicatore dal grafico, ricompilato, abbandonato MT ecc. Come posso risolvere questo problema?
Sul mio PC funziona normalmente senza problemi. Penso che ci sia qualcosa di sbagliato, ma non so cosa sia.
Sul mio PC funziona normalmente senza problemi. Penso che qualcosa sia sbagliato, ma non so cosa sia.
Sto eseguendo MT4 build 1090. Non sono sicuro di quale sia il problema. Forse qualcun altro può aiutare?
Grazie.
qualcuno può modificare questo indicatore, quando gli stoch si incrociano le frecce mostrano sulla seconda candela ma ho bisogno che la freccia mostri sulla candela corrente, immediatamente ogni volta quando gli stoch si incrociano
thanx
qualcuno può modificare questo indicatore, quando gli stoch si incrociano le frecce vengono mostrate sulla seconda candela ma io ho bisogno che la freccia venga mostrata sulla candela corrente, immediatamente ogni volta che gli stoch si incrociano
È molto facile. Correggere i = 1 a i = 0 sulla linea 77.