Açık pozisyonları gruplara ayırma - sayfa 2

 
Nikolay Kositsin :

Bu tür kodlar, bitmiş formda var olamayacak kadar bireyseldir. Pozisyonlar ve emirler için gerekli nitelikler için tüm seçenekler için hazır yorumlar ve pozisyonları ve emirleri analiz eden ve bu yorumları değiştiren bir Uzman Danışman ile bir Yapı yazılır. Bu tür şeyler ya bağımsız olarak yazılır ya da serbest olarak sipariş edilir.

Tabii ki size katılıyorum ama "hazır..." aramıyorum, yalvarmıyorum ve sipariş vermiyorum. Bana göre ilginç bir fikri uygulamak için uygulanabilecek (ve kendim uygulayacağım) bilgiyi paylaşmayı öneriyorum. Yaptıklarımı buraya yazacağım, her türlü katılım kabul edilir.

 
Sergey Voytsekhovsky :

Tabii ki size katılıyorum ama "hazır..." aramıyorum, yalvarmıyorum ve sipariş vermiyorum. Bana göre ilginç bir fikri uygulamak için uygulanabilecek (ve kendim uygulayacağım) bilgiyi paylaşmayı öneriyorum. Yaptıklarımı buraya yazacağım, her türlü katılım kabul edilir.

Yazılarıma bakın. Orada zaten yapıldı. Ne - hatırlamıyorum. Ama konuşmalarda okuyabilirsiniz. İki şekilde yapılır. İkincisi, çalışan bir sürüm olarak bırakıldı - kullanıcı tanımlayıcılarını sihir içinde depolamak.
 
Artyom Trishkin :
Yazılarıma bakın. Orada zaten yapıldı. Ne - hatırlamıyorum. Ama konuşmalarda okuyabilirsiniz. İki şekilde yapılır. İkincisi, çalışan bir sürüm olarak bırakıldı - kullanıcı tanımlayıcılarını sihir içinde depolamak.

Teşekkür ederim kodunuza çok bakıyorum, sık sık kullanıyorum emeğiniz için teşekkürler ama o kadar çok çalışmanız var ki henüz bu konuda bulamadım. Şu anda "kullanıcı tanımlayıcıları" etiketiyle arama yapmaya çalışacağım, ipucu için teşekkürler.

 
Sergey Voytsekhovsky :

Teşekkür ederim kodunuza çok bakıyorum, sık sık kullanıyorum emeğiniz için teşekkürler ama o kadar çok çalışmanız var ki henüz bu konuda bulamadım. Şu anda "kullanıcı tanımlayıcıları" etiketiyle arama yapmaya çalışacağım, ipucu için teşekkürler.

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

SpaAAAAsibo, yazının içine daldım :-()

 
Grigori.SB :

Ve yorum alanının kullanılması tavsiye edilmez. Bu elbette en kolay yol, ama aynı zamanda en güvenilmez çünkü. bu alan herhangi bir zamanda DC tarafından değiştirilebilir.

Eh, takip sistemi, pozisyonun veya siparişin durumuyla eşleşmediği takdirde yorumu herhangi bir zamanda değiştirmek için tasarlanmıştır. Yani görsel gözlem için bu bir şeyleri değiştirmez.
 
Sergey Voytsekhovsky :

Sorunuzun amacını anlamadım.

Bundan bahsediyorum https://www.mql5.com/ru/forum/48768

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

İyi akşamlar.

Önerilen bağlantıları akıcı bir şekilde kürekledi ve şu an için çok fazla karmaşıklaştırmaya değmediği sonucuna vardı.

Şimdilik iki boyutlu bir dizi ile idare etmeye çalışacağım. Onu yarattı, ona veri yazdı. Doğru çalışıp çalışmadığını kontrol etmeye karar verdim, ortaya çıktı - doğru değil !!!

//+------------------------------------------------------------------+
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);
}
//+------------------------------------------------------------------+

Kontrol etmek için, geçici olarak değişkenler oluşturdum ve onları Comment'de görüntüledim, YANLIŞ olduğunu düşünüyor !!!

       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"
         );}
//+--- 

Biri bana nerede hata yaptığımı söyleyebilir mi,,???

Dosyalar:
Sower_1_3.mq5  17 kb
 

Test cihazında çalıştırırsanız, tüm pozisyonların (açık) karlı olduğu ve hepsinin satın alma olduğu ortaya çıkıyor.

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

sol üst köşedeki yorum

Görünürde büyük olacak bir şeyi nasıl yerleştireceğimi bilmiyorum, üzgünüm.
Neden: