Einteilung der offenen Stellen in Gruppen - Seite 2

 
Nikolay Kositsin:

Ein solcher Code ist zu individuell, als dass es ihn in fertiger Form geben könnte. Wir schreiben eine Struktur mit fertigen Kommentaren für alle Varianten von notwendigen Attributen für Positionen und Orders und einen Expert Advisor, der Positionen und Orders analysiert und diese Kommentare ändert. Solche Dinge werden entweder selbständig geschrieben oder bei einem Freelancer in Auftrag gegeben.

Natürlich stimme ich Ihnen zu, aber ich suche nicht nach "von der Stange...", ich bettle nicht und ich bestelle nicht. Ich biete an, mein Wissen weiterzugeben, das zur Umsetzung einer meiner Meinung nach interessanten Idee genutzt werden kann (und auch genutzt werden wird). Ich werde den ausgeführten Code auch hier veröffentlichen, jede Beteiligung ist willkommen.

 
Sergey Voytsekhovsky:

Natürlich stimme ich Ihnen zu, aber ich suche nicht nach "von der Stange...", ich bettle nicht und ich bestelle nicht. Ich biete an, mein Wissen weiterzugeben, das zur Umsetzung einer meiner Meinung nach interessanten Idee genutzt werden kann (und auch genutzt werden wird). Ich werde auch hier posten, was ich gemacht habe, jede Beteiligung ist willkommen.

Schauen Sie in meine Artikel. Dort ist es bereits geschehen. In welchem - das weiß ich nicht mehr. Aber Sie können es in den Reden nachlesen. Auf zwei Arten hergestellt. Die zweite links als eine funktionierende Version - Speicherung von Benutzer-IDs in magik.
 
Artyom Trishkin:
Werfen Sie einen Blick in meine Artikel. Das ist dort bereits geschehen. In welchem - das weiß ich nicht mehr. Aber Sie können es in den Reden nachlesen. Auf zwei Arten hergestellt. Die zweite links als eine funktionierende Version - Speicherung von Benutzer-IDs in magik.

Vielen Dank, sehr viel Blick auf Ihren Code, verwenden Sie es oft, vielen Dank für Ihre harte Arbeit, aber Sie haben so viele Werke, die ich noch nicht zu diesem Thema gefunden haben. Ich werde versuchen, mit dem Hashtag "custom identifiers" zu suchen, danke für den Tipp.

 
Sergey Voytsekhovsky:

Vielen Dank, sehr viel Blick auf Ihren Code, verwenden Sie es oft, vielen Dank für Ihre harte Arbeit, aber Sie haben so viele Werke, die ich noch nicht zu diesem Thema gefunden haben. Ich werde versuchen, mit dem Hashtag "custom identifiers" zu suchen, danke für den Tipp.

https://www.mql5.com/ru/articles/7394
 
Artyom Trishkin:
https://www.mql5.com/ru/articles/7394

Danke, ich bin in den Text gegangen :-()

 
Grigori.S.B:

Ich würde nicht empfehlen, das Kommentarfeld zu verwenden. Das ist natürlich der einfachste Weg, aber auch der unzuverlässigste, da dieses Feld jederzeit vom DC geändert werden kann.

Nun, das Tracking-System ist so konzipiert, dass der Kommentar jederzeit geändert werden kann, wenn er nicht mit dem Stand der Position oder der Bestellung übereinstimmt. Für die visuelle Beobachtung ändert sich also nichts.
 
Sergey Voytsekhovsky:

Ich verstehe Ihre Frage nicht

Ich meine dies https://www.mql5.com/ru/forum/48768

комментарий к ордеру
комментарий к ордеру
  • 2003.03.17
  • www.mql5.com
Общее обсуждение: комментарий к ордеру
 

Guten Abend.

Ich habe die empfohlenen Links kurz durchgesehen und bin zu dem Schluss gekommen, dass ich es vorerst nicht zu kompliziert machen sollte.

Ich werde versuchen, vorerst mit einem zweidimensionalen Array auszukommen. Ich habe sie erstellt und Daten in sie geschrieben. Ich beschloss zu überprüfen, ob es richtig funktioniert, und es stellte sich heraus, dass es falsch war!

//+------------------------------------------------------------------+
int Array_Creating_Caste_Positions()
{
   int n = 0;
   int size = PositionsTotal();
   for(int i=0; i<size; i++)
   {
      if(m_position.SelectByIndex(i))
      {
         int profit = (m_position.Profit()+m_position.Commission()+m_position.Swap())>0?1:-1;
         int type   = m_position.Type()==POSITION_TYPE_BUY?0:1;
         ArrayResize(arr_position,size,2);
         
         arr_position[i][0] = m_position.Identifier();
         arr_position[i][1] = m_position.Magic();
         arr_position[i][2] = profit;
         arr_position[i][3] = type;
         arr_position[i][4] = -1; //N_Caste (-1 = нет данных)
         n++;
      }
   }
return(n);
}
//+------------------------------------------------------------------+

Um temporär erstellte Variablen zu prüfen und in den Kommentar zu setzen, funktioniert es nicht richtig!

      int N = Array_Creating_Caste_Positions();
      
      int profit_Plus  = 0;
      int profit_Minus = 0;
      int N_Buy        = 0;
      int N_Sell       = 0;
      int size = PositionsTotal();
      
      for(int i=0; i<size; i++)
      {
         if(arr_position[i][2] > 0) profit_Plus++;
            else profit_Minus++ ;
         if(arr_position[i][3] < 1) N_Buy++;
            else N_Sell++ ;
      }
//+--- 
      if(InpCommentLog){
         Comment("Выводим данные \n"
         "всего записей в массиве ",N,"\n"
         "-----------------------: ",0,"\n"
         "profit_Plus:  ",profit_Plus,"\n"
         "profit_Minus: ",profit_Minus,"\n"
         "-----------------------: ",0,"\n"
         "N_Buy: ",N_Buy,"\n"
         "N_Sell: ",N_Sell,"\n"
         );}
//+--- 

Kann mir jemand sagen, wo ich einen Fehler gemacht habe?

Dateien:
Sower_1_3.mq5  17 kb
 

Wenn Sie es im Tester laufen lassen, scheint es, dass alle (offenen) Positionen profitabel sind und alle von ihnen Käufe sind

profit_Plus == N_Buy == N  чего в принципе не должно быть.
 

der Kommentar in der oberen linken Ecke

Ich weiß nicht, wie man es groß macht, tut mir leid.