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

 
MakarFX # :

스스로 알림을 작성할 수 있도록 - 이것은 어떤 종류의 기능입니까?

:)) 필요할 때 스스로 할 수 없는 것처럼: 두 개의 슬래시를 삽입하고 몇 단어를 씁니다. 이 프레임에 무언가를 쓰려고 했습니까? 오른쪽의 슬래시는 입력한 문자 수만큼 오른쪽으로 이동하지만, 한 줄 이상을 작성해야 하는 경우에는 어떻게 합니까? 장사를 하는 대신 액자를 그리는 데 시간을 할애해야 합니다. Just ide는 그것이 어떻게 되어야 하는지에 대한 일종의 병약한 비전을 부과합니다.

 
Nerd Trader # :

:)) 필요할 때 스스로 할 수 없는 것처럼: 두 개의 슬래시를 삽입하고 몇 단어를 씁니다. 이 프레임에 무언가를 쓰려고 했습니까? 오른쪽의 슬래시는 입력한 문자 수만큼 오른쪽으로 이동하지만, 한 줄 이상을 작성해야 하는 경우에는 어떻게 합니까? 장사를 하는 대신 액자를 그리는 데 시간을 할애해야 합니다. Just ide는 그것이 어떻게 되어야 하는지에 대한 일종의 병약한 비전을 부과합니다.

함수 앞에 두 개의 슬래시를 넣으면 만족할 것입니다.

 //
int OnCalculate ( const int rates_total,
                 const int prev_calculated,
                 const datetime & time[],
                 const double & open[],
                 const double & high[],
 
MakarFX # :

함수 앞에 두 개의 슬래시를 넣으면 만족할 것입니다.

주석과 함수 사이에 빈 줄이 있으면 프레임이 삽입된다고 위에서 이미 썼습니다.
 

버튼을 클릭하면 수평선 이 생성됩니다. 가격 대비 커서의 위치에 따라 다른 색상으로 재현됩니다. 문제는 다음과 같습니다. 커서가 가격에서 적절한 위치에 있을 때 노란색과 회색 선이 지속적으로 깜박입니다(녹색이면 모든 것이 정상임). 선의 색상 속성만 변경하고 다시 생성하지 않는 유사한 코드는 올바르게 작동합니다.

논리적 NOT이 그 자리에 있습니다. 즉, == 0을 쓰는 대신입니다.

 void OnChartEvent ( const int id, const long &lparam, const double &dparam, const string &sparam)
{
  ...
  ...
  ...
   if ( ObjectGetInteger ( 0 , "Button Stop Order" , OBJPROP_STATE )){
     int x = ( int )lparam;
     int y = ( int )dparam;
     //Переведём координаты X, Y в дату и время
     if ( ChartXYToTimePrice ( 0 ,x,y,window,dt,price)){
       //Линия меняет цвет с зелёного на желтый
       if (price < Bid){
         if (! ObjectFind ( "Buy Stop" ) || ! ObjectFind ( "not allowed" )){
           ObjectDelete (line_name);
          line_name = "Sell Stop" ;
          CreateLine(line_name, clrYellow );
        }      
      }
       //Линия меняет цвет с желтого на зелёный
       if (price > Ask){
         if (! ObjectFind ( "Sell Stop" ) || ! ObjectFind ( "not allowed" )){
           ObjectDelete (line_name);
          line_name = "Buy Stop" ;
          CreateLine(line_name, clrGreen );
        }
      }
       //Линия меняет цвет на серый если в зоне спреда
       if (price > Bid && price < Ask){
         if (! ObjectFind ( "Buy Stop" ) || ! ObjectFind ( "Sell Stop" )){
           ObjectDelete (line_name);
          line_name = "not allowed" ;
          CreateLine(line_name, clrGray );
        }
      }
       //Прикрепляем линию к курсору
       if (id == CHARTEVENT_MOUSE_MOVE )
         if ( ObjectMove ( 0 ,line_name, 0 , 0 ,price))
           ChartRedraw ( 0 );
    }
  } else if ( ObjectFind (line_name) == window) Print ( ObjectDelete (line_name));
 
Nerd Trader 수평선 이 생성됩니다. 가격 대비 커서의 위치에 따라 다른 색상으로 재생성됩니다. 문제는 다음과 같습니다. 커서가 가격에서 적절한 위치에 있을 때 노란색과 회색 선이 계속 깜박입니다(녹색이면 모든 것이 정상임). 선의 색상 속성만 변경하고 다시 생성하지 않는 유사한 코드는 올바르게 작동합니다.

논리적 NOT이 그 자리에 있습니다. 즉, == 0을 쓰는 대신입니다.

ObjectFind는 bool이 아닌 int입니다.
 
Nerd Trader # :

mql4 및 여기에서 기본 환경으로 이동하기로 결정하면 정말 짜증이 나기 때문입니다! 액자를 원하세요? 그리고 우리는 계속 나아갑니다.

원하는대로 만들려면 Makar 방법을 사용하십시오.

MakarFX # :

스타일도 잘 몰라서 보기 편한 형식으로 했습니다 .

 
MakarFX # :
ObjectFind는 bool이 아닌 int입니다.
이 경우 차이가 없습니다 "!" 또는 "==0"
 
Nerd Trader # :
이 경우 차이가 없습니다 "!" 또는 "==0"

차이가 있습니다!!!

       if (! ObjectFind ( "Buy Stop" )) Print ( "All right Христофор Бонифатич!" );
       else Print ( "Something is wrong!" );
       if ( ObjectFind ( "Buy Stop" )!= 0 ) Print ( "All right Христофор Бонифатич" );
 
Nerd Trader # :
이 경우 차이가 없습니다 "!" 또는 "==0"
 if (! ObjectFind ( "Buy Stop" ))

이 요청은 다음과 같습니다.

Vasily Ivanovich Chapaev와 Petka는 비행기에서 날고 있고 갑자기 Vasily Ivanovich는 조종사의 조타 장치에 앉아 외칩니다.

"펫카, 장치들!"

Petka는 "38입니다."라고 대답합니다.

Vasily Ivanovich: "38은 무엇입니까?"

Petka: "그리고 장치는 어떻습니까?"

 
MakarFX # :

이 요청은 다음과 같습니다.

Makar 없음, 다음과 같이 보입니다.

ObjectFind() 함수는 기본 창의 번호를 반환합니다. 그리고 이 숫자는 0과 같습니다. 반면에 0 == false인 경우 함수가 0을 반환하면 false를 반환하는 것과 같습니다. 물론 함수가 갑자기 -1을 반환하면, 즉 오류가 발생하면 이것을 적용하지 않을 것입니다. 그러면 메인 창에 없는 객체의 위치를 고려할 수 있습니다. 예, 모든 것에 더해 어떤 수정이 이루어질지 결코 알 수 없습니다 ...

일반적으로 논쟁하지 말고 그렇게하는 법을 배우지 마십시오 ...