新人对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:00 GMT+3。我把LeManTrend_Indicator.mq5指标翻译成第四版.mq4。

你建立了指标吗?我建立了它,它似乎是相同的 - 我只需要下载这个指标https://www.mql5.com/ru/code/9096

大脑趋势1Sig LeManTrend

LeManTrend
LeManTrend
  • www.mql5.com
Индикатор определяет положение тренда на основе текущей цены и максимальных и минимальных цен за три периода.
附加的文件:
 
MakarFX:
我做了,但

在按下时仍会发生变化

到目前为止,我是这样解决的。

一般的问题是什么?

 
Alexey Viktorov:

一般的任务是什么?

当你点击按钮时,该对象被创建,按钮收到
ObjectSetInteger(0,"Button 3",OBJPROP_STATE,true);

如果有一个物体,你按下按钮,它就会得到

OBJPROP_STATE,false

而且只要图表上有一个对象,你就需要保持它是真的

 
MakarFX:
当按钮被点击时,该对象被创建,按钮收到 。

如果有一个物体,你按下按钮,它就会得到

并保持其真实性 ,只要图表上有一个对象。

然后在画图前将属性返回即可

   //--- обработка кнопки Создать трендовую линию 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",然后删除这一行。

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

其中在创建线...

 
Alexey Viktorov:

你说的 "不活动 "或 "不能点击 "是什么意思?而这有什么意义呢?

如果你想让按钮有被点击的感觉,那么就在这一行填上 "true",然后删除这一行。

这是在创建线之前...

OBJPROP_STATE,true

这是该按钮的按下的样子...

不用麻烦了......这已经没有意义了。

谢谢你。

原因: