[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non potrei andare da nessuna parte senza di te - 2. - pagina 89

 
volshebnik:
Grazie mille! Ha funzionato, ma raramente, a volte si verifica lo stesso errore - 130....... ( Devo sempre normalizzare gli stop o solo sugli indici ? (solo sulle coppie di valute gli stop hanno sempre funzionato senza normalizzazione, secondo me).


Aggiungere al codice:

if ( Error!=0 )
  Print("OrderSend()  Error=",Error," ОткрФрвверх=",ОткрФрвверх," SL=",SL," TP=",TP);

e analizzare.

 
artmedia70:

artemida70, ho un problema nel testare un EA. Ho bisogno di cancellare la vecchia cronologia, che si trova nella cartella history nella directory del terminale. Non so come entrare nella directory del terminale, ho provato tutte le icone e da nessuna parte ho trovato quello che sto cercando. Non ho ancora dovuto cancellare i dati storici. Probabilmente ci sono diversi file nella cartella history, se è così quale contiene i dati storici? Non voglio causare ulteriori problemi. Inoltre, se non ti dispiace, non ho uno stabilizzatore sul mio computer e ho avuto un'interruzione di corrente oggi. Accendo il terminale e la barra di stato e le barre degli strumenti sono scomparse sullo schermo. Li ho riaccesi, ma dopo aver spento il terminale, sono scomparsi di nuovo. So che l'ho già fatto una volta e ho trovato nel manuale utente come resettarlo, ma ora non posso farlo di nuovo, devo leggere tutto ancora una volta. Non c'è di che. :)

 

coronel, artmedia70, grazie mille per le vostre risposte e aggiunte.

Si scopre che ho un problema non con il codice, ma con qualcos'altro (probabilmente già con la mia testa :-))). Non ho nessuno degli script funzionanti, anche se tutti gli EA funzionano. Ho iniziato ad allegare al grafico tutti gli script che ho trovato nel mio MT4, e nessuno di loro funziona - per esempio, lo script close (copyright metaquotes), lo script ByMarketBuySymbols (copyright KimIV) e altri. Tutti i log vengono caricati con successo, e poi immediatamente rimossi. Il pulsante "Expert Advisors" è abilitato. Non ho controllato un solo terminale, ma due - Life e Fx4U. Li ho provati entrambi, non è possibile che siano entrambi glitch. Cosa fare? Come faccio a far funzionare gli script?

 

Spostato da un thread separato.

anastar88 10.02.2011 13:28

Ciao, in questo EA gli avvisi appaiono ogni 5-10 secondi e ho bisogno solo dei segnali di trading M30, che sono contrassegnati da punti verdi e rossi sui grafici. qualcuno può aiutarmi? Grazie.


//ADX Crossing.mq4 
//| Amir
//+------------------------------------------------------------------+
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Lime
#property indicator_color2 Red
//---- input parameters
extern int ADXbars=14;
extern int CountBars=350;
//---- buffers
double val1[];
double val2[];
double b4plusdi,nowplusdi,b4minusdi,nowminusdi;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
string short_name;
//---- indicator line
IndicatorBuffers(2);
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0,108);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1,108);
SetIndexBuffer(0,val1);
SetIndexBuffer(1,val2);
//----
return(0);
}
//+------------------------------------------------------------------+
//| AltrTrend_Signal_v2_2 |
//+------------------------------------------------------------------+
int start()
{
if (CountBars>=Bars) CountBars=Bars;
SetIndexDrawBegin(0,Bars-CountBars);
SetIndexDrawBegin(1,Bars-CountBars);
int i,shift,counted_bars=IndicatorCounted();
//---- check for possible errors
if(counted_bars<0) return(-1);
//---- initial zero
if(counted_bars<1)
{
for(i=1;i<=CountBars;i++) val1[CountBars-i]=0.0;
for(i=1;i<=CountBars;i++) val2[CountBars-i]=0.0;
}
for (shift = CountBars; shift>=0; shift--)
{
b4plusdi=iADX(NULL,0,ADXbars,PRICE_CLOSE,MODE_PLUSDI,shift-1);
nowplusdi=iADX(NULL,0,ADXbars,PRICE_CLOSE,MODE_PLUSDI,shift);
b4minusdi=iADX(NULL,0,ADXbars,PRICE_CLOSE,MODE_MINUSDI,shift-1);
nowminusdi=iADX(NULL,0,ADXbars,PRICE_CLOSE,MODE_MINUSDI,shift);
if (b4plusdi>b4minusdi && nowplusdi<nowminusdi && i!=1)
{
val1[shift]=Low[shift]-5*Point;
Alert("Buy Arrow","\n","Current time is ",TimeToStr(CurTime()),"\n",Symbol());
i++;
}
if (b4plusdi<b4minusdi && nowplusdi>nowminusdi && i!=1)
{
val2[shift]=High[shift]+5*Point;
Alert("Sell Arrow","\n","Current time is ",TimeToStr(CurTime()),"\n",Symbol());
i++;
}
}
return(0);
}
//+------------------------------------------------------------------+




File allegati:

ADXpCrossingqw_Alerts.mq4 (2,47 KB)


 
Zhunko:

XP? Se è così, basta aspettare un po'. Ne pubblicherò presto uno nuovo.

Funziona su Vista e 7. Non tutto XP non funziona. Su alcuni va bene.

================

Inviato. Sarà nel salvadanaio domani o dopodomani.


Sì - XP.
 

Ha scritto un eccellente robot "esperto" (non c'è altro modo per dirlo se non tra virgolette).

Tiene conto di tutti gli ultimi sviluppi della comunità MQL.

Apre le posizioni perfettamente - non c'è nulla di cui lamentarsi.

Gli stop loss funzionano perfettamente!!! )))

Ma non vuole pagare il proprietario... puttana...)))

 
2011.02.10 13:10:54 EURCHF,M1: Alert: Error OrderClose4063
Cosa causa questo errore?
 
guarda nella scheda informativa
 
Dimka-novitsek:

2011.02.10 13:10:54 EURCHF,M1: Alert: Error OrderClose4063
Cosa causa questo errore, per favore?

Trova da dove viene questo errore, guarda attentamente. Deve essere un numero intero (integer).

Forse stai usando un doppio o una stringa... Questo è solo un'opzione. Potrebbe essere anche qualcos'altro.

Fate una ricerca.

Codice di errore: "Il parametro di tipo intero è in attesa".

 

Grazie. Ed è per questo che non lo capisco subito,

if (OrdersTotal( ) !=0) {
OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES );
OrderClose( ticket, Lots, Ask, 5, 0 );

E il mio biglietto è esattamente un doppio, non un integer!!!!