Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 733
Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
" ArraySortBubbleTwoDims "inize
" 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.
" 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.
//| 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;
}
}
}
}
}
}
//+------------------------------------------------------------------+
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
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.
Toplam:
void PosBySort( double &mas[][ 3 ])
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?
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.