Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 269

 
Artyom Trishkin:
  1. Es gibt zum Beispiel ein Signal zur Eröffnung einer Kaufposition.
  2. Suchen Sie in der Auftragshistorie den zuletzt abgeschlossenen Handel.
  3. seinen Typ sehen,
    1. Wenn es Verkaufen ist, können Sie Kaufen ----> return(ORDER_TYPE_BUY) öffnen;
    2. wenn es ein Kauf ist, dann
  4. sehen, mit welchem Gewinn diese Kaufposition geschlossen wurde.
    1. Wenn er negativ ist, können wir einen Kauf eröffnen ----> return(ORDER_TYPE_BUY);
    2. Wenn er positiv ist, können wir keinen neuen Kauf eröffnen ----> return(WRONG_VALUE);
   double ma;
   int    res;
   bool nomber = OrdersHistoryTotal();
   bool tip=OrderType();
   if(OrderSelect(nomber,SELECT_BY_POS,MODE_HISTORY)==true)
   {
   tip=OrderType();
   }
   ma=iMA(NULL,0,MovingPeriod,120,MODE_SMA,PRICE_CLOSE,1);
   if(Bid<ma)
   if(tip!=OP_SELL)
   {
      res=OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,3,0,Bid-TP*Point,"",MAGICMA,0,Red);
      return;
     }

Ich habe es hier geschrieben, aber es funktioniert immer noch nicht. Was ist los? Bitte um Rat.

 

Guten Tag.

Wie schreibt man die Bedingung in die vier: wenn der erste Freitag des Monats ein Stier war und

Derzweite Montag ist bärisch, dann eröffnen wir einen Verkaufshandel.

 
Darirunu: schreiben Sie die Bedingung: wenn der erste Freitag des Monats ein Aufwärtstag war und

der zweite Montag ist rückläufig, dann eröffnen Sie ein Verkaufsgeschäft.

Dies ist ein interessantes Problem: Es kann die Abfolge der Schritte zur Lösung eines beliebigen Problems zeigen
Ermitteln Sie den aktuellen Monat MM und das Jahr JJJJ. Nehmen Sie das Datum 1.MM.JJJJ und bestimmen Sie den Wochentag dafür.
2. Denken Sie sich eine oder zwei Formeln aus (dazu erstellen wir zwei Tabellen mit 7 Zeilen) und verwenden Sie diese Formeln, um die Daten der Tage zu bestimmen, die Sie interessieren
3. wenn das zweite Datum in der Zukunft liegt - Ausgabe.
4. Anhand der Daten bestimmen wir die Anzahl der entsprechenden Balken im Tagesdiagramm
5. Bestimmen Sie die Anzahl der Balken durch ihre Zugehörigkeit zu den Bullen - Bären.
6. Eine Entscheidung über den Markteintritt treffen

Совершение сделок - Торговые операции - Справка по MetaTrader 5
Совершение сделок - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением...
 
LRA:

Dies ist ein interessantes Problem: Es kann verwendet werden, um eine Abfolge von Schritten zur Lösung eines beliebigen Problems aufzuzeigen
Ermitteln Sie den aktuellen Monat MM und das Jahr JJJJ. Nehmen Sie das Datum MM.JJJJ und bestimmen Sie den Wochentag dafür.
2. Denken Sie sich eine oder zwei Formeln aus (dazu erstellen wir zwei Tabellen mit 7 Zeilen) und verwenden Sie diese Formeln, um die Daten der Tage zu bestimmen, die Sie interessieren
3. wenn das zweite Datum in der Zukunft liegt - Ausgabe.
4. Anhand der Daten bestimmen wir die Anzahl der entsprechenden Balken im Tagesdiagramm
5. Bestimmen Sie die Anzahl der Balken durch ihre Zugehörigkeit zu den Bullen - Bären.
6. Eine Entscheidung über den Markteintritt treffen


Tatsächlich habe ich die Antwort noch immer nicht in Form eines Codes gesehen ... Der Algorithmus ist klar ...

 
Darirunu: In der Tat habe ich noch keine Antwort in Form eines Codes gesehen... Der Algorithmus ist klar...

Wenn der Algorithmus klar ist, schreiben Sie ein Programm... Wenn Sie Schwierigkeiten haben, fragen Sie...

 
LRA:

Wenn der Algorithmus klar ist - schreiben Sie ein Programm... Wenn Sie Probleme haben - fragen Sie ...


Sie müssen ein Genie sein)) Sie denken, wenn ich wusste, ich würde hier fragen? Schreiben Sie einfach den Tag der Woche ist kein Problem ... Die Frage ist, wie zu bestimmen, welche Woche des Monats? Das Mt4-Buch sagt nichts darüber aus.

Alle Fragen von Neulingen in MQL4, Hilfe und Diskussion über Algorithmen und Codes

 
Lowech:
   bool nomber = OrdersHistoryTotal();
   bool tip=OrderType();
   if(OrderSelect(nomber,SELECT_BY_POS,MODE_HISTORY)==true)
   {
   tip=OrderType();
   }

Hier habe ich es vorgewählt, aber es funktioniert trotzdem nicht. Was ist los? Bitte um Rat.

Schauen wir uns diesen Teil an. In der ersten Zeile speichert die Variable nomber die Anzahl der Aufträge in der Historie. Setzen wir den Cursor auf OrdersHistoryTotal() und drücken wir F1. Hier können Sie sehen:

intOrdersHistoryTotal();


Die Funktion gibt eine ganzzahlige Zahl zurück. Aber ein bool hat nur zwei Werte. Wie kann ein bool einen Wert vom Typ int enthalten?

Die zweite Zeile enthält den gleichen Fehler und einen weiteren. Sie setzen den Cursor auf OrderType() und drücken F1. Wir sehen: Die Bestellung muss mit der Funktion OrderSelect() vorausgewählt werden.

Die dritte Zeile enthält eine schreckliche Situation. 1) if(OrderSelect( - wenn ein Auftrag ausgewählt ist, wird etwas ausgeführt. Was aber, wenn hier ein Fehler auftritt? Ihr Programm läuft weiter. 2) Es sollte eine Bestellung mit der Nummer nomber ausgewählt werden. Aber gibt es eine Bestellung mit einer solchen Nummer? Was ist die minimale und maximale Bestellnummer, wenn die Gesamtzahl nomber ist? 3) Anstatt if(OrderSelect(nomber,SELECT_BY_POS,MODE_HISTORY)==true) würde fast jeder einfach if(OrderSelect(nomber,SELECT_BY_POS,MODE_HISTORY)) schreiben und noch eine Kleinigkeit.

Mein Rat ist folgender: Beginnen Sie das Erlernen der Sprache mit einfachen Elementen, schreiben Sie einfache Skripte und zeigen Sie das Ergebnis an. Prüfen Sie das Ergebnis der einzelnen Zeilen

 
Darirunu: Die Frage ist nur, wie Sie feststellen, welche Woche des Monats es ist? Im Mt4-Buch steht nichts über

Warum müssen Sie wissen, welche Woche des Monats es ist? Das ist nicht in meinem Algorithmus enthalten. (nur nach Satzzeichen ein Leerzeichen setzen)

 
LRA:

Warum muss ich wissen, welche Woche des Monats es ist? Bei meinem Algorithmus ist das nicht der Fall. (nur nach Satzzeichen ein Leerzeichen setzen)


Es tut mir leid, aber Sie haben wahrscheinlich nicht auf die Frage geachtet.

Wie schreibt man die Bedingung in die vier: wenn der erste Freitag des Monats bullisch war und

der zweite Montag ist rückläufig, dann eröffnen wir ein Verkaufsgeschäft.

DayOfWeek()==1 Montag ist klar, aber welcher Montag des Monats?)

 
Darirunu:

In der Tat habe ich nie eine Antwort in Form eines Codes gesehen ... Der Algorithmus ist klar ...

Sie müssen nur wissen, an welchem Wochentag der erste des Monats war. Der Rest wird berechnet.