Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 733

 
Vitaly Muzichenko :
" ArraySortBubbleTwoDims "inize
Nasıl ararsın?
 
Vitaly Muzichenko :

" ArraySortBubbleTwoDims "inize

Genel olarak, döngü açıldı ve sorun çözüldü. Ama yine de standart bir fonksiyon şeklinde normal bir çözüm görmek istedim.

const'ı kaldır
 
Vitaly Muzichenko :

" ArraySortBubbleTwoDims "inize

Genel olarak, döngü açıldı ve sorun çözüldü. Ama yine de standart bir fonksiyon şeklinde normal bir çözüm görmek istedim.

Komut dosyasını kontrol edin:

//+------------------------------------------------------------------+
//|                                                    sTestSort.mq5 |
//|              Copyright 2017, Artem A. Trishkin, Skype artmedia70 |
//|                       https://login.mql5.com/ru/users/artmedia70 |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, Artem A. Trishkin, Skype artmedia70"
#property link        "https://login.mql5.com/ru/users/artmedia70"
#property version    "1.00"
//---
#define TWO_DIM   ( 2 )
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
  {
//---
   double array[][TWO_DIM];
   ArrayResize (array, 10 );
   for ( uchar i= 0 ; i< 10 ; i++) {
      array[i][ 0 ]=i* 10 ;
      array[i][ 1 ]= rand ();
      }
   Print ( "Перед сортировкой" );
   for ( uchar i= 0 ; i< 10 ; i++) Print ( "array[" ,i, "][0]=" ,array[i][ 0 ], ", array[" ,i, "][1]=" ,array[i][ 1 ]);
   Print ( "Сортировка по первому измерению по возрастанию" );
   ArraySortBubbleTwoDims(array);
   for ( uchar i= 0 ; i< 10 ; i++) Print ( "array[" ,i, "][0]=" ,array[i][ 0 ], ", array[" ,i, "][1]=" ,array[i][ 1 ]);
   Print ( "Сортировка по первому измерению по убыванию" );
   ArraySortBubbleTwoDims(array, 0 , 1 );
   for ( uchar i= 0 ; i< 10 ; i++) Print ( "array[" ,i, "][0]=" ,array[i][ 0 ], ", array[" ,i, "][1]=" ,array[i][ 1 ]);
   //---
   Print ( "Сортировка по второму измерению по возрастанию" );
   ArraySortBubbleTwoDims(array, 1 );
   for ( uchar i= 0 ; i< 10 ; i++) Print ( "array[" ,i, "][0]=" ,array[i][ 0 ], ", array[" ,i, "][1]=" ,array[i][ 1 ]);
   Print ( "Сортировка по второму измерению по убыванию" );
   ArraySortBubbleTwoDims(array, 1 , 1 );
   for ( uchar i= 0 ; i< 10 ; i++) Print ( "array[" ,i, "][0]=" ,array[i][ 0 ], ", array[" ,i, "][1]=" ,array[i][ 1 ]);
  }
//+------------------------------------------------------------------+
//| Пузырьковая сортировка двумерного массива                        |
//+------------------------------------------------------------------+
template < typename T>
void ArraySortBubbleTwoDims(T& array[][TWO_DIM], int sort_dimension= 0 , int sort_direction= 0 ) {
   T     t= 0 ;
   int    k= ArrayRange (array, 1 );     // Количество колонок
   int    n= ArrayRange (array, 0 );     // Количество строк
  
   //---
   if (sort_dimension< 0 ) sort_dimension= 0 ;
   if (sort_dimension>k) sort_dimension=k;
   //---
   for ( int i=n- 1 ; i> 0 ; i--) {
       for ( int j= 0 ; j<i; j++) {
         //--- по возрастанию
         if (sort_direction== 0 ) {
             if (array[j][sort_dimension]>array[j+ 1 ][sort_dimension]) {
               for ( int e= 0 ; e<k; e++) {
                  t=array[j][e];
                  array[j][e]=array[j+ 1 ][e];
                  array[j+ 1 ][e]=t;
                  }
               }
            }
         //--- по убыванию
         else {
             if (array[j][sort_dimension]<array[j+ 1 ][sort_dimension]) {
               for ( int e= 0 ; e<k; e++) {
                  t=array[j][e];
                  array[j][e]=array[j+ 1 ][e];
                  array[j+ 1 ][e]=t;
                  }
               }
            }
         }
      }
}
//+------------------------------------------------------------------+
 
Artyom Trishkin :
Komut dosyasını kontrol edin:

Teşekkür ederim ama sihirli bir kodum var (

Hata: 'mas' - parametre dönüştürmeye izin verilmiyor e.mq5 2129 25

 
Vitaly Muzichenko :

Teşekkür ederim ama sihirli bir kodum var (

Hata: 'mas' - parametre dönüştürmeye izin verilmiyor e.mq5 2129 25

Mas'ınız ikinci boyut 3'ün boyutuna sahip. Ve 2'ye ihtiyacınız var.
 
Artyom Trishkin :
Mas'ınız ikinci boyut 3'ün boyutuna sahip. Ve 2'ye ihtiyacınız var.

Toplam:

#define TWO_DIM ( 3 )

void PosBySort( double &mas[][ 3 ])
Teşekkür ederim!
 
Bir sersemliğim var, mql5 dili gibi bir şey öğrendim ama finansal kısmı anlamadığımı fark ettim ve bu yüzden ne yazacağımı bile bilmiyorum. Temel bilgiler doğal olarak mevcuttur, ancak nasıl kullanılacağını bilmiyorum. Söyleyin bana, aynı durumda olan iyi insanlar bir çıkış yolu buldular, hangi vektöre tutundular?
 
dzhabrailov :
Bir sersemliğim var, mql5 dili gibi bir şey öğrendim ama finansal kısmı anlamadığımı fark ettim ve bu yüzden ne yazacağımı bile bilmiyorum. Temel bilgiler doğal olarak mevcuttur, ancak nasıl kullanılacağını bilmiyorum. Söyleyin bana, aynı durumda olan iyi insanlar bir çıkış yolu buldular, hangi vektöre tutundular?
"finansal" ne demek Ticaret özellikleri? OrderSend () nasıl organize edileceği açık değil mi?
Документация по MQL5: Торговые функции / OrderSend
Документация по MQL5: Торговые функции / OrderSend
  • www.mql5.com
Торговые функции / OrderSend - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
net olan da bu ama daha ucuza alıp daha pahalıya satmak her zaman mümkün olmuyor. Bir ticarete ne zaman girilir, ne zaman çıkılır ve benzerlerinden bahsediyorum.
 
dzhabrailov :
net olan da bu ama daha ucuza alıp daha pahalıya satmak her zaman mümkün olmuyor. Bir ticarete ne zaman girilir, ne zaman çıkılır ve benzerlerinden bahsediyorum.
Eh, bu artık programlama kavramının bir parçası değil. Bu ticaret sanatıdır. Bu öğretilir, ancak böyle bir eğitimin başarısına inanmıyorum.