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

 
내가 주문하고 수정하기 위한 조건을 삽입한 라인 대신에 어드바이저가 일하는 곳을 보기 위해 라인을 설정했고, 어드바이저가 작업을 시작했다. 솔직히 말해서 그가 성공해서 기쁩니다. 이것은 나의 첫 번째 독립 고문입니다. 테스터가 왜 한 줄만 설정했는지 알아 냈습니다))
 
Alexey Viktorov :

1과 2 막대가 아닌 3과 4 막대에서 MA의 교차점을 확인하십시오. 교차점이라면 1 막대와 2 막대에서 AO 값을 확인하십시오.

고맙습니다. 나는 노력할 것이다.
 

골칫거리가 하나 더 있습니다. KEY_TILDE 키를 등록 하여 Rectangular 레이블 개체 를 선택하여 차트의 다른 위치로 선택하여 이동할 수 있도록 하는 방법을 설명하는 것이 이해가 되지 않습니다. 하단에는 네오포크 인디케이터에 대한 예시 화면을 첨부했습니다. 마우스를 알아냈지만 키를 할당할 방법이 없습니다.

 int OnInit ()
  {
RectLabelCreate( 0 , "RectLabel" , 0 , 10 , 200 , 149 , 143 , C'55,55,55' , BORDER_SUNKEN , CORNER_LEFT_LOWER , C'55,55,55' , STYLE_SOLID , 1 , false , false , true , 0 );

   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| ChartEvent function                                              |
//+------------------------------------------------------------------+
void OnChartEvent ( const int id,         // идентификатор события
                   const long & lparam,   // параметр события типа long
                   const double & dparam, // параметр события типа double
                   const string & sparam) // параметр события типа string
  {

     if (id== CHARTEVENT_KEYDOWN )
     {
       switch ( int (lparam))
        {
         case KEY_TILDE:
             Print ( "Нажата KEY_TILDE" );
             break ;
        }
         ChartRedraw (); 
     }

  }
파일:
01.jpg  8 kb
02.jpg  3 kb
 
DYM :

골칫거리가 하나 더 있습니다. KEY_TILDE 키를 등록 하여 Rectangular 레이블 개체 를 선택하여 차트의 다른 위치로 선택하여 이동할 수 있도록 하는 방법을 설명하는 것이 이해가 되지 않습니다. 하단에는 네오포크 인디케이터에 대한 예시 화면을 첨부했습니다. 마우스를 알아냈지만 키를 할당할 방법이 없습니다.

     if (id== CHARTEVENT_KEYDOWN )
     {
       switch ( int (lparam))
        {
         case KEY_TILDE:
         ObjectSetInteger ( 0 , "RectLabel" , OBJPROP_SELECTABLE , true ); 
         Print ( "Нажата KEY_TILDE" );
         break ;
        }
         ChartRedraw (); 
     }
 
MakarFX :
팁을 주셔서 감사합니다. 해상도와 선택을 사용해야 한다는 것을 깨달았지만 여전히 적용하는 방법을 알지 못했습니다. 다시 한번 감사합니다.
 
동료! 이상한 상황이 고문이 덧붙였다. 테스터에서 잘 실행되며 차트에 추가되면 즉시 임의의 순서로 열리도록 구성됩니다. GBPUSD에 최적입니다. 그러나 데모는 주문을 열지 않습니다. 스프레드가 넓게 설정되어 에러가 나지 않는데 또 하루 놔둔 시간에는 주문을 안 열었는데 테스터에서 다운받은 틱으로 당일 정상 거래를 했습니다. 메타트레이더의 모든 설정은 정상이고, 얼굴은 웃고 있고, 중개 서버와의 연결도 정상인 것 같습니다. 코드에 어떤 문제가 있는지 확인해야 합니다. 칠면조는 필요하지 않지만 매개 변수는 주문 시작 건너 뛰기 조건에 따라 유효합니다. 내 머리를 부수고.
파일:
BlackJack.mq4  47 kb
 
Порт-моне тв :
동료! 이상한 상황이 고문이 덧붙였다. 테스터에서 잘 실행되며 차트에 추가되면 즉시 임의의 순서로 열리도록 구성됩니다. GBPUSD에 최적입니다. 그러나 데모는 주문을 열지 않습니다. 스프레드가 넓게 설정되어 에러가 나지 않는데 또 하루 놔둔 시간에는 주문을 안 열었는데 테스터에서 다운받은 틱으로 당일 정상 거래를 했습니다. 메타트레이더의 모든 설정은 정상이고, 얼굴은 웃고 있고, 중개 서버와의 연결도 정상인 것 같습니다. 코드에 어떤 문제가 있는지 확인해야 합니다. 칠면조는 필요하지 않지만 매개 변수는 주문 시작 건너 뛰기 조건에 따라 유효합니다. 내 머리를 부수고.

병목 현상이 많습니다. 코드가 잘못 작성되었습니다. 데이터 처리가 매우 엉성합니다. 리팩토링 필요

 
Nikita Chernyshov :

병목 현상이 많습니다. 코드가 잘못 작성되었습니다. 데이터 처리가 매우 엉성합니다. 리팩토링 필요

귀하의 추상적 평가는 원인을 밝히지 않습니다.

 
Порт-моне тв :

병목 현상이... @@#$의 리팩터링

코드는 "내 유일한 사랑하는 사람을 위해 맥주와 함께 그리고 내가 기억하는 한" 작성되었습니다 :-)

솔직히 - 나는 그것을 다운로드했고, 대각선으로 보았고, 그것을 알아낼 약속은 없었습니다 ..

----

모든 코드는 갑작스러운 개인 전문 기억 상실의 경우 문서화/설명됩니다. 이것은 내가 프로그래밍 언어를 제외한 모든 것을 잊었을 때입니다.

아무도 알 수 없는 방식으로 구현된 알 수 없는 알고리즘을 구문 분석하지 않습니다. 적어도 무료. 돈을 위해 그들은 단순히 새 것에 다시 쓸 것입니다

당신은 포함하고 있습니다. 2~3개월 쉬다 보면 OnTick에 변수가 너무 많아서 무엇을 계산하고 싶었는지 기억하지 못할 것입니다.

 
Maxim Kuznetsov :

병목 현상이... @@#$의 리팩터링

코드는 "내 유일한 사랑하는 사람을 위해 맥주와 함께 그리고 내가 기억하는 한" 작성되었습니다 :-)

솔직히 - 나는 그것을 다운로드했고, 대각선으로 보았고, 그것을 알아낼 약속은 없었습니다 ..

----

모든 코드는 갑작스러운 개인 전문 기억 상실의 경우 문서화/설명됩니다. 이것은 내가 프로그래밍 언어를 제외한 모든 것을 잊었을 때입니다.

아무도 알 수 없는 방식으로 구현된 알 수 없는 알고리즘을 구문 분석하지 않습니다. 적어도 무료. 돈을 위해 그들은 단순히 새 것에 다시 쓸 것입니다

당신은 포함하고 있습니다. 2~3개월 쉬다 보면 OnTick에 변수가 너무 많아서 무엇을 계산하고 싶었는지 기억하지 못할 것입니다.

테스트를 위해 다른 기능이 있다고 가정 해 봅시다. 막 작동하는 다른 Expert Advisor를 방해해서는 안 되며 방해하지 않아야 합니다. 브라켓을 엉뚱한 곳에 꽂았거나 그런 것 같아요.