请帮助我把买入和卖出箭头放在这个代码上。

 

请我如何在下面的代码中显示买入和卖出的箭头,请有人帮助我。

for (int i = 5; i > 1; i--)

{

if(Close[i] > Open[i]) { COUNT = COUNT + 1; }

else{ COUNT = COUNT - 1; }}

如果(EnableBB==True)

{

如果(COUNT == 4 && Close[1] < Open[1])

{ BUYARROW }}

如果(EnableBB==True)

{

if (COUNT == -4 && Close[1] > Open[1])

{ SELLARROW }

}

 

请对我的帖子作出回应。

我需要你的帮助。

 
younghadiz:

请对我的帖子作出回应。

我需要你的帮助。

见帮助中的例子:OBJ_ARROW
 
Karputov Vladimir:
见帮助中的例子:OBJ_ARROW

试图打印的箭头,但都无济于事。

请帮助解决。

这些是下面的代码。

#property indicator_chart_window
#property indicator_buffers 2
#property  indicator_color1 Green
#property  indicator_color2 Red

extern bool Alerts=TRUE;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {

   return (0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int deinit()
  {
   return (0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
   if(Alerts==TRUE)
     {
      if(Close[4]>Open[4] && Close[3]>Open[3] && Close[2]>Open[2] && Close[1]<Open[2])
        {
         string SELLSIGNAL="SELLSIGNAL"+(string)Time[1];
         if(ObjectFind(0,SELLSIGNAL)!=0)
           {
            ObjectCreate(SELLSIGNAL,OBJ_ARROW_DOWN,0,Time[1],Low[1]-(Period()*Point*2));
            ObjectSet(SELLSIGNAL,OBJPROP_WIDTH,5);
            ObjectSet(SELLSIGNAL,OBJPROP_ARROWCODE,242);
            ObjectSet(SELLSIGNAL,OBJPROP_COLOR,Red);
            ObjectSetInteger(0,SELLSIGNAL,OBJPROP_ANCHOR,ANCHOR_TOP);
           }
         else if(Close[4]<Open[4] && Close[3]<Open[3] && Close[2]<Open[2] && Close[1]>Open[2])
           {
            string BUYSIGNAL="BUYSIGNAL"+(string)Time[1];
            if(ObjectFind(0,BUYSIGNAL)!=0)
              {
               ObjectCreate(BUYSIGNAL,OBJ_ARROW_UP,0,Time[1],High[1]+(Period()*Point*2));
               ObjectSet(BUYSIGNAL,OBJPROP_COLOR,clrBlue);
               ObjectSet(SELLSIGNAL,OBJPROP_ARROWCODE,241);
               ObjectSet(BUYSIGNAL,OBJPROP_WIDTH,10);
               ObjectSetInteger(0,BUYSIGNAL,OBJPROP_ANCHOR,ANCHOR_BOTTOM);
              }
           }
        }
     }
//----
   return(0);
  }
//+------------------------------------------------------------------+
 

使用。

//+------------------------------------------------------------------+
//|                                                      ProjectName |
//|                                      Copyright 2012, CompanyName |
//|                                       http://www.companyname.net |
//+------------------------------------------------------------------+

#property indicator_chart_window
#property  indicator_color1 Green
#property  indicator_color2 Red

extern bool Alerts=TRUE;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {

   return (0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int deinit()
  {
   return (0);
  }
//+------------------------------------------------------------------+
//| expert start 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[])
  {
//----
   if(Alerts==TRUE)
     {
      if(Close[4]>Open[4] && Close[3]>Open[3] && Close[2]>Open[2] && Close[1]<Open[2])
        {
         string SELLSIGNAL="SELLSIGNAL"+(string)Time[1];
         if(ObjectFind(0,SELLSIGNAL)!=0)
           {
            ObjectCreate(SELLSIGNAL,OBJ_ARROW_DOWN,0,Time[1],Low[1]);
            ObjectSet(SELLSIGNAL,OBJPROP_WIDTH,5);
            ObjectSet(SELLSIGNAL,OBJPROP_ARROWCODE,242);
            ObjectSet(SELLSIGNAL,OBJPROP_COLOR,Red);
            ObjectSetInteger(0,SELLSIGNAL,OBJPROP_ANCHOR,ANCHOR_TOP);
           }
         else if(Close[4]<Open[4] && Close[3]<Open[3] && Close[2]<Open[2] && Close[1]>Open[2])
           {
            string BUYSIGNAL="BUYSIGNAL"+(string)Time[1];
            if(ObjectFind(0,BUYSIGNAL)!=0)
              {
               ObjectCreate(BUYSIGNAL,OBJ_ARROW_UP,0,Time[1],High[1]);
               ObjectSet(BUYSIGNAL,OBJPROP_COLOR,clrBlue);
               ObjectSet(SELLSIGNAL,OBJPROP_ARROWCODE,241);
               ObjectSet(BUYSIGNAL,OBJPROP_WIDTH,10);
               ObjectSetInteger(0,BUYSIGNAL,OBJPROP_ANCHOR,ANCHOR_BOTTOM);
              }
           }
        }
     }
//----
   return(prev_calculated);
  }
//+------------------------------------------------------------------+

图片。

 

非常感谢先生,但卖出箭头不在信号蜡烛的顶部,而且买入箭头也不起作用,请问我可以用什么来做到这一点。

非常感谢。

 
还有,一旦它在一个时间框架上画了箭头,你移动到另一个时间框架,它仍然会显示箭头,它也会复制它,这不应该是这样的。
附加的文件:
SIGNAL.JPG  173 kb
 
younghadiz:

非常感谢先生,但卖出箭头不在信号蜡烛的顶部,而且买入箭头也没有功能,请问我可以用什么来做。

非常感谢。

让我们的订单:应该在哪里画一个箭头 "下降"?让我们的订单:应该在哪里画箭头"上升"?

请画一张图。

younghadiz:
还有,一旦它在一个时间框架上画了箭头,你移动到另一个时间框架,它仍然会显示箭头,而且还会复制它,这是不应该的。

多少个箭头 "向下"?

多少个箭头 "向上"?

 

我的条件是检查至少3个连续的看涨/看跌的蜡烛,并等待看涨/看跌的蜡烛来吞噬它。一旦吞噬蜡烛在连续蜡烛的最后一个下面/上面关闭,它应该弹出警报并打印/画出箭头。

谢谢你的回答,一旦满足条件,就像下面的附图 一样,它应该在吞噬蜡烛的信号条下面/上面打印/画箭头。

附加的文件:
DRAWN_ARROW.JPG  15 kb
 

有变化的指标。只在网上绘制箭头(我认为在历史上绘制箭头是没有必要的)。

箭头

附加的文件:
Test.mq4  10 kb
 

印象非常深刻,先生,事实上我真的很感激。

但有一点,它是这样的。我在下面附上了2张图片,第一张是1穆尼特时间框架。因此,该指标在1穆尼特时间框架中打印正确的信号,我切换到15穆尼特时间框架,那些在1穆尼特时间框架中打印的箭头出现在15穆尼特时间框架中,这不是应该的,先生。

如果这个问题能得到解决,我将非常高兴。

附加的文件:
1MSIGNAL.JPG  147 kb
15MSIGNAL.JPG  143 kb
原因: