Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 538
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
Hallo Herr Fachmann, weigern Sie sich nicht, einen Neuling in der Programmierung, schauen Sie sich den Code, um zu sehen, ob es richtig geschrieben ist. Wer nicht zu faul ist, sich damit zu befassen. Ich kann sie nicht mit dem Strategy Tester testen, weil sie mehrere Währungen enthält. DieDatei mit dem Code und den Indikatoren ist dem Archiv beigefügt.
öffnen.
Ich versuche, einen einfachen EA zu schreiben, der alle Positionen auf meinem Konto schließt, wenn er angegebene Gewinn- oder Verlustwerte in der Einzahlungswährung erreicht (ich öffne durch mehrere Symbole), aber es schließt Positionen, sobald sie erscheinen (((
Ich verstehe nicht, was los ist:
Sehen Sie sich das an.
extern int Gewinn = 30;
extern int Magic=0;
int CurProfit;
extern bool CurSymbolOnly = false;
int start() // Sonderfunktion start
{
//Zähler des Gewinns aller Aufträge
double p1;
int i1, kk1=AuftragsSumme(), pr1=0;
for (i1=0; i1<kk1; i1++)
{
if(OrderSelect(i1, SELECT_BY_POS, MODE_TRADES))
{
if (!CurSymbolOnly || OrderSymbol()==Symbol())
{
p1=MarketInfo(OrderSymbol(), MODE_POINT);
if (p1==0) if (StringFind(OrderSymbol(), Symbol())<0) p1=0,0001; sonst p1=0,01;
if (Auftragsart()==OP_BUY)
{
pr1+=NormalizeDouble((OrderClosePrice()-OrderOpenPrice())/p1, 0);
}
wenn (Auftragsart()==OP_SELL)
{
pr1+=NormalizeDouble((OrderOpenPrice()-OrderClosePrice())/p1, 0);
}
}
}
}
CurProfit=pr1;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
wenn (Gewinn<=pr1)
{
ClosePosWithMaxProfitInCurrency();
}
zurück(0);
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///schließt vom teuersten zum billigsten
void ClosePosWithMaxProfitInCurrency(string sy="", int op=-1, int mn=-1)
{
double pr=0;
int i5, k=OrdersTotal(), np=-1;
if (sy=="0") sy=Symbol();
for (i5=k-1; i5>=0; i5--)
{
if (OrderSelect(i5, SELECT_BY_POS, MODE_TRADES))
{
wenn ((OrderSymbol()==sy || sy==") && (op<0 || OrderType()==op))
{
if (mn<0 || OrderMagicNumber()==mn)
{
wenn (pr<OrderProfit()+OrderSwap())
{
pr=OrderProfit()+OrderSwap();
np=i5;
}
}
}
}
}
wenn (np>=0)
{
if (OrderSelect(np, SELECT_BY_POS, MODE_TRADES))
{
{for (int i=OrdersTotal()-1; i>=0; i--)
{
if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) break;
if (OrderType()==OP_BUY ) OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),9);
if (OrderType()==OP_SELL) OrderClose (OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),9);
}
}
}
}
closeotlojnie();
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//closeotlojnie
void closeotlojnie()
{
for (int i=OrdersTotal()-1; i>=0; i--)
{
if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) break;
if (OrderType()==OP_BUYSTOP ) OrderDelete(OrderTicket());
if (OrderType()==OP_SELLSTOP ) OrderDelete(OrderTicket());
if (OrderType()==OP_BUYLIMIT ) OrderDelete(OrderTicket());
if (OrderType()==OP_SELLLIMIT) OrderDelete(OrderTicket());
}
}
Ich habe eine einzige Funktion für Sie ausgearbeitet, um verknüpfte Arrays von Symbolen und Anzahl der Aufträge (offene Positionen) zum Kauf und Verkauf zu erstellen. Testen Sie das Skript, indem Sie mehrere Positionen auf einer Demo
Vielen Dank für Ihre Zeit, aber es ist ein bisschen kompliziert für mich, entschuldigen Sie die Störung. Erklären Sie mir, was, wo und wie? Wie man an den Fingern ablesen kann.
Ich habe noch nie mit dieser Art von Skripten gehandelt.
Vielen Dank für Ihre Zeit, aber es ist ein bisschen kompliziert für mich, entschuldigen Sie die Störung. Erklären Sie mir, was, wo und wie? Wie man an den Fingern ablesen kann.
Ich habe es ausprobiert und manuell über ein Demokonto gehandelt.
Wie haben Sie es auf einem Demokonto getestet, wenn es nur Fehler gibt? Der vorgelegte Code konnte nicht gehandelt werden. Ich habe dem Code Kommentare hinzugefügt. Man muss die ganze Arbeit selbst machen, ohne Wissen und harte Arbeit... Sie können nicht auf Marktplätzen handeln, insbesondere nicht mit Devisen. Das Ergebnis wird unmissverständlich sein. Zusätzlich zu den oben genannten Problemen sollten Sie das von Ihnen gewählte Handelssystem nutzen. Nach 2-3 Monaten werden sich die Ergebnisse zeigen, dann werden Sie entscheiden, ob dieses System für Sie persönlich und für den Handel prinzipiell geeignet ist.
Frage an die Moderatoren oder Administratoren: Kann ich meinen Nickname ändern? Ich habe versucht, mich bei MQL5 zu registrieren, aber es stellte sich heraus, dass mein Nickname dort bereits verwendet wurde, so dass ich mich unter einem anderen Namen registrieren musste. Ich möchte dort und hier denselben Spitznamen haben. Natürlich kann ich mich auch hier neu registrieren, aber ich habe angefangen, etwas in Code Base zu posten und möchte die Urheberschaft meiner Werke (und Beiträge) behalten, indem ich einfach meinen Namen ändere". Ist das möglich?
Schreiben Sie Rosha eine private Nachricht. Ich hoffe, Sie werden sie finden. Nennen Sie das Problem
OK, vielen Dank.
Hallo! Ich habe EAs auf einer früheren Version von MetaTrader und habe das Terminal aktualisiert. Danach ging ich zurück zu 509. Die EAs haben also 60 Jahre lang... Bild, kehren sie zu der Terminalversion zurück, auf der sie geschrieben wurden.
Die Frage ist: Was ist mit den EAs zu tun, die nach dem "Zurückkommen" keine Geschäfte mehr im Strategy Tester öffnen und die nicht mehr überprüft werden können (der Start-Button im Strategy Tester reagiert einfach nicht auf einen Klick)?