Quando si esegue il debug, l'Expert Advisor va in crash, anche se in teoria deve eseguire un ciclo in OnTIck finché la condizione Tik==0 diventa falsa.
Cerca gli errori. Durante la compilazione, fate attenzione al messaggio di errore.
declaration of 'tik' hides global declaration at line 23 test.mq5 223 20
dice che state cercando di creare una variabile e la variabile esiste già nelle dichiarazioni globali.
Ciao, ho imparato a padroneggiare MQL4 un anno fa con facilità. Ora sto cercando di tradurre i miei EA in MQL5, ma non riesco nemmeno ad afferrare le basi del nuovo linguaggio. Se potete, vi prego di inviarmi un semplice programma per aprire una posizione all'incrocio di un indicatore di movimento veloce e lento con impostazione di Stop e Profit. Ecco un esempio di un programma che funziona in MQL4:
#define Lot 0.1
extern int Magic = 105;
extern int St=70;
extern int Pr=50;
static int prevtime = 0;
extern int PerF=15;
extern int PerL=55;
int init() { return(0); } int deinit() { return(0); }
Reshetov: Installate Internet Explorer versione 8 o superiore, anche se non lo usate mai. Gli sviluppatori hanno legato il Mercato nel terminale a questo browser per qualche motivo?
if(OrderSelect(tik)==true)
{
if(ORDER_TYPE_BUY)
{
if(Bid-ORDER_PRICE_OPEN>_Point *(TrailingStop/10))
{
if(ORDER_SL<Bid-_Point*(TrailingStop/10))
{
bool Ans=trade.OrderModify(tik,ORDER_PRICE_OPEN,NormalizeDouble(Bid-_Point*(TrailingStop/10),5),ORDER_TP,ORDER_TIME_GTC,ORDER_TIME_EXPIRATION);
if(Ans==true)
{
Alert("Цена Stop Loss ордера успешно модифицирована.");
return;
}
}
}
}return;
Заходя в первое условие перескакивает на return, хотя переменная tik определена и является глобальной. Подозреваю что неправильно получаю данные выбранного ордера, есть идеи в чем косяк?
romadd: Ci sono vari EA scalper nel mercato che mostrano risultati sorprendenti nel tester. Ma funzioneranno su un conto reale?
Questo può essere testato su un conto reale solo se è disponibile una versione gratuita dell'EA. Molti venditori mettono su versioni gratuite dei loro EA a pagamento, in modo che possano essere testati non solo nel tester.
Ma è consigliabile, prima di testare sul conto reale, assicurarsi che non abbiamo a che fare con il tester grail sui conti demo. Altrimenti non avrete fortuna.
Заходя в первое условие перескакивает на return, хотя переменная tik определена и является глобальной. Подозреваю что неправильно получаю данные выбранного ордера, есть идеи в чем косяк?
Conta le parentesi per l'accoppiamento. Ho contato più aperti che chiusi.
La condizione è semplice lì, duplica quello che ho scritto per Sell order type.
La domanda rimane! Perché non va oltre la prima condizione?
O allegate l'intero codice o inizializzate le vostre variabili prima dello snippet di codice, per favore. Non so cosa avete nelle vostre variabili, per esempio in
Durante il debug, EA si arresta in modo anomalo, anche se in teoria dovrebbe scorrere OnTIck fino a quando la condizione Tik==0 diventa falsa.
Quando si esegue il debug, l'Expert Advisor va in crash, anche se in teoria deve eseguire un ciclo in OnTIck finché la condizione Tik==0 diventa falsa.
Cerca gli errori. Durante la compilazione, fate attenzione al messaggio di errore.
dice che state cercando di creare una variabile e la variabile esiste già nelle dichiarazioni globali.
E così via.
Ciao, ho imparato a padroneggiare MQL4 un anno fa con facilità. Ora sto cercando di tradurre i miei EA in MQL5, ma non riesco nemmeno ad afferrare le basi del nuovo linguaggio. Se potete, vi prego di inviarmi un semplice programma per aprire una posizione all'incrocio di un indicatore di movimento veloce e lento con impostazione di Stop e Profit. Ecco un esempio di un programma che funziona in MQL4:
#define Lot 0.1
extern int Magic = 105;
extern int St=70;
extern int Pr=50;
static int prevtime = 0;
extern int PerF=15;
extern int PerL=55;
int init() { return(0); } int deinit() { return(0); }
int start() {
se (Time[0] == prevtime) return(0);
prevtime = Time[0];
if( iMA(NULL,0,PerF,0,MODE_SMMA,PRICE_MEDIAN,1)>iMA(NULL,0,PerL,0,MODE_SMMA,PRICE_MEDIAN,1)
&& iMA(NULL,0,PerF,0,MODE_SMMA,PRICE_MEDIAN,2)<iMA(NULL,0,PerL,0,MODE_SMMA,PRICE_MEDIAN,2) )
{ OrderSend(Symbol(),OP_BUY,Lot,Ask,3,Ask-St*Point,Ask+Pr*Point, "2014",Magic,0,Green);}
return(0); }
Installate Internet Explorer versione 8 o superiore, anche se non lo usate mai. Gli sviluppatori hanno legato il Mercato nel terminale a questo browser per qualche motivo?
Ci sono vari EA scalper nel mercato che mostrano risultati sorprendenti nel tester. Ma funzioneranno su un conto reale?
Questo può essere testato su un conto reale solo se è disponibile una versione gratuita dell'EA. Molti venditori mettono su versioni gratuite dei loro EA a pagamento, in modo che possano essere testati non solo nel tester.
Ma è consigliabile, prima di testare sul conto reale, assicurarsi che non abbiamo a che fare con il tester grail sui conti demo. Altrimenti non avrete fortuna.
StrangerNet:
Conta le parentesi per vedere se sono accoppiate. Ho contato più aperti che chiusi.
L'ulteriore condizione è semplice, duplica quello che ho scritto per il tipo di ordine Sell.
La domanda rimane comunque. Perché non va oltre la prima condizione?
La condizione è semplice lì, duplica quello che ho scritto per Sell order type.
La domanda rimane! Perché non va oltre la prima condizione?
O allegate l'intero codice o inizializzate le vostre variabili prima dello snippet di codice, per favore. Non so cosa avete nelle vostre variabili, per esempio in