Disliked{quote} Many thanks RIKc, I am not an expert for using array, could you please write a simple example?Ignored
or
//+----------------------------------------------------------------------------+
void array_History() {
int num,x=0;//,size=ArrayRange(закрытые_ордеры,0);
// x=size-1;
// if(size==0 || size==1){закрытые_ордеры[0][2]=0;}
ArrayFree(закрытые_ордеры);
for(int i=OrdersHistoryTotal()-1; i>0; i--) {
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY) && CHKMAGIC(OrderMagicNumber()) && OrderType()<2) {
// if((datetime)закрытые_ордеры[size-1][2]<OrderCloseTime() || size==1) {
num=SArrayBsearch(Пары,OrderSymbol());
if(num==-1) continue;
ArrayResize(закрытые_ордеры,x+1,20);
закрытые_ордеры[x][0]=num;
закрытые_ордеры[x][1]=(double)OrderTicket();
закрытые_ордеры[x][2]=(double)OrderCloseTime();
закрытые_ордеры[x][3]=(double)OrderOpenTime();
закрытые_ордеры[x][4]=(double)OrderProfit()+OrderSwap()+OrderCommission();;
x++;
}
}
}
//+------------------------------------------------------------------++
// Выполняет сортировку двумерного массива int по заданному измерению методом пузырька в заданном направлении сортировки
// array - сортируемый двумерный массив int
// mode - направление сортировки (MODE_ASCEND - по возрастанию; MODE_DESCEND - по убыванию)
void ArrayTwoSort(double &array[][], int key, int mode=MODE_ASCEND) {
double dt_temp = 0;
int line = ArrayRange(array,0);
int line2 = ArrayRange(array,1);
if(key >= 0 && key < line2){
for(int i=line-1;i>=0;i--){
for (int j=0; j<i; j++){
if (mode==MODE_ASCEND){
if(array[j][key]>array[j+1][key]){
for(int q=0;q<line2;q++){
dt_temp = array[j][q]; array[j][q] = array[j+1][q]; array[j+1][q] = dt_temp;
}
}
}
else{
if(array[j][key]<array[j+1][key]){
for(int q=0;q<line2;q++){
dt_temp = array[j][q]; array[j][q] = array[j+1][q]; array[j+1][q] = dt_temp;
}
}
}
}
}
}
}