任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 849

 
gince:

为什么会显示错误的对象?它应该是一个指向左边三角形https://docs.mql4.com/ru/constants/objectconstants/arrows 代码3,但出现了一个指向上方的箭头Wingdings代码241。

程序代码(我有ObjectSet(objName, OBJPROP_ARROWCODE, 3);)

更仔细地阅读它。我不记得细节了,但代码3不是 Wingdings的一部分。


ps;以下是说明中的内容。

在为具有DRAW_ARROW风格的 线条设置箭头值时,不能 在自定义指标中使用特殊箭头代码

 
它是一个EA。
AlexeyVik:

仔细阅读。我不记得细节了,但代码3不是 Wingdings的一部分。


ps;以下是说明中的内容

在为具有DRAW_ARROW风格 的线条设置箭头值时,不能 在箭头显示中使用特殊箭头代码

这是一个EA,它有一个功能。

 
gince:
是议员。
这并不重要。
 
AlexeyVik:
这并不重要。

我什么时候可以做呢?

 
gince:
这就是专家顾问。

在同一个顾问中还有第二个功能。那里一切都很好。(ObjectSet(objName, OBJPROP_ARROWCODE, 1);)

void f_ArrowOpen(
                  datetime openTime,
                  int action,
                  double lots,
                  string symb,
                  double openPrice
                  )
{
   color c;
   string op="";
      if(action==1)
      {
         c=Blue;
         op="BUY";
      }
      else if(action==-1)
      {
         c=Red;
         op="SELL";
      }
   // order open arrow name:    #76840865 buy 0.05 EURUSDc at 1.30416

      string objName = StringConcatenate("#", TimeToString(openTime,TIME_DATE|TIME_MINUTES), " ", op, " ", lots, " ", symb, " at ", openPrice);
      ObjectCreate(objName, OBJ_ARROW, 0, openTime, openPrice);
      ObjectSet(objName, OBJPROP_COLOR, c);
      ObjectSet(objName, OBJPROP_ARROWCODE, 1);
      ObjectSetText(objName, "LOT: " + DoubleToStr(lots, 2));
}
//+------------------------------------------------------------------+ 
void f_ArrowClose(
                  datetime closeTime,
                  int action,          //íàïðàâëåíèå
                  double lots,
                  string symb,
                  double openPrice,
                  double closePrice,
                  double profit)
{
      color c;
      string op="";
      if(action==1)
      {
         if(profit>0)c=Blue;else if(profit<0)c=Red;else c=Yellow;
         op="cl_BUY";
      }
      else if(action==-1)
      {
         if(profit>0)c=Blue;else if(profit<0)c=Red;else c=Yellow;
         op="cl_SELL";
      }
      
      string objName = StringConcatenate("#", closeTime, " ", op, " ", lots, " ", symb, " at ", openPrice, " close at ", closePrice);
      ObjectCreate(objName, OBJ_ARROW, 0, closeTime, closePrice);
      ObjectSet(objName, OBJPROP_COLOR, c);
      ObjectSet(objName, OBJPROP_ARROWCODE, 3);
      //ObjectSetText(objName, StringConcatenate("Profit: ", profit));
}
 
请告诉我。专家顾问根据每个柱状图的指标信号进行交易。我应该怎样做才能在每一次打勾 能检查出状况。以下是指标中的条件。
int limit, i;
int counted_bars=IndicatorCounted(); // 已经计算了多少个柱子
if (counted_bars<0) return(-1); // 检查可能的错误
if (counted_bars>0) counted_bars--//计算最后一个计数的条形图
limit=Bars-counted_bars; //从最后一个计数的条形图开始
// - 1 - ============================ 区块结束 ===================================

// - 2 - ======================= 在历史上显示指标 ======================
for(i = limit; i >= 0; i--)
{
FastMA= iMA(NULL, 0, FastMAPeriod, FastMAShift, FastMAMethod, FastMAPrice, i);
SlowMA= iMA(NULL, 0, SlowMAPeriod, SlowMAShift, SlowMAMethod, SlowMAPrice, i);

}
// - 2 - ============================ 块的结束 ===================================

// - 3 - ======================= 信号输出 ========================================
//if (LastBar != Time[0]) // 每条街一次
//{
是这样吗?
 
gince:

在同一个顾问中还有第二个功能。那里一切都很好。(ObjectSet(objName, OBJPROP_ARROWCODE, 1);)

你认为我会说服你,你误解了什么?你最好把时间花在实验上,努力理解你所写的东西。
 

大家下午好。

你能告诉我在OrderSend之前添加什么条件,以便在之前的未结头寸 处于亏损状态时不执行订单吗?这样就不会有平均数了。

 
Craft:

大家下午好。

你能告诉我在OrderSend之前添加什么条件,以便在之前的未结头寸处于亏损状态时不执行订单吗?我想避免平均化。

一般来说,检查的过程是这样的

OrderSelect(ticket,SELECT_BY_TICKET);

if(OrderProfit()<0) { }


而且你可以在括号里放任何你喜欢的东西。例如,我是这样使用的,以使 "马丁 "方法发挥作用)

 
晚上好,请您告诉我该EA是如何工作的。如果我在主函数Start中直接写return,EA会终止吗?提前感谢!
原因: