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

 

Hallo, helfen Sie mir hier. Der Handelsroboter, EA, Expert Advisor funktionieren nicht. Ich habe alles Mögliche heruntergeladen und wollte prüfen, wie das alles funktioniert. Ich dachte, meine Einzahlung sei zu gering, aber mein Demokonto ist das gleiche. Ich dachte, ich hätte eine kleine Einzahlung, aber das gleiche auf einem Demo-Konto.

 
Lilia.solomko:

Hallo, helfen Sie mir hier. Der Handelsroboter, EA, Expert Advisor funktionieren nicht. Ich habe alles Mögliche heruntergeladen und wollte prüfen, wie das alles funktioniert. Ich dachte, meine Einzahlung sei zu gering, aber mein Demokonto ist das gleiche. Ich dachte, meine Einzahlung war gering, aber das gleiche auf meinem Demo-Konto.

Woher wissen Sie, dass der Roboter nicht gehandelt hat? Haben Sie sich vergewissert, dass alle von der Handelsstrategie geforderten Bedingungen erfüllt waren, um die Position zu eröffnen? Oder haben Sie gerade den Roboter platziert und er hat den Handel nicht sofort eröffnet?

 
Lilia.solomko:

Hallo, helfen Sie mir hier. Der Handelsroboter, EA, Expert Advisor funktionieren nicht. Ich habe alles Mögliche heruntergeladen und wollte prüfen, wie das alles funktioniert. Ich dachte, meine Einzahlung sei zu gering, aber mein Demokonto ist das gleiche. Ich dachte, ich hätte eine kleine Einzahlung, aber das gleiche auf einem Demo-Konto.

Ich weiß nicht, was auf den beiden Registerkarten steht?


 
Bitte helfen Sie mir, eine Funktion zu schreiben: Schließen Sie Aufträge von einem größeren Los zu einem kleineren (string Symbol, int type, bool hand orders, int Magic)
D.h. Symbolauswahl, Typ, ob Handaufträge berücksichtigt werden, magische Zahl.
 
Tigerfreerun:
Bitte helfen Sie mir, eine Funktion zu schreiben: Schließen Sie Aufträge von einem größeren Los zu einem kleineren (string Symbol, int type, bool hand orders, int Magic)
D.h. Symbolauswahl, Typ, ob die Handaufträge berücksichtigt werden, magische Zahl.

Ja, es ist sofort einsatzbereit.

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 11.12.2008                                                     |
//|  Описание : Закрытие позиций в порядке сортировки по размерам лотов.       |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента        (    ""       - любой символ,      |
//|                                             NULL      - текущий символ)    |
//|    op - операция                        (    -1       - любая позиция)     |
//|    mn - MagicNumber                     (    -1       - любой магик)       |
//|    sd - Направление сортировки лотов    (MODE_ASCEND  - возрастание,       |
//|                                          MODE_DESCEND - убывание)          |
//+----------------------------------------------------------------------------+
void ClosePosBySortLots(string sy="", int op=-1, int mn=-1, int sd=MODE_DESCEND) {
  double a[][2];                  // Массив лотов и тикетов
  int    i, k=OrdersTotal();      // Счётчик и количество ордеров
  int    p=0;                     // Количество позиций

  if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if ((OrderSymbol()==sy || sy=="") && (op<0 || OrderType()==op)) {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (mn<0 || OrderMagicNumber()==mn) {
            p++;
            ArrayResize(a, p);
            a[p-1][0]=OrderLots();
            a[p-1][1]=OrderTicket();
          }
        }
      }
    }
  }

  // вдруг позиций нету, тогда и закрывать нечего
  if (p>0) {
    ArraySort(a, WHOLE_ARRAY, 0, sd);
    for (i=0; i<p; i++) {
      if (OrderSelect(a[i][1], SELECT_BY_TICKET)) {
        // проверим незакрытость на всякий случай,
        // может какая-то позиция уже закрылась по стопу/тейку
        if (OrderCloseTime()==0) ClosePosBySelect();
      }
    }
  }
}
 
Alekseu Fedotov:

Ja, es kann losgehen.

Ich habe versucht, es zu benutzen, aber aus irgendeinem Grund funktioniert es nicht.
Wo in dieser Funktion ist das Schließen selbst, so weit ich sehen kann, gibt es einen Verweis auf eine andere Funktion?
 
Tigerfreerun:
Ich habe versucht, es zu benutzen, aber aus irgendeinem Grund funktioniert es nicht.
Wo ist das Schließen selbst in dieser Funktion, soweit ich sehen kann, gibt es einen Verweis auf eine andere Funktion?

Ja, es gibt eine vollwertige ClosePosBySelect()-Funktion, die nicht nur einen Handelsauftrag ohne Status- und Ergebnisprüfung sendet.

Eine Suche auf der Website führt Sie zu einem Link zu Kims ClosePosBySelect()-Funktion

 
Tigerfreerun:
Ich habe versucht, es zu benutzen, aber aus irgendeinem Grund funktioniert es nicht.
Wo in dieser Funktion ist das Schließen selbst, so weit ich sehen kann, gibt es einen Verweis auf eine andere Funktion?

In der Kopfzeile dieser Funktion befindet sich eine Website-Adresse, über die Sie alle Bibliotheken herunterladen können,

Das funktioniert sehr gut.

 

Ich zeichne horizontale Balken. Der Indikator setzt korrekt, nach Koordinaten, Linien, aber irgendwann, auf einem neuen Balken wird eine Linie auf einem, willkürlichen Preis, bestehend aus vielen Segmenten unterschiedlicher Länge, überlagert einander gesetzt. Der Preis für die Einstellung "fremd" entspricht keiner Bedingung. Woher kommen sie, wie können sie verhindert werden?

if(Line)
  {
   n_++;
   Setline(n_,Time[b_u_pbu],High[b_u_pbu],Time[b_u_pbu1],High[b_u_pbu],clrLime);
  }
//
void Setline(int sh,datetime tm,double pr,datetime tm1,double pr1,color clr)
  {
   ObjectCreate("-"+sh,OBJ_TREND,0,tm,pr,tm1,pr1,clr);
   ObjectSet("-"+sh,7,STYLE_SOLID);
   ObjectSet("-"+sh,10,false);
   ObjectSet("-"+sh,6,clr);
   ObjectSet("-"+sh,8,2);
  }
 
bij:

Ich zeichne horizontale Balken. Der Indikator setzt korrekt, nach Koordinaten, Linien, aber irgendwann, auf einem neuen Balken wird eine Linie auf einem, willkürlichen Preis, bestehend aus vielen Segmenten unterschiedlicher Länge, überlagert einander gesetzt. Der Preis für die Einstellung "fremd" entspricht keiner Bedingung. Woher kommen sie, wie können sie verhindert werden?

Die Namen der Zeilen ändern sich und damit auch die Anzahl der Zeilen.

In solchen Fällen ist es am besten, die Öffnungszeit der Bar in den Zeilennamen aufzunehmen.

Grund der Beschwerde: