Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Bitte um Hilfe bei einem EA
Ich versuche, einen Verkaufsauftrag zu schließen und einen neuen Kaufauftrag zu eröffnen. Der Kaufauftrag wird geöffnet, aber der Verkaufsauftrag gibt Fehler 4051
Ich verwende
ticket = OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, Gold);// Position schließen
und
ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, StopLossLevel, TakeProfitLevel, "Buy(#" + MagicNumber + ")", MagicNumber, 0, DodgerBlue);
Wie kann man die magische Zahl ändern?
Hallo zusammen,
Ich benutze den Differenz-EA (Kopie von einem Original-EA), um Differenzpaare im Differenz-Chart-Fenster zu handeln, und ich möchte die magische Zahl ändern, aber ich weiß nicht, wie die magische Zahl funktioniert? Könnten Sie mir bitte sagen:
1. Wie funktioniert die magische Zahl?
2. Wie kann ich die magische Zahl ändern?
3. Kann ich eine beliebige Zahl nehmen, um die magische Zahl zu ändern, oder MUSS ich eine bestimmte Zahl in einigen Regeln verwenden?
4. Könnten Sie mir ein Beispiel für die Änderung der magischen Zahl bei der magischen Zahl meines EA geben: 16763 ?
Vielen Dank für Ihre Hilfe!
Die magische Nummer ist nichts anderes als ein eindeutiger Bezeichner. Sie kennzeichnet jede Instanz desselben EA und unterscheidet ihn gleichzeitig von allen anderen EA, die Sie möglicherweise laufen haben.
Wenn die magische Zahl eine externe Variable ist, können Sie sie in eine beliebige Zahl ändern. Vergewissern Sie sich nur, dass es nicht dieselbe Zahl ist wie bei einem anderen EA, den Sie gerade laufen haben.
Wenn es sich nicht um eine externe Variable handelt, suchen Sie im Code nach der Variable und ändern Sie sie in eine beliebige Zahl.
Ich hoffe, das hilft.
Lux
Die magische Nummer ist nichts anderes als eine eindeutige Kennung. Sie unterscheidet jede Instanz desselben EAs und unterscheidet ihn auch von allen anderen EAs, die Sie möglicherweise laufen haben.
Wenn die magische Zahl eine externe Variable ist, ändern Sie sie einfach in eine beliebige Zahl. Vergewissern Sie sich nur, dass es nicht dieselbe Zahl ist wie bei einem anderen EA, der bei Ihnen läuft.
Wenn es sich nicht um eine externe Variable handelt, dann suchen Sie im Code nach der Variable und ändern Sie sie in eine beliebige Zahl, die Sie möchten.
Ich hoffe, das hilft.
LuxHallo Lux,
Du meinst, ich kann die magische Zahl meines EAs ändern: 16763 in 16764; 16765 ect... ?
Vielen Dank für Ihre schnelle Antwort.
Luu
Hallo Lux,
Sie meinen, ich kann die magische Zahl meines EAs ändern: 16763 zu 16764; 16765 ect...?
Vielen Dank für Ihre schnelle Antwort.
LuuGanz genau! Solange die Nummer eindeutig ist, spielt es keine Rolle, welche Nummer Sie wählen.
Sie brauchen sie nicht wirklich zu ändern, es sei denn, Sie haben einen besonderen Grund dafür.
Lux
Ganz genau! Solange die Nummer einmalig ist, spielt es keine Rolle, welche Nummer Sie wählen.
Sie brauchen es nicht wirklich zu ändern, es sei denn, Sie haben einen besonderen Grund dafür.
LuxVielen Dank für Ihre Hilfe, Lux!
Luu
EA Abschlussauftrag Probleme
Freunde ı haben einen EA mit Unterstützung Widerstand Indikator.EA muss Aufträge auf Ziel Gewinn abzuschließen.Aber es fehlt irgendwann.Wie kann ı loswerden dieses Problem.Bitte helfen Sie mir
Bitte um Hilfe bei einem einfachen generischen Skript.
Hallo
Kann mir jemand bitte mit einem einfachen Skript helfen.
Hier ist, was ich brauche.
Ein sehr allgemeines Skript, das für jedes Symbol verwendet werden kann und 3-4 Aufträge für SELL_STOP und BUY_STOP platziert
Sagen wir, ich möchte einen Buy_Stop 20 Punkte über dem aktuellen Preis platzieren, die zweite Order 40 Punkte über dem aktuellen Preis, die dritte 80 Punkte und so weiter.
Das Gleiche gilt für Sell_Stop
Ich habe versucht, das Skript anhand einiger Beispiele zusammenzustellen, aber da ich mit der Sprache C nicht vertraut bin, habe ich einige Probleme.
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""// improved.mq4
int start()
{
int ticket,i;
int cnt=1;
int Dist_SL =10; // Voreingestellter SL (pt)
int Dist_TP =100; // Voreingestellte TP (pt)
string Symbol=Symbol(); // Symbol
RefreshRates();
double bid =MarketInfo(Symb,MODE_BID);
double ask =MarketInfo(Symb,MODE_ASK);
double point =MarketInfo(Symb,MODE_POINT);
int Min_Dist=MarketInfo(Symb,MODE_STOPLEVEL);
if (Dist_TP < Min_Dist) // Wenn es weniger als erlaubt ist
{
Dist_TP=Min_Dist; // Setzen der zulässigen
Alert(" Erhöhte die Entfernung von TakeP = ",Dist_TP," pt");
}
//-------------------------------------------------------------------- 6 --
Alert("Die Anfrage wurde an den Server gesendet. Warte auf Antwort..");
for(i=100;i<400;i=i+100)
{
double TP=(ask+i*Point) + Dist_TP*Point; // Angeforderter Preis von TP
ticket=OrderSend(Symb,OP_BUYSTOP,0.1,ask+i*Point,1,(ask+i*Point)-Dist_SL*Point,TP);
Sleep(500);
int Error=GetLastError(); // Fehlgeschlagen
switch(Error) // Überwindbare Fehler
{
case 130:Alert("Der SL ist falsch. Wiederholung..");
RefreshRates(); // Daten aktualisieren
if (Dist_SL < Min_Dist) // Wenn er kleiner als erlaubt ist
{
Dist_SL=Min_Dist; // Erlaubten Wert setzen
Alert(" Erhöht den Abstand von SL = ",Dist_SL," pt");
}
i=i-50;
Alert (i);
Alert (Dist_SL);
cnt=cnt+1;
Alert (cnt);
wenn (cnt==3)break;
continue; // Bei der nächsten Iteration
case 135:Alert("Der Preis hat sich geändert. Ich versuche es erneut..");
RefreshRates(); // Daten aktualisieren
continue; // Bei der nächsten Iteration
case 136:Alert("Keine Kurse. Warten auf einen neuen Tick...");
while(RefreshRates()==false) // Bis zu einem neuen Tick
Sleep(1); // Zyklusverzögerung
continue; // Bei der nächsten Iteration
case 146:Alert("Das Handelssubsystem ist beschäftigt und versucht es erneut...");
Sleep(500); // Einfache Lösung
RefreshRates(); // Daten aktualisieren
continue; // Bei der nächsten Iteration
}
switch(Error) // Kritische Fehler
{
case 2 : Alert("Häufiger Fehler.");
break; // Beenden von 'switch'
case 5 : Alert("Veraltete Version des Client-Terminals.");
break; // Beenden von 'switch'
case 64: Alert("Das Konto ist gesperrt.");
break; // Beenden Sie 'switch'
case 133:Alert("Der Handel ist verboten");
break; // Beenden von 'switch'
default: Alert("Aufgetretener Fehler ",Error);// Andere Alternativen
}
//break;
}
//-------------------------------------------------------------------------- 9 --
Alert ("Das Skript hat seine Operationen abgeschlossen ---------------------------");
return; // Beenden von start()
}
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
Es funktioniert irgendwie, aber ich habe oft Probleme mit dem Stop Loss.
Heres meine Idee, wenn wir die Schlange mit dem gaußschen sr Rate innerhalb der wechseln können
ssrc-Indikator tauschen, könnte sich das auszahlen, was meinen Sie?
ssrc es wäre die einseitige gaußsche sr rate spearmen rank korrelation
"osgsrspc" lol .(ich habe versucht, es zu codieren, aber es ging über meinen Kopf)
ssrc_bar.mq4
ssrc.mq4
os_gaussian_sr_rate.mq4
Neue Frage: 5. Dezimalstelle und Money Management
In einem anderen Forum, das ich häufig besuche und das sich an Kunden eines bestimmten EA richtet, beschwerte sich ein Kunde über die Tatsache, dass der EA-Entwickler das Problem der 5.
Der Entwickler behauptete vor einigen Monaten, dass dieses Problem nur mit einem speziellen Skript zu lösen sei. Jetzt, 4 Monate später, habe ich gesagt, dass es lächerlich ist, dass das Problem noch nicht behoben wurde - und behauptet, dass es nur ein paar Zeilen Code braucht, um "Point" neu zu definieren, ähnlich wie die hier beschriebene Methode .
Und jetzt kommt die Frage. Der Entwickler besteht immer noch darauf, dass dieses Problem super kompliziert ist und eine spezielle Skriptprogrammierung erfordert, um es zu beheben. Hier ist die Erklärung des Entwicklers:
Meine Frage lautet also wie folgt: Ist jemand von Ihnen als erfahrener Programmierer auf diese komplizierte Skriptanforderung oder auf Probleme mit dem Wert "Point" der MT4-Plattform gestoßen?
Selbst wenn man davon ausgeht, dass "Point" auf 4 Dezimalstellen begrenzt ist, würde das bedeuten, dass man sich nur um Paare mit Point = 0,001 ---- kümmern muss, was immer noch nur ein oder zwei Zeilen Code erfordert.
Oder Sie könnten "Digits" anstelle von "Point" verwenden - was immer noch nur ein paar Zeilen Code erfordert.
Oder Sie könnten einfach eine boolesche Variable wie "UseFractionalPips = true;" verwenden, um "Point" neu zu definieren.
Ich habe wirklich das Gefühl, dass der Entwickler das Problem entweder komplizierter macht als es ist (oder vielleicht andere Motive hat). Ich habe einfach noch nie von diesem Problem gelesen oder gehört, dass "Point" auf nur 4 Dezimalstellen begrenzt ist - und selbst wenn es so wäre, könnte man "Digits" oder andere Methoden verwenden, um "Point" ohne spezielles Scripting neu zu definieren.
Ich programmiere erst seit 18 Monaten in MT4, daher dachte ich, ich würde mich an einige erfahrenere Programmierer wenden, um zu erfahren, wie kompliziert die "Lösung" für den Umgang mit gebrochenen Pip-Preisen in MT4 ist.
Irgendwelche Ideen?
Vielen Dank im Voraus für Ihre Hilfe,
-B