초보자의 질문 MQL5 MT5 MetaTrader 5 - 페이지 733

 
Vitaly Muzichenko :
귀하의 " ArraySortBubbleTwoDims "에
어떻게 전화를 합니까?
 
Vitaly Muzichenko :

귀하의 " ArraySortBubbleTwoDims "에

일반적으로 주기를 펼치면 문제가 해결됩니다. 하지만 여전히 표준 함수의 형태로 정상적인 솔루션을 보고 싶었습니다.

상수 제거
 
Vitaly Muzichenko :

귀하의 " ArraySortBubbleTwoDims "에

일반적으로 사이클을 펼치면 문제가 해결됩니다. 하지만 여전히 표준 함수의 형태로 정상적인 솔루션을 보고 싶었습니다.

스크립트 확인:

//+------------------------------------------------------------------+
//|                                                    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 :
스크립트 확인:

고마워, 하지만 난 마법의 코드(

오류: 'mas' - 매개변수 변환이 허용되지 않습니다. e.mq5 2129 25

 
Vitaly Muzichenko :

고마워, 하지만 난 마법의 코드(

오류: 'mas' - 매개변수 변환이 허용되지 않습니다. e.mq5 2129 25

당신의 질량은 두 번째 차원의 크기 3입니다. 그리고 당신은 2가 필요합니다.
 
Artyom Trishkin :
당신의 질량은 두 번째 차원의 크기 3입니다. 그리고 당신은 2가 필요합니다.

총:

#define TWO_DIM ( 3 )

void PosBySort( double &mas[][ 3 ])
고맙습니다!
 
혼미하고 mql5 언어 같은 것을 배웠지만 재정적인 부분 자체를 이해하지 못해서 무엇을 써야 할지조차 모른다는 것을 깨달았습니다. 기본 지식은 자연스럽게 얻을 수 있는데 어떻게 활용해야 할지 모르겠습니다. 같은 상황에서 탈출구를 찾은 선량한 사람들은 어떤 벡터를 잡고 있었는지 말해주세요.
 
dzhabrailov :
혼미하고 mql5 언어 같은 것을 배웠지만 재정적인 부분 자체를 이해하지 못해서 무엇을 써야 할지조차 모른다는 것을 깨달았습니다. 기본 지식은 자연스럽게 얻을 수 있는데 어떻게 활용해야 할지 모르겠습니다. 같은 상황에서 탈출구를 찾은 선량한 사람들은 어떤 벡터를 잡고 있었는지 말해주세요.
"financial"은(는) 무슨 뜻인가요? 거래 기능? OrderSend() 구성 방법이 명확하지 않습니까?
Документация по MQL5: Торговые функции / OrderSend
Документация по MQL5: Торговые функции / OrderSend
  • www.mql5.com
Торговые функции / OrderSend - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
그것이 바로 분명한 사실이지만 더 싸게 사고 더 비싸게 파는 것이 항상 가능한 것은 아닙니다. 거래에 진입할 때와 종료할 때 등을 말하는 것입니다.
 
dzhabrailov :
그것이 바로 분명한 사실이지만 더 싸게 사고 더 비싸게 파는 것이 항상 가능한 것은 아닙니다. 거래에 진입할 때와 종료할 때 등을 말하는 것입니다.
글쎄, 이것은 더 이상 프로그래밍 개념의 일부가 아닙니다. 이것이 거래의 기술입니다. 이것은 가르쳐졌지만 나는 그러한 훈련의 성공을 믿지 않습니다.
사유: