新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 741

 
psyman:

对于下一个代码,一个图片的故事。


断开了网络,增加了一个指标

切换到下一个图表


y2的值改变了,我回去了


y2已经返回了它的值,但标记被 "消失 "的值所计算我转动鼠标滚轮。

标记又回到了它的位置上!

当切换到相邻的图形时,所有不活动的窗口都没有扩展到全屏。也就是说,它们比活动状态下要小。因此,物体从图形的左上角 获得较小的坐标。然后,当你激活窗口时,你需要等待图表被刷新或强行刷新。这可以通过滚动滚轮来实现。

 
psyman:

对于下一个代码,一个图片的故事。


断开了网络,增加了一个指标

我切换到下一个图表


y2的值改变了,我回去了


y2已经返回了它的值,但标记被 "消失 "的值所计算我转动鼠标滚轮。

标记又回到了它的位置上!

你可以放弃ChartTimePriceToXY
,并打印
纯文本(OBJ_TEXT)+1-3条的未来,它将一直在你需要的地方)

 
Taras Slobodyanik:

你可以放弃ChartTimePriceToXY
,并打印
纯文本(OBJ_TEXT)+1-3条的未来,它将永远是你想要的地方)

只有当你禁用栏杆向右移动时,文本才会在窗口之外。

这个想法是正确的,但显然经验是非常缺乏的。

 
Alexey Viktorov:

只有当你禁用栏杆向右移动时,文本才会在窗口之外。

这是个好主意,但你可能很没有经验。

好吧,如果你想让标记右转,你可以只取图表上最右边的一条,然后在上面画。

 

下午好。
请您告知如何在EA中创建全局类型的变量,使这些数据在调用新函数时不被清除?

通过.NET调用变量数据。

bool  GlobalVariableGet( string  "name", double "var"  ); // К примеру

其中,然后 "var "可以插入到操作中。

而它们是用函数:

datetime  GlobalVariableSet( 
   string  name,      // имя 
   double  value      // устанавлимое значение 
   );

我只是想了解一切。没有例子,我也不太清楚如果一个是日期时间,另一个是bool,数据将如何工作?没有错误?

 
psyman:

对于下一个代码,一个图片的故事。

断开了网络,增加了一个指标

切换到下一个图表

y2的值改变了,我回去了

y2已经返回了它的值,但标记被 "消失 "的值所计算我转动鼠标滚轮。

标记又回到了它的位置上!

//+------------------------------------------------------------------+
//|                                              !_clr_indicator.mq5 |
//|                        Copyright 2018, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property indicator_chart_window
#property indicator_plots 0

string objname="Bid";
input color Bid_color = clrCrimson;

//+------------------------------------------------------------------+
int OnInit()
  {
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
void OnDeinit(const int reason) 
   { 
   ObjectDelete(0,objname);
   } 
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
{
   SetTXT();
   return(rates_total);
}

//+------------------------------------------------------------------+
void OnChartEvent(const int id,const long &lparam,const double &dparam,const string &sparam) 
{ 
   if(id==CHARTEVENT_CHART_CHANGE) 
      SetTXT();
}

//+------------------------------------------------------------------+
void SetTXT() 
{
int      first_bar=(int)ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0);
int      width_bar=(int)ChartGetInteger(0,CHART_WIDTH_IN_BARS,0);
double   label_price=iClose(_Symbol,_Period,0);
datetime label_time=0;

   if(width_bar>first_bar)
      label_time=iTime(_Symbol,_Period,1)+(width_bar-first_bar)*PeriodSeconds();
   else
      label_time=iTime(_Symbol,_Period,first_bar-width_bar+1);

   if(ObjectFind(0,objname)<0)
      {
      ObjectCreate(0, objname, OBJ_TEXT,0,0,0);
      ObjectSetInteger(0, objname, OBJPROP_FONTSIZE, 12);
      ObjectSetInteger(0, objname, OBJPROP_COLOR, Bid_color);
      ObjectSetString(0, objname, OBJPROP_FONT, "Verdana");
      ObjectSetInteger(0,objname,OBJPROP_ANCHOR,ANCHOR_RIGHT_UPPER);
      ObjectSetInteger(0,objname,OBJPROP_BACK,false);
      ObjectSetInteger(0,objname,OBJPROP_SELECTABLE,false);
      }
   
   ObjectSetString(0,objname,OBJPROP_TEXT,DoubleToString(label_price, _Digits-1)); 
   ObjectMove(0,objname,0,label_time,label_price);
   
   ChartRedraw();
}
 
Taras Slobodyanik:


非常感谢,明天我将想办法取代iTime和iClose,因为我正坐在XP上。

 
祝大家今天愉快
给程序员的问题.
请指教!
有些经纪商不允许我开具有获利价和止损价的订单。

只有一个函数OrderSend()

相反,OrderSend()将打开一个订单,但这个订单中没有止损和盈利价格。

这个订单必须在随后的几行代码中使用OrderModify()进行修改,并在订单中添加止损和利润。


那么问题来了,在买卖的功能中,谁以及如何处理或保险一个案件?
例如,当OrderSend()工作,但OrderModify()由于某些原因没有工作,而
有一个没有止损或利润的未平仓订单?

我将如何为这样的事件投保和/或如何处理它?
请告知。
如果你不知道如何使用阿斯特拉罕,请不要使用阿斯特拉罕的代码。

时间,但我找不到任何相关信息。

我相信盈亏平衡功能有一定的保险性,但只有在价格已经出现亏损的情况下。

如果价格转为亏损,但没有止损?

我非常感谢您的答复
 

大家好!

你能告诉我为什么在EA工作时我不能进入其属性吗?我以前是这样,但现在我无法打开属性。有一次,重启了终端,但一分钟后问题又出现了。专家顾问是新鲜的,终端也是最近在工作。EA属性的问题是什么?

谢谢你!

 
demonRDV:

大家好!

你能告诉我为什么在EA工作时我不能进入其属性吗?我以前是这样,但现在我无法打开属性。有一次,重启了终端,但一分钟后问题又出现了。专家顾问是新鲜的,终端也是最近在工作。EA属性的问题是什么?

谢谢你!

按热键F7 :-)

点击EA的图标并不总是可能的--图标可能被其他对象所覆盖,EA可能超载的消息队列和100500个其他原因。