MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1676

 
Alexey Viktorov # :

첫 번째 로트에서 0.3을 청산한 다음 0.7을 청산해야 하는 경우 지혜 없이 다른 테이크로 두 주문을 여는 것이 더 쉽습니다.

이것은 편리하지 않습니다. 제 두피 시스템에서는 거래에 적극적으로 재치 있게 동행해야 합니다. + 충동이 있을 수 있지만, 다른 창에서 여는 것, 몇 초 만에 많이 바꾸는 게 그런 직업입니다 :) 1로트를 열고 부분적으로 고치는게 더 쉽습니다. 수동이 아닌 주어진 가격 수준(가격)에 따라 수정하면 됩니다. 그렇지 않고 3테이크로 작업하는 경우 거래를 시작할 때 피아노를 연주해야 합니다.
 
TranceFM # :
이것은 편리하지 않습니다. 제 두피 시스템에서는 거래에 적극적으로 재치 있게 동행해야 합니다. + 충동이 있을 수 있지만, 다른 창에서 여는 것, 몇 초 만에 많이 바꾸는 게 그런 직업입니다 :) 1로트를 열고 부분적으로 고치는게 더 쉽습니다. 수동이 아닌 주어진 가격 수준(가격)에 따라 수정하면 됩니다. 그렇지 않고 3테이크로 작업하는 경우 거래를 시작할 때 피아노를 연주해야 합니다.
그런 다음 고문을 주문하십시오
 
MakarFX # :
그런 다음 고문을 주문하십시오

저것들. 기성품이 있습니까? 확인. 그런 올빼미의 비용은 얼마입니까?

 

스크립트에서

 #property copyright "Copyright 2019, MetaQuotes Software Corp."
#property link        " https://www.mql5.com "
#property version    "1.00"
#property strict
//обьявим класс
class Сleaner
 {
 public :     

         Сleaner() { Alert ( "Конструктор" );
          }
           ~Сleaner() { Alert ( "Деструктор" ); }
   void come( int &array[], int &re[]){ 
         int AS= ArraySize (array);
         int n= 0 ;    
   for ( int i= 0 ; i<AS; i++) {
     if (ArraySearch(re, array[i])==- 1 ) {
      n++;
       ArrayResize (re,n);
      re[n- 1 ]=array[i];
     }
   }
 }
 void sleep() { Sleep ( 1000 ); }
private :
           int ArraySearch( int & m[], int e)
       {
         for ( int i= 0 ; i< ArraySize (m); i++) {
         if (m[i]==e) return (i);
//        Print(" e =",e,", ArraySize(m) =",ArraySize(m)," ,m[i] =",m[i]," ,i =",i );
       }
   return (- 1 );
    }
 };
Сleaner pi;
int arr[]= { 6 , 4 , 6 , 7 , 9 , 65 , 66 , 2 , 2 , 9 , 7 , 7 };
int res[];
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
  {
  
  pi.come(arr,res);
  pi.sleep();
   for ( int z= 0 ;z< ArraySize (res);z++)
   Print (res[z]);
   
  }
//+------------------------------------------------------------------+

올바르게 작동

2021.10.14 17:24:29.321 Oko_12 GBPUSD,M5: 경고: 소멸자

2021.10.14 17:24:29.321 Oko_12 GBPUSD,M5: 단위 이유 0

2021.10.14 17:24:29.321 Oko_12 GBPUSD,M5: 2

2021.10.14 17:24:29.321 Oko_12 GBPUSD,M5: 66

2021.10.14 17:24:29.321 Oko_12 GBPUSD,M5: 65

2021.10.14 17:24:29.321 Oko_12 GBPUSD,M5: 9

2021.10.14 17:24:29.321 Oko_12 GBPUSD,M5: 7

2021.10.14 17:24:29.321 Oko_12 GBPUSD,M5: 4

2021.10.14 17:24:29.321 Oko_12 GBPUSD,M5: 6

2021.10.14 17:24:28.209 Oko_12 GBPUSD,M5: 초기화됨

2021.10.14 17:24:28.209 Oko_12 GBPUSD,M5: 경고: 생성자

배열에서 반복이 제거됩니다. 올빼미 if 배열에서

 int arr[]= { 6 , 4 , 6 , 7 , 9 , 65 , 66 , 2 , 2 , 9 , 7 , 7 };

동적이며 증가하면 올바르게 작동하지만 감소하면 거짓말을 시작합니다.

 

얼마나 정확하게 재현했는지 모르겠다

 #property copyright "Copyright 2019, MetaQuotes Software Corp."
#property link        " https://www.mql5.com "
#property version    "1.00"
#property strict
//обьявим класс
class Сleaner
 {
 public :     

         Сleaner() { Alert ( "Конструктор" );
          }
           ~Сleaner() { Alert ( "Деструктор" ); }
   void come( int &array[], int &re[]){ 
         int AS= ArraySize (array);
         int n= 0 ;    
   for ( int i= 0 ; i<AS; i++) {
     if (ArraySearch(re, array[i])==- 1 ) {
      n++;
       ArrayResize (re,n);
      re[n- 1 ]=array[i];
     }
   }
 }
 void sleep() { Sleep ( 1000 ); }
private :
           int ArraySearch( int & m[], int e)
       {
         for ( int i= 0 ; i< ArraySize (m); i++) {
         if (m[i]==e) return (i);
//        Print(" e =",e,", ArraySize(m) =",ArraySize(m)," ,m[i] =",m[i]," ,i =",i );
       }
   return (- 1 );
    }
 };
Сleaner pi;
int arr[]= { 6 , 6 , 2 };
int res[];
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
  {

   arr[ 0 ]= 6 ;
   arr[ 1 ]= 6 ;

  pi.come(arr,res);
//  pi.sleep();
   for ( int z= 0 ;z< ArraySize (res);z++)
   Print (res[z]);
   
  }
//+------------------------------------------------------------------+

그러나 이것은 정확히 올빼미의 결과입니다.

2021.10.14 21:11:34.802 Oko_12 GBPUSD,M5: 경고: 소멸자

2021.10.14 21:11:34.802 Oko_12 GBPUSD,M5: 단위 이유 0

2021.10.14 21:11:34.523 Oko_12 GBPUSD,M5: 2

2021.10.14 21:11:34.523 Oko_12 GBPUSD,M5: 6

2021.10.14 21:11:34.523 Oko_12 GBPUSD,M5: 초기화됨

2021.10.14 21:11:34.523 Oko_12 GBPUSD,M5: 경고: 생성자


 
안녕하세요 여러분, 경험 많은 개발자 여러분, 초보자에게 말하십시오. iCustom을 통해 연결된 사용자 지정 지표가 있는 경우 MQL4 Expert Advisor를 하나의 ex4 파일로 패키징하는 과정에 관심이 있습니다. 도서관). 이 모든 다양성을 하나의 파일로 쉽게 전송할 수 있는 방법이 있는지 아니면 모든 것을 어드바이저 코드에 직접 통합해야 하는지 궁금합니다.
 
Aleksandr Kononov 사용자 지정 지표가 있는 경우 MQL4 Expert Advisor를 하나의 ex4 파일로 패키징하는 과정에 관심이 있습니다. 도서관). 이 모든 다양성을 하나의 파일로 쉽게 전송할 수 있는 방법이 있는지 아니면 모든 것을 어드바이저 코드에 직접 통합해야 하는지 궁금합니다.

모든 것이 통합되어야 합니다.

 
Aleksandr Kononov 사용자 지정 지표가 있는 경우 MQL4 Expert Advisor를 하나의 ex4 파일로 패키징하는 과정에 관심이 있습니다. 도서관). 이 모든 다양성을 하나의 파일로 쉽게 전송할 수 있는 방법이 있는지 아니면 모든 것을 어드바이저 코드에 직접 통합해야 하는지 궁금합니다.

리소스를 통해 연결

 
Vitaly Muzichenko # :

리소스를 통해 연결

감사합니다 읽었습니다
 
ENUM_POSITION_TYPE type = PositionGetInteger ( POSITION_TYPE );
컴파일러가 암시적 열거형 변환 경고를 표시하는 이유는 무엇입니까?
Документация по MQL5: Торговые функции / PositionGetInteger
Документация по MQL5: Торговые функции / PositionGetInteger
  • www.mql5.com
PositionGetInteger - Торговые функции - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5