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

 
MakarFX:


Ich danke Ihnen für die Antwort. Aber ich kann immer noch nicht die richtige Formelkette herausfinden, mit der das berechnet wird, ich kenne mich mit vielen Dingen nicht aus. Könnten Sie das hier buchstabieren?

***

 
Порт-моне тв:

Ich danke Ihnen für die Antwort. Aber ich kann immer noch nicht die richtige Formelkette herausfinden, mit der das berechnet wird, ich kenne mich mit vielen Dingen nicht aus. Könnten Sie das hier buchstabieren?

***

Bittefügen Sie den Codekorrektein: Wenn Sie einen Beitrag bearbeiten, klicken Sie auf Code und fügen Sie Ihren Code in das Pop-up-Fenster ein.
MQL5.community - Памятка пользователя
MQL5.community - Памятка пользователя
  • www.mql5.com
Вы недавно зарегистрировались и у вас возникли вопросы: Как вставить картинку в сообщение на форуме, как красиво оформить исходный код MQL5, где находятся ваши Личные сообщения? В этой статье мы подготовили для вас несколько практических советов, которые помогут быстрее освоиться на сайте MQL5.community и позволят в полной мере воспользоваться доступными функциональными возможностями.
 

Hier habe ich mich verrechnet, zusätzlich zum Gewinn/Verlust für den Tag benötige ich den Kontostand zu Beginn des Tages. :((( Hilfe))

Kontostand() - ändert sich ständig, wie kann man das z.B. bei Hour==1 beheben?

 
Порт-моне тв:

Ich danke Ihnen für die Antwort. Aber ich kann immer noch nicht die richtige Formelkette herausfinden, mit der das berechnet wird, ich kenne mich mit vielen Dingen nicht aus. Könnten Sie das hier buchstabieren?

***

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.02.2008                                                     |
//|  Описание : Возвращает суммарный профит в валюте депозита                  |
//|             закрытых с определённой даты позиций                           |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента             (""   - любой символ,         |
//|                                               NULL - текущий символ)       |
//|    op - операция                             (-1   - любая позиция)        |
//|    mn - MagicNumber                          (-1   - любой магик)          |
//|    dt - Дата и время в секундах с 1970 года  ( 0   - с начала истории)     |
//+----------------------------------------------------------------------------+
double GetProfitFromDateInCurrency(string sy="",int op=-1,int mn=-1,datetime dt=0)
  {
   double p=0;
   int    i,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=="") && (op<0 || OrderType()==op)) 
           {
            if(OrderType()==OP_BUY || OrderType()==OP_SELL) 
              {
               if(mn<0 || OrderMagicNumber()==mn) 
                 {
                  if(dt<OrderCloseTime()) 
                    {
                     p+=OrderProfit()+OrderCommission()+OrderSwap();
                    }
                 }
              }
           }
        }
     }
   return(p);
  }

Gewinnberechnung...

wenn Sie die Gewinne des aktuellen Tages wollen, dann

datetime dt=iTime(_Symbol,PERIOD_D1,0);
 
Порт-моне тв:

Hier habe ich mich verrechnet, zusätzlich zum Gewinn/Verlust für den Tag benötige ich den Kontostand zu Beginn des Tages. :((( Hilfe))

Kontostand() - ändert sich ständig, wie kann man das z.B. bei Hour==1 beheben?

AccountBalance()-GetProfitFromDateInCurrency(.....)
 
Tatiana Zyrianova:
Nachmittags. Können Sie bitte sagen, ob ein Indikator kann zwangsweise starten Sie die Calculate-Ereignis durch Drücken einer Schaltfläche auf dem Diagramm, die in OnChartEvent behandelt wird?

ChartSetSymbolPeriod mit demselben Symbol und Zeitrahmen kann zur Aktualisierung des Charts verwendet werden (ähnlich wie der Befehl Refresh im Terminal). Die Aktualisierung des Diagramms löst wiederum eine Neuberechnung der zugehörigen Indikatoren aus. So können Sie den Indikator im Diagramm neu berechnen, auch wenn es keine Ticks gibt (z. B. am Wochenende).

 
MakarFX:

Gewinnzählung...

Wenn Sie die Gewinne des aktuellen Tages wünschen, dann

Nicht gerade das, was ich will. Ich möchte, dass, wenn der Tagesgewinn einen bestimmten Prozentsatz (bereits berechnet) des Guthabens zu Beginn des Tages überschritten hat, der Handel gestoppt wird, oder umgekehrt, bis der Prozentsatz nicht mehr überschritten wird - dann wird gehandelt (Funktion existiert ebenfalls bereits). Ich hoffe wirklich, dass es einige Ideen gibt.

ES IST NOTWENDIG, DEN KONTOSTAND ZU BEGINN DES TAGES ZU ERMITTELN!!! Der Kontostand ändert sich ständig und kann daher nicht verwendet werden. Sie brauchen eine Formel, in der er für eine bestimmte Zeit festgelegt wird, z. B. 00:01.

 
Порт-моне тв:

Hier ist es, aber es gibt einen Fehler, helfen Sie mir, es zu beheben

Fehler

  datetime TimeCheck_sb = StrToTime("1:00");
  if(TimeCurrent()==TimeCheck_sb)
     {
      AccountBalance() = sb1; sb1 = AccountBalance();
     }
 
Порт-моне тв:

Das ist nicht ganz das, was ich brauche. Ich brauche "wenn PROFIT FOR THE DAY einen bestimmten Prozentsatz (bereits berechnet) des BALANCE zu Beginn des Tages überschritten hat, dann stoppen Sie den Handel oder umgekehrt, während NICHT überschritten - dann Handel (Funktion existiert auch). Ich hoffe wirklich, dass es einige Ideen gibt.

ES IST NOTWENDIG, DEN KONTOSTAND ZU BEGINN DES TAGES ZU ERMITTELN!!! Der Kontostand ändert sich ständig und kann daher nicht verwendet werden. Sie brauchen eine Formel, in der er für eine bestimmte Zeit festgelegt wird, z. B. 00:01.

Ich sagte Ihnen

AccountBalance()-GetProfitFromDateInCurrency(.....)

Sie benötigen eine Formel, die Ihnen den Kontostand zu Beginn des Tages anzeigt.

 
MakarFX:

Ich habe es Ihnen gesagt.

Ziehen Sie den Gewinn des aktuellen Tages vom aktuellen Saldo ab und Sie erhalten den Saldo zu Beginn des Tages

Das Problem ist, dass sich der Prozentsatz, den ich einstellen möchte, z. B. (1 %), numerisch ändert, und wenn

AccountBalance()-GetProfitFromDateInCurrency(.....)

Bei jedem neuen Handel erhöht sich der Saldo und damit auch die 1%. Meine Funktion wird also nicht funktionieren, weil es keinen FIXIERTEN SOLLWERT gibt.

Grund der Beschwerde: