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

 
Stepan241:
Ich habe Ihren Indikator in Bezug auf die Darstellung der Informationen leicht verändert. Schauen Sie genauer hin. Es sind gemischte Signale enthalten.

Beitrag gelöscht. Einer ist bereits für einen Monat gesperrt worden.
 
001:

Das ist genau das, was ich diese Logik beschrieben, mit einem Ticker, so mit einem Ticker, ich verstehe nicht, wie man es besser in den Code zu implementieren. Ich kann mir nichts anderes vorstellen als ein Array. Danke an alle, die geantwortet haben.
Lesen Sie sorgfältig die vorherigen Beiträge. Ich habe bereits geschrieben, dass es einfacher ist, eine gegenüberliegende Pose mit einer anderen Magie zu öffnen. Dann wird bei der Prüfung auf Positionsverlust eine bereits geöffnete Gegenposition übersprungen, und es werden keine neuen Positionen eröffnet.
 
Vinin:

Beitrag gelöscht. Einer ist bereits für einen Monat gesperrt worden.
Ich habe diesen Indikator nur zu einem Zweck geändert, nämlich um die Signale detaillierter zu sehen. Wenn es Abweichungen gibt, werden sie immer mit einer roten Linie auf dem NORMAL-Indikator angezeigt. Ich will damit nicht sagen, dass es schlecht oder fehlerhaft ist, es ist großartig. Ich will damit nicht sagen, dass es schlecht oder fehlerhaft ist, es ist großartig... Nur wenn man als Anfänger verstehen will, warum die Signale fehlen, sollte man es sich ansehen und nicht nur lesen.
 
Stepan241:
Ich habe diesen Indikator mit dem Ziel geändert, die Signale detaillierter zu sehen. Wenn es anders gerichtete Signale gibt, werden sie immer mit einer roten Linie auf dem NORMAL-Indikator angezeigt. Ich will damit nicht sagen, dass es schlecht oder fehlerhaft ist, es ist großartig. Ich will damit nicht sagen, dass es schlecht oder fehlerhaft ist, es ist großartig... Nur wenn man als Anfänger verstehen will, warum die Signale fehlen, sollte man es sich ansehen und nicht nur lesen.
Sie sollten "beobachten" im privaten, nicht Dump gebrochen Indikatoren auf dem Forum der offiziellen Website ...
 
artmedia70:

Sie müssen die Ziffern für den Yen anpassen, wenn Sie mit dem Yen arbeiten und das Bestellsymbol JPY enthält. Keine Sorge - diese Funktion wird alles für Sie erledigen. Und es sollte, wie auch alle anderen Funktionen außerhalb des Körpers des EA platziert werden. Und Sie sollten es vom EA aus wie folgt aufrufen:



if (isCloseLastPosByStop(Symbol(), OP_BUY, Magic)) // Если последняя закрытая позиция Buy на текущем графике с магиком Magic была закрыта по стопу, то ...
   {
      // .......... тут код, который выполнится при данном условии
   }
//--------------------------------------------------------------------------------------------------------------------------
if (isCloseLastPosByStop(USDJPY, OP_SELL, Magic)) // Если последняя закрытая позиция Sell с символом USDJPY с магиком Magic была закрыта по стопу, то ...
   {
      // .......... тут код, который выполнится при данном условии
   }
//--------------------------------------------------------------------------------------------------------------------------
if (isCloseLastPosByStop()) // Если любая последняя закрытая позиция с любым символом и любым магиком была закрыта по стопу, то ...
   {
      // .......... тут код, который выполнится при данном условии
   }
артем,я выбрал третье условие, и вбил самый простейший код "Alert" и что,
у меня в истории были и убытки и прибыли, функция срабатывала в любом случае и при прибыли и при убытке 

 

Wie erhalte ich den Gewinn/Verlust der letzten zehn Aufträge aus der gesamten Historie?

 
DhP:

Wie erhalte ich den Gewinn/Verlust der letzten zehn Aufträge aus der gesamten Historie?


Nehmen Sie einen Taschenrechner, rechnen Sie nach))))

.

.

.

.

.

Vor kurzem wurde mir der Code für die letzte abgeschlossene Bestellung gezeigt, mal sehen, ob Sie ihn zum Laufen bringen können.

bool isCloseLastPosByStop(string sy="", int op=-1, int mn=-1) {// Объявление функции. Передаваемые параметры: sy = символ, op - тип, mn - магик
  datetime t;                                                  // Переменная содержит время закрытия ордера
  double   ocp, osl;                                           // ocp - цена закрытия позиции, osl - цена СтопЛосс закрытой позиции
  int      dg, i, j=-1, k=OrdersHistoryTotal();                // k содержит общее количество ордеров в истории

  if (sy=="0") sy=Symbol();                                 // Если в ф-цию передан sy равный 0 или NULL, то использовать символ графика
  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) {                // ... если тип ордера равен или -1 (имеется ввиду любой) или равен переданному в ф-цию, ...
            if (mn<0 || OrderMagicNumber()==mn) {       // ... если его магик или любой (-1) или равен переданному в ф-цию (магику советника), ...
              if (t<OrderCloseTime()) {    // ... если переменная t содержит время закрытия меньше, чем время закрытия выбранного ордера, то ...
                t=OrderCloseTime();        // ... то присвоим переменной t время закрытия выбранного ордера (этот ордер закрыт позже предыдущего)
                j=i;                                        // Запишем в переменную j индекс найденного ордера с максимальным временем закрытия
              }
            }
          }
        }
      }
    }
  }                                                       // По окончании цикла в переменной j находится индекс последнего закрытого ордера
  if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) {      // Выберем его по индексу
    dg=MarketInfo(sy, MODE_DIGITS);                       // Количество цифр после десятичного точки в цене инструмента, заданного переменной sy
    if (dg==0) if (StringFind(OrderSymbol(), "JPY")<0) dg=4; else dg=2; // Честно... точно не скажу, но вижу, что корректировка под йену
    ocp=NormalizeDouble(OrderClosePrice(), dg);           // Нормализуем цену закрытия ордера для дальнейшего сравнения с ценой СтопЛосс
    osl=NormalizeDouble(OrderStopLoss(), dg);             // Нормализуем цену СтопЛосс ордера для сравнения с ценой закрытия
    if (ocp==osl) return(True);                           // Если эти цены равны, значит поза закрыта по стопу, возвращаем значение "Истина"
  }
  return(False);                                          // Возвращаем "Ложь"
}
 
Gibt es ein Skript oder einen Advisor, der mehrere Aufträge kauft und alle Aufträge mit + Gewinn verkauft ... wer weiß, bitte
 

Liebe Forumsnutzer. Wer kann mir sagen, wie ich die Bedingung "für eine Marktkauforder, die unter dem Eröffnungskurs der vorherigen Marktkauforder eröffnet wird" richtig schreibe?

 
fanat:

Liebe Forumsnutzer. Wer kann mir sagen, wie ich die Bedingung "für eine Marktkauforder, die unter dem Eröffnungskurs der vorherigen Marktkauforder eröffnet wird" richtig schreibe?

Vor ein paar Seiten habe ich eine Prozedur gepostet, die die Historie nach dem letzten Handel mit dem angegebenen Symbol durchsucht und dessen Gewinn zurückgibt. Wenn Sie diesen Code als Grundlage verwenden, können Sie nicht den Gewinn des letzten Geschäfts zurückgeben, sondern zum Beispiel den Eröffnungs- oder Schlusskurs des letzten Geschäfts..... oder andere Daten.
Grund der Beschwerde: