[Archiv!] Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Könnte nirgendwo ohne dich hingehen - 2. - Seite 89

 
volshebnik:
Herzlichen Dank! Es hat funktioniert, aber selten, manchmal tritt derselbe Fehler auf - 130....... ( Muss ich die Stopps immer normalisieren oder nur bei Indizes? (nur bei Währungspaaren haben Stopps meiner Meinung nach immer ohne Normalisierung funktioniert).


Dem Code hinzufügen:

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

und zu analysieren.

 
artmedia70:

artemida70, ich habe ein Problem mit dem Testen eines EA. Ich muss den alten Verlauf löschen, der sich im Ordner history im Terminalverzeichnis befindet. Ich weiß nicht, wie ich in das Terminalverzeichnis komme, ich habe alle Symbole ausprobiert und nirgends gefunden, wonach ich suche. Ich habe noch keine historischen Daten löschen müssen. Wahrscheinlich gibt es mehrere Dateien im Ordner "history", wenn ja, welche enthält die historischen Daten? Ich möchte keine zusätzlichen Probleme verursachen. Außerdem, wenn Sie nichts dagegen haben, habe ich keinen Stabilisator auf meinem Computer und hatte heute einen Stromausfall. Ich schalte das Terminal ein und die Statusleiste und die Symbolleisten sind auf dem Bildschirm verschwunden. Ich schaltete sie wieder ein, aber nachdem ich das Terminal ausgeschaltet hatte, waren sie wieder verschwunden. Ich weiß, dass ich das schon einmal gemacht habe, und ich habe im Benutzerhandbuch gefunden, wie man es zurücksetzt, aber jetzt kann ich es nicht noch einmal machen, ich muss alles noch einmal lesen. Bitte sehr. :)

 

coronel, artmedia70, vielen Dank für Ihre Antworten und Ergänzungen.

Es stellt sich heraus, dass ich ein Problem nicht mit dem Code, sondern mit etwas anderem (wahrscheinlich schon mit meinem Kopf :-))) habe. Bei mir funktioniert keines der Skripte, obwohl alle EAs funktionieren. Ich habe angefangen, alle Skripte, die ich in meinem MT4 gefunden habe, an den Chart anzuhängen, und keines davon funktioniert - zum Beispiel das Skript close (Copyright metaquotes), das Skript ByMarketBuySymbols (Copyright KimIV) und andere. Sie werden alle erfolgreich geladen und dann sofort entfernt. Die Schaltfläche "Expert Advisors" ist aktiviert. Ich habe nicht nur ein Terminal überprüft, sondern zwei - Life und Fx4U. Ich habe beide ausprobiert, sie können nicht beide fehlerhaft sein. Was ist zu tun? Wie bringe ich die Skripte zum Laufen?

 

Von einem anderen Thema verschoben.

anastar88 10.02.2011 13:28

Hallo, in diesem EA die Alarme Pop-up alle 5-10 sec. und ich brauche nur auf M30 Handelssignale, die mit grünen und roten Punkten auf den Charts markiert sind. kann mir jemand helfen? Ich danke Ihnen.


//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);
}
//+------------------------------------------------------------------+




Beigefügte Dateien:

ADXpCrossingqw_Alerts.mq4 (2.47 KB)


 
Zhunko:

XP? Wenn ja, warten Sie einfach eine Weile. Ich werde bald einen neuen Beitrag veröffentlichen.

Es funktioniert unter Vista und 7. Nicht alles, was XP kann, funktioniert nicht. Bei manchen ist das in Ordnung.

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

Geschrieben. Wird morgen oder übermorgen im Sparschwein sein.


Ja - XP.
 

Er hat einen hervorragenden "Experten"-Roboter geschrieben (anders kann man es nicht ausdrücken, außer in Anführungszeichen).

Es berücksichtigt alle aktuellen Entwicklungen der MQL-Gemeinschaft.

Er öffnet die Positionen perfekt - da gibt es nichts zu beanstanden.

Stop Losses funktionieren einwandfrei!!! )))

Aber er will den Besitzer nicht bezahlen...Miststück...)))

 
2011.02.10 13:10:54 EURCHF,M1: Alert: Error OrderClose4063
Was verursacht diesen Fehler?
 
siehe im Merkblatt
 
Dimka-novitsek:

2011.02.10 13:10:54 EURCHF,M1: Alert: Error OrderClose4063
Was ist die Ursache für diesen Fehler?

Finden Sie heraus, woher der Fehler kommt, und schauen Sie genau hin. Es muss sich um eine ganze Zahl (Integer) handeln.

Vielleicht verwenden Sie ein Double oder einen String... Dies ist nur eine Option. Es könnte auch etwas anderes sein.

Führen Sie eine Suche durch.

Fehlercode: "Parameter vom Typ Integer steht an".

 

Ich danke Ihnen. Und deshalb verstehe ich es auch nicht sofort,

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

Und mein Ticket ist genau eine Dublette, kein Integer!!!!

Grund der Beschwerde: