[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 288

 
TheXpert писал(а) >>

Tut. Der von Ihnen zitierte Ausdruck ist auf jeden Fall sinnvoll.

Danke!

 
Guten Tag an alle). Ich habe das Handelssystem von Grebenshchikov. Es funktioniert im Kanal und beim Ausbruch aus dem Kanal sowie beim Einstieg durch Pending Orders aus einem Flat. Ich möchte es an der Geschichte testen und das MM damit aktualisieren. Vielleicht hat jemand dieses System bereits in den Code implementiert? Welche Elemente können für den Aufbau eines solchen Systems verwendet werden? Hier ist die Beschreibung des Systems http://www.fx4u.ru/rinki-forex-commodities-cfd-futures-f14/strategii-opitnih-f4/ts-grebenschikova-si-forex-i-mi-t529.html
 

Ich habe eine Frage

können Sie einen Periodenkonverter erstellen, der ein Durchschnittsdiagramm der vier wichtigsten Paare anzeigt ...

Angenommen, der Dollar-Yen hat einen Kurs von, sagen wir, 101,50, übersetzen Sie ihn in den Stand von 1,0150, und verwenden Sie ihn dann, um ein Durchschnittsdiagramm zu erstellen ...

Und es wäre schön, dieses Medium Chart in der Test- und Optimierungsphase nutzen zu können ...

vielen Dank im Voraus fürs Zuhören ...

 

Hallo an alle und jeden!

Hier ist der Code (nur die Startfunktion)

//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
    // Узнаем уровень стопов и спрэд
    int Spread = MarketInfo(Symbol(), MODE_SPREAD);
    int StopLevel = MarketInfo(Symbol(), MODE_STOPLEVEL);

    // Рассчитываем значения средних на 0-ом и 1-ом барах
    double MAF_0 = iMA(NULL, 0, MAFP, 0, 1, 1, 0);
    double MAF_1 = iMA(NULL, 0, MAFP, 0, 1, 1, 1);
    double MAS_0 = iMA(NULL, 0, MASP, 0, 1, 1, 0);
    double MAS_1 = iMA(NULL, 0, MASP, 0, 1, 1, 1);
    
   // ----открытие позиции Buy покупка-----
    if( MAF_0 > MAF_1 && MAS_0 > MAS_1) { //-условие на покупку--- 
    if( isCloseLastPosByTake( NULL, OP_SELL, MagicNumber) ==true) {
     if( CheckOrders(OP_SELL))                                      {
       if( StopLoss <= StopLevel+ Spread)
         double SL = 0;        else         SL = Ask - StopLoss*Point;
       if( TakeProfit <= StopLevel- Spread)
         double TP = 0;        else         TP = Ask + TakeProfit*Point;
       if(!OrderSend(Symbol(), OP_BUY, Lots, Ask, 5, SL, TP, NULL, MagicNumber))
         Print("Не открыт ордер Buy. Ошибка №", GetLastError()); 
                }
               }
              }
   //-------------------Конец блока покупки ------------------
    
  //  ----- Открытие позиции Sell продажа------------  
    if( MAF_0 < MAF_1 && MAS_0 < MAS_1) { //-условие на продажу---
    if( CheckOrders(OP_BUY))                                     {
      if( StopLoss <= StopLevel+ Spread)
         SL = 0;        else         SL = Bid + StopLoss*Point;
       if( TakeProfit <= StopLevel- Spread)
         TP = 0;        else         TP = Bid - TakeProfit*Point;
       if(!OrderSend(Symbol(), OP_SELL, Lots, Bid, 5, SL, TP, NULL, MagicNumber))
         Print("Не открыт ордер Sell. Ошибка №", GetLastError()); 
                 }
                }
   //-------------------конец блока продажи -------------------
     
   return(0);
  }//+----------КОНЕЦ ФУНКЦИИ СТАРТ -------------------+

//ЖЖЖЖЖЖЖ Другие вызываемые пользовательские функции ЖЖЖЖЖЖ
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.05.2008                                                     |
//|  Описание : Возвращает флаг закрытия                                       |
//|  последней позиции по тейку.                                               |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//+----------------------------------------------------------------------------+
bool isCloseLastPosByTake(string sy="", int op=-1, int mn=-1) {
  datetime t;
  double   ocp, otp;
  int      dg, i, j=-1, k=OrdersHistoryTotal();

  if ( sy=="0") sy=Symbol();
  for ( i=0; i< k; i++) {
    if (OrderSelect( i, SELECT_BY_POS, MODE_HISTORY)) {
      if (OrderSymbol()== sy || sy=="") {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if ( op<0 || OrderType()== op) {
            if ( mn<0 || OrderMagicNumber()== mn) {
              if ( t<OrderCloseTime()) {
                t=OrderCloseTime();
                j= i;
              }} }}}}}

  if (OrderSelect( j, SELECT_BY_POS, MODE_HISTORY)) {
    dg=MarketInfo( sy, MODE_DIGITS);
    if ( dg==0) if (StringFind(OrderSymbol(), "JPY")<0) dg=4; else dg=2;
    ocp=NormalizeDouble(OrderClosePrice(), dg);
    otp=NormalizeDouble(OrderTakeProfit(), dg);
    if ( ocp== otp) return( True);
  }
  return( False);
}
 

Hier wird eine Bedingung gewissermaßen umgesetzt, wie von rid empfohlen. Mit seinen Anmerkungen und Korrekturen.

Der Expert Advisor selbst kompiliert, tradet.......Es ist nicht wahr.......

Ich habe versucht, nur long-n einen Handel in den Tester zu setzen, nur short-n einen Handel zu setzen.

Die Logik ist einfach: Wenn die Kaufbedingung erfüllt ist, tätigt der EA ein Geschäft, das bei Gewinnmitnahme geschlossen wird.

Und dann wartet der Berater ab, WANN die nächste Handelsbedingung eintritt. NUR SOLLTE DIESE BEDINGUNG DER VORHERIGEN BEDINGUNG ENTGEGENGESETZT SEIN.

Т. D.h. wenn der Handel mit BAY erfolgte, sollte der nächste Handel mit SHELL erfolgen.

 

Auch. In diesem Thread, nur viel früher, wurde eine ähnliche Frage wie die meine gestellt. Es ging um Flaggen. Das ist der Grund für die ganze Aufregung.

 

Eine andere Frage.

2 Fenster öffnen, 1. 5 Minuten, 2. 15 Minuten.

Zeichnen Sie MAKs auf beide (10). IST ES RICHTIG, wenn wir auf dem 5-Minuten-Chart einen MA mit (30) zeichnen, entspricht dies einem MA mit (10) auf dem 15-Minuten-Chart.

Für Diagramme von 15 und 30 beträgt der Koeffizient 2.

Für Diagramme von 30 und 1 Stunde beträgt der Koeffizient 2.

Für Diagramme von 1h und 4h beträgt der Koeffizient 4.

Stimmt das oder nicht????????????

 

igrok2008 писал(а) >>

Stimmt das oder nicht????????????

Streng genommen, nein. Aber sehr nahe dran.

 

Hallo.

Dies ist das erste Mal, dass ich in diesem Forum schreibe. Hoffentlich nicht der letzte. Verglichen mit dem, was sie im Forum schreiben, bin ich ein Neuling. Ich habe die Sprache vor einem halben Jahr etwa einen Monat lang anhand von Sergei Korolevs "Textbook on Programming in MQL4" gelernt.

Ich habe es vor etwa einem halben Jahr einen Monat lang mit dem "Lehrbuch zur Programmierung in MQL4" von Sergei Kovalev studiert. Ich habe bereits mehrere Expert Advisors geschrieben und verwende sie seither. Ich habe ein paar Expert Advisors und benutzerdefinierte Indikatoren geschrieben,

...benutzerdefinierte Indikatoren, Skripte. Ich habe immer versucht, auf alle Fragen, die ich nicht verstehe, im Forum Antworten zu finden. Ich habe mich jedoch mit einem scheinbar unbedeutenden Detail herumgeschlagen und kann keine Antworten finden.

Bitte helfen Sie mir.

Die Frage bezieht sich auf die Verwendung von #include <XXX.mqh>, ich habe das gesamte Forum erneut gelesen, kann aber keine Antwort finden. In einem der Threads heißt es:

"...Ich kann auch hinzufügen, dass die eX4-Datei autark ist - damit sie funktioniert, muss
nicht den Quellcode der benutzerdefinierten Funktionen enthalten.
Sie können die ex4-Datei kopieren, sie an andere Händler senden und dort verwenden.
Sie ist vollständig, unabhängig von der Technologie, mit der man sie erhält.

Das ist das Problem. Bei der Übergabe des EA "sieht" er die Funktion nicht, sondern schreibt beim Kompilieren - kann die Programmdatei nicht öffnen.

Obwohl in include auf dem anderen Terminal ein nicht kompilierter Eintrag in ex4 erschien.

Können Sie den Fehler erklären? Danke.

 
gvi2504 >> :

... Bei der Übergabe des EA "sieht" er die Funktion nicht, sondern schreibt beim Kompilieren - kann die Programmdatei nicht öffnen.

Obwohl in include auf dem anderen Terminal ein Eintrag erschien, der in ex4 nicht kompiliert wird.

Können Sie den Fehler erklären? Vielen Dank.

Bitte geben Sie mir ein Beispiel, mit vollständigen Protokollen. Wie die Bibliothek im EA aufgerufen wird, was in der Kopfzeile der Bibliothek selbst steht. Vielleicht ist es das.

Übrigens, TheXpert ist hier irgendwo herumgelaufen, er ist gut in diesen Dingen.