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

 
Alexey Viktorov :

조건에 추가하면 됩니다.

또는 == 0일 가능성이 더 큽니다. 또는 이름으로 개체를 검색하는 것이 더 낫습니다. 그러한 개체가 없으면 생성하십시오. 버튼을 눌렀는지 안 눌렀는지가 중요하지 않습니다.

하긴 했지만
 OBJPROP_STATE

클릭하면 여전히 변경됨

지금까지 결정

   if (ObjectGet( "OrderBuy: " + Symbol (),OBJPROP_PRICE1)!= 0 )
      {
       Sleep ( 1 );
      name= "Button 3" ;
       ObjectSetInteger ( 0 ,name, OBJPROP_STATE , true );
       return ;
      }
 
Николай Никитюк :

안녕하세요! 2020.10.28_05:19 GMT+3. LeManTrend_Indicator.mq5 표시기를 네 번째 .mq4 버전으로 번역했습니다. .

표시기를 조립했습니까? 여기에 내가 눈을 멀게 한 것이 있습니다. 모든 것이 일치하는 것 같습니다. 이 표시기를 다운로드하기만 하면 됩니다. https://www.mql5.com/en/code/9096

BrainTrend1Sig LeManTrend

LeManTrend
LeManTrend
  • www.mql5.com
Индикатор определяет положение тренда на основе текущей цены и максимальных и минимальных цен за три периода.
 
MakarFX :
하긴 했지만

클릭하면 여전히 변경됨

지금까지 결정

전반적인 업무는 무엇입니까?

 
Alexey Viktorov :

전반적인 업무는 무엇입니까?

버튼을 클릭하면 객체가 생성되고 버튼이 수신
 ObjectSetInteger ( 0 , "Button 3" , OBJPROP_STATE , true );

물체가 있는 경우 버튼을 누르면

 OBJPROP_STATE , false

하지만 차트에 개체가 있는 동안 true 를 저장해야 합니다.

 
MakarFX :
버튼을 클릭하면 객체가 생성되고 버튼이 수신

물체가 있는 경우 버튼을 누르면

하지만 차트에 개체가 있는 동안 true 를 저장해야 합니다.

그런 다음 그리기 전에 속성을 다시 반환하면 됩니다.

   //--- обработка кнопки Создать трендовую линию Buy
   if (sparam== "Button 3" )
      {

   if (ObjectGet( "OrderBuy: " + Symbol (),OBJPROP_PRICE1)!= 0 ) // Это лучше заменить на if(ObjectFind(ChartID(), "OrderBuy: "+Symbol()) >= 0);
     ObjectSetInteger ( 0 , "Button 3" , OBJPROP_STATE , true );
       if (trigger_greateB== true )
         {
         Sleep ( 100 ); //А это зачем???
         trigger_greateB= false ;
         ObjectSetInteger ( 0 , "Button 3" , OBJPROP_STATE , true );
         //--- Определяем координаты
         ChartXYToTimePrice ( 0 ,xn,yn+ 20 ,window,dt_1,price_1);
         ChartXYToTimePrice ( 0 ,xn+ 100 ,yn- 20 ,window,dt_2,price_2);
         //--- Создаем трендовую линию Buy
         TrendCreate( 0 ,( "OrderBuy: " + Symbol ()), 0 ,dt_1,price_1,dt_2,price_2,ColorUP, 0 , 1 , false , true , false , false , 0 );
         return ;
         }
      }
 
그래서 나는 ... 당신이 볼 수있는 코드에서
 
MakarFX :
그래서 나는 ... 당신이 볼 수있는 코드에서

전부는 아니다. 내 예에서는 강조 표시했습니다.

   if (ObjectGet( "OrderBuy: " + Symbol (),OBJPROP_PRICE1)!= 0 ) // Это лучше заменить на if(ObjectFind(ChartID(), "OrderBuy: "+Symbol()) >= 0);
     ObjectSetInteger ( 0 , "Button 3" , OBJPROP_STATE , true );
이렇게 하면 차트에 선이 있는 경우 버튼이 눌린 상태로 고정되는 것을 방지할 수 있습니다.
 
Alexey Viktorov :

전부는 아니다. 내 예에서는 강조 표시했습니다.

이렇게 하면 차트에 선이 있는 경우 버튼이 눌린 상태로 고정되는 것을 방지할 수 있습니다.

예, 이것은 문제가 아닙니다 ... 그냥 붙일 필요가 있지만 OBJ_BUTTON 자체는 클릭 가능합니다. 아무 것도하지 않아도

버튼을 비활성화해야 하며 이것은 내가 이해하는 바에 따라 불가능합니다(

 
MakarFX :

예, 이것은 문제가 아닙니다 ... 그냥 붙일 필요가 있지만 OBJ_BUTTON 자체는 클릭 가능합니다. 아무 것도하지 않아도

버튼을 비활성화해야 하며 이것은 내가 이해하는 바에 따라 불가능합니다(

"비활성화" 또는 "클릭 불가"는 무엇을 의미합니까? 그리고 요점이 무엇입니까?

버튼이 눌린 것처럼 보이게 하려면 해당 줄에 true 대신 false를 입력하고 해당 줄을 삭제합니다.

         ObjectSetInteger ( 0 , "Button 3" , OBJPROP_STATE , true );

라인을 만들기 전에 ...

 
Alexey Viktorov :

"비활성화" 또는 "클릭 불가"는 무엇을 의미합니까? 그리고 요점이 무엇입니까?

버튼이 눌린 것처럼 보이게 하려면 해당 줄에 true 대신 false를 입력하고 해당 줄을 삭제합니다.

라인을 만들기 전에 ...

 OBJPROP_STATE , true

이것은 눌린 버튼의 모습입니다

귀찮게하지 마십시오 ... 더 이상 관련이 없습니다.

고맙습니다.