Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 1133
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
prıvet .podzajajajte pojalusta pogu na demo schete ne mogu otkrıt zdelkı
Handel ist deaktiviert .oshıbka
Keine Sünden, worauf schwört sie?
Was sind die Compilerfehler?
Das hat etwas damit zu tun, dass die Funktion global sein muss und auf Kommas an Stellen wartet, an denen es keinen Sinn macht, sie zu setzen! Zum Beispiel an der Trennlinie zwischen Informationen über den Broker und das gehandelte Paar
Ein Ratschlag für einen Dummkopf. Wie kann ich ein Live-Konto eröffnen?
Was meinen Sie mit "keine"? Sortieren nach Ticket - es wird immer eine Reihenfolge geben und es gibt keinen Widerspruch zur Dokumentation, in der es um die Sortierung nach Seriennummer geht, nicht nach Ticket, das sind unterschiedliche Dinge.
Wir haben diese Liste von Bestellungen zu einem Zeitpunkt (nach Ticket)
- Kaufen #1
- Kaufen #2
- KaufStopp #3
- Verkaufen #4
Die Reihenfolge der Tickets in der Liste ist: #1,#2,#3,#4In welcher Reihenfolge werden die Tickets nach BuyStop #3 in der Liste erscheinen?
Ist es #1, #2, #4, #3?
Die Eintrittskarten sind also auch keine Garantie für die Ordnungsmäßigkeit.
Ein weiteres Problem, auf das ich gestoßen bin! Urteilen Sie nicht, ich lerne die Sprache seit 2-3 Wochen, vielleicht bin ich einfach nur dumm!
Die Aufgabe des Expert Advisors ist es, den Händler alle 4 Stunden per E-Mail zu benachrichtigen, wenn die freie Marge auf dem Konto einen bestimmten Wert erreicht hat.
In der Betreffzeile der Nachricht müssen Sie den Namen des Brokers und das gehandelte Paar angeben, und im Text der Nachricht "Danger! Die Inanspruchnahme liegt über dem Grenzwert. Ergreifen Sie die erforderlichen Maßnahmen".
Der Compiler funktioniert nicht, ich bin nicht gut in Englisch und ich kann nicht herausfinden, was der Fehler ist!
double Sag;
void OnTick()
{
Sag = NormalizeDouble(100-100*(AccountInfoDouble(ACCOUNT_FREEMARGIN)/AccountInfoDouble(ACCOUNT_BALANCE)), 1); //находим процент просадки и округляем до 1 знака
if(Sag > MessageMail && iVolume(NULL,PERIOD_H4,0)<3) //если просадка больше заданного и начата новая свеча на 4ч таймфрейме
{
Alert(Symbol(), ": Просадка = ", Sag, " % ", " > ", MessageMail, " % "); //вывести предупреждение в терминале
//Сюда нужно вставить команду SendMail для отправки сообщения, а что и как не понятно
// пробовал bool SendMail( AccountInfoString(ACCOUNT_COMPANY)|Symbol, "Опасность! Просадка привысила допустимое значение. Примите необходимые меры")
//что то не выходит
}
}
PS: Vielleicht gibt es generell eine einfachere Lösung für diese Art von Problem, aber bisher sehe ich es nur auf diese Weise)
//| exTestSendMail.mq4 |
//| Copyright 2017, Artem A. Trishkin, Skype artmedia70 |
//| https://login.mql5.com/ru/users/artmedia70 |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, Artem A. Trishkin, Skype artmedia70"
#property link "https://login.mql5.com/ru/users/artmedia70"
#property version "1.00"
#property strict
input double MessageMail = 50.0;
//---
double Sag=0;
string MailSubject="";
datetime PrevTime=0;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
MailSubject="Mail from EA "+MQLInfoString(MQL_PROGRAM_NAME);
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
//--- Находим процент просадки и округляем до 1 знака
Sag=NormalizeDouble(100-100*(AccountInfoDouble(ACCOUNT_MARGIN_FREE)/AccountInfoDouble(ACCOUNT_BALANCE)),1);
//--- Если открыт новый бар на H4
if(iTime(Symbol(),PERIOD_H4,0) !=PrevTime) {
//--- если просадка больше заданного
if(Sag>MessageMail) {
Alert(Symbol(), ": Просадка = ", DoubleToString(Sag,1), " % ", " > ", MessageMail, " % "); //вывести предупреждение в терминале
string MailText=AccountInfoString(ACCOUNT_COMPANY)+" > Опасность! Просадка ("+DoubleToString(Sag,1)+"%) привысила допустимое значение. Примите необходимые меры.";
SendMail(MailSubject,MailText);
}
PrevTime=iTime(Symbol(),PERIOD_H4,0);
}
}
//+------------------------------------------------------------------+
Ich danke Ihnen! Zum Versenden von Briefen einrichten!
Wie kannder Rückgabewert '' OrderClose muss geprüft werden?????????????????????????????? behoben werden?
Liebe Programmierer, bitte helfen Sie einem Neuling in diesem Geschäft.
Der EA öffnet Kauf- und Verkaufsaufträge nach einer bestimmten Zeitspanne nacheinander. Ich möchte, dass alle früheren Aufträge geändert werden (insbesondere sollen alle früheren Aufträge durch Take Profit des letzten Auftrags geschlossen werden). D.h. wenn der letzte Kaufauftrag und der vorherige Verkaufsauftrag, dann wird der Stop-Loss des vorherigen Auftrags auf das Take-Profit-Niveau des letzten Auftrags gesetzt,
Wenn der vorherige Kauf kauft, dann wird sein TakeProfit auf das Niveau des letzten TakeProfit gesetzt. Der Punkt ist, dass bei der Gewinnmitnahme des letzten Auftrags alle Aufträge geschlossen werden müssen).
Ich hoffe, ich habe es klar und deutlich erklärt, auch wenn es schwer zu verstehen ist, wie es umgesetzt werden soll. Ich danke Ihnen im Voraus.
Ich verstehe, dass wir alle offenen Aufträge durchgehen und sie ändern können, aber wie können wir den letzten Auftrag überspringen?