[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 880
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
Vielleicht habe ich nicht genau gemeint, ich brauche die Variable BalansEURUSD, um Gewinne oder Verluste in Prozenten anzuzeigen "BalansEURUSD =5%", wie dies
und so weiter ein paar weitere Paare, sagen wir das Pfund und die Doloräne
einmalig
Dies ist schwieriger, aber es kann berechnet werden:
Für einen SELL-Auftrag
profit=NormalizeDouble((OrderOpenPrice()-Ask)*MarketInfo("EURUSD",MODE_TICKVALUE)*OrderLots()/Point,2);
margin=NormalizeDouble(AccountFreeMargin()-AccountFreeMarginCheck("EURUSD",OP_SELL,OrderLots(),2);
für BUY:
profit=NormalizeDouble((Bid-OrderOpenPrice())*MarketInfo("EURUSD",MODE_TICKVALUE)*OrderLots()/Point,2);
margin=NormalizeDouble(AccountFreeMargin()-AccountFreeMarginCheck("EURUSD",OP_BUY,OrderLots(),2);
Dies sind vollständige Formeln zur Berechnung des Gewinns der Bestellung + Marge für diese Bestellung, die Marge sollte berücksichtigt werden, denn wenn die Bestellung schließt, wird die freigegebene Marge zum Saldo hinzugefügt, das Geld wird numerisch steigen, aber der tatsächliche Gewinn kann nicht gewesen sein
Leute, bitte ratet mal, wie man eine schwebende Order auslöst und eine andere platziert ?????? Ich habe es über Order Select versucht, aber es funktioniert nicht ........
nach
order type == buy, // where buystop was earlier
open pending order // (it does not open)
Könnt ihr mir sagen, wie man eine schwebende Order auslöst und eine andere platziert ?????? Ich habe versucht, es über die Auftragsauswahl zu machen, aber es hat nicht funktioniert ........
nach
Auftragsart == Kauf, // wenn Kauf zuvor durch Stop ersetzt wurde
einen schwebenden Auftrag eröffnen // (wird nicht eröffnet)
Wenn dies der Fall ist, bedeutet dies, dass der (zuvor eingestellte) schwebende Auftrag marktfähig geworden ist. Geben Sie dann den nächsten Auftrag ein (einen anderen schwebenden Auftrag, den Sie benötigen, z.B.: wenn der Kaufauftrag im Markt ist, geben Sie einen By-Stop ein, usw.). Ich empfehle zu lesen
auf der alpari-Website - Forex-Schulung - Händlerhandbuch - Autotrading MKL4 (linke Seite) - Trading Advisors - (Orderselect, Orderend, bedingte Operatoren, usw.)
http://www.alpari.ru/ru/school/textbook/autotrading/expert_advisors/ - prägnant und informativ...
Ich versuche zu lernen, wie man programmiert. Bitte sagen Sie mir, dass ich vermute, dass die folgende Bedingung im Expert Advisor nie erfüllt ist
while (B*Point >zmm)
Comment("Differenzwert ", B);
OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Bid-stoploss*Point,Ask+TakeProfit*Point, "macd sample",16384,0,Green);
Wie kann dies überprüft werden? Welche Methoden gibt es? Und ist es möglich, wenn die Zecken nicht funktionieren?
Liebe Experten! Ich lerne gerade, einen EA zu schreiben. Es funktioniert, aber nicht alles. Die Blöcke zur Änderung und Schließung von Aufträgen funktionieren nicht. Ich kann den Grund dafür nicht finden. Ich bitte um Hilfe.
Ich bitte um Hilfe.
Liebe Experten! Ich lerne gerade, einen EA zu schreiben. Es funktioniert, aber nicht alles. Die Blöcke zur Änderung und Schließung von Aufträgen funktionieren nicht. Ich kann den Grund dafür nicht finden. Ich bitte um Hilfe.
Ich bitte um Hilfe.
Vielleicht ist es an der Zeit, sich mit den Funktionen vertraut zu machen.
Hier ist das Problem:
MathSrand(TimeLocal());
int periodRandom=period+ MathRand()/10000;
int period2Random=period2+ MathRand()/10000;
Moving1=iMA(Symbol(),0,periodRandom,0,MODE_SMA,price,1) ;
Moving2=iMA(Symbol(),0,period2Random,0,MODE_SMA,price,1);
Ich beschloss, die Dauer des Winkens nach dem Zufallsprinzip zu ändern - Dauer plus ein Zufallswert von 0 bis 3.
Aber im Tester zeigt der Lauf immer den gleichen Gewinnwert an. Vielleicht ändert sich der Zeitraum nicht, was habe ich falsch gespeichert?
Guten Tag, die Frage ist einfach: Ist es möglich, die zweite Dimension eines zweidimensionalen Arrays nicht über eine Konstante zu setzen?
Das heißt, ich sollte das so machen: double massiv[5][5], aber ich will double massiv[5][k], wobei k ein bekannter ganzzahliger Wert ist, der vorher festgelegt wurde, zum Beispiel durch extern int k = 5. Die erste Dimension kann mit der Funktion ArrayResize geändert werden, aber die zweite kann aus irgendeinem Grund nicht geändert werden...
Guten Tag, meine Frage ist einfach: ist es möglich, irgendwie die zweite Dimension eines zweidimensionalen Arrays anders als durch eine Konstante angeben?
Das heißt, ich sollte es so machen: double massiv[5][5], aber ich will double massiv[5][k], wobei k eine bekannte ganze Zahl ist, die vorher definiert wurde, zum Beispiel durch extern int k = 5. Die erste Dimension kann mit der Funktion ArrayResize geändert werden, aber die zweite kann aus irgendeinem Grund nicht geändert werden...
#define k 5
https://docs.mql4.com/ru/basis/preprosessor/constant
Hallo, Experten.
Erläutern Sie bitte, wie man die Informationen aus dem Unterfenster des Indikators oben links entfernt.
Sie ist im Weg.