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

 

你好!

我在请求专业人士的帮助。

请告知如何实现在出现新的蜡烛 后重新画线的功能,以及不同的时间段。

该指标的想法非常简单--它看的是前一根蜡烛的高点和低点,在高点和低点上各加50点。

谢谢你。

附加的文件:
help.mq4  1 kb
 
Zhunko:
图书馆。图书馆里有这方面的一切。第4.3和4.6节。


瓦迪姆:轶事。

动物技术员用注射器给奶牛授精后离开。 一个美丽的女人在出口处等待,并要求得到一个吻。

 
neon51r:

你好!

我在请求专业人士的帮助。

请告知如何实现在出现新的蜡烛后重新画线的功能,以及不同的时间段。

该指标的想法非常简单--它看的是前一根蜡烛的高点和低点,在高点和低点上各加50点。

谢谢你。



这是在教科书上看到的。

//--------------------------------------------------------------------
// userindicator.mq4 
// Предназначен для использования в качестве примера в учебнике MQL4.
//--------------------------------------------------------------------
#property indicator_chart_window    // Индик. рисуется в основном окне
#property indicator_buffers 2       // Количество буферов
#property indicator_color1 Blue     // Цвет первой линии
#property indicator_color2 Red      // Цвет второй линии
 
double Buf_0[],Buf_1[];             // Объявление массивов (под буферы индикатора)
//--------------------------------------------------------------------
int init()                          // Специальная функция init()
  {
   SetIndexBuffer(0,Buf_0);         // Назначение массива буферу
   SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);// Стиль линии
   SetIndexBuffer(1,Buf_1);         // Назначение массива буферу
   SetIndexStyle (1,DRAW_LINE,STYLE_DOT,1);// Стиль линии
   return;                          // Выход из спец. ф-ии init()
  }
//--------------------------------------------------------------------
int start()                         // Специальная функция start()
  {
   int i,                           // Индекс бара
       Counted_bars;                // Количество просчитанных баров 
//--------------------------------------------------------------------
   Counted_bars=IndicatorCounted(); // Количество просчитанных баров 
   i=Bars-Counted_bars-1;           // Индекс первого непосчитанного
   while(i>=0)                      // Цикл по непосчитанным барам
     {
      Buf_0[i]=High[i]+50*Point;             // Значение 0 буфера на i-ом баре
      Buf_1[i]=Low[i]-50*Point;              // Значение 1 буфера на i-ом баре
      i--;                          // Расчёт индекса следующего бара
     }
//--------------------------------------------------------------------
   return;                          // Выход из спец. ф-ии start()
  }
//---------------------------------------------------------------------
 

语法方面的帮助

int k=OrdersTotal();

//+--如果没有订单,则设置订单
if (k==0) {OrderSend(Symbol(),OP_BUYSTOP,v,PriceBs+Tp*Point,0,Sl,PriceBs+2*Tp*Point,NULL,mn,0,Red)

OrderSend(Symbol(),OP_SELLSTOP,v,PriceSs-Tp*Point,0,Sl,PriceSs-2*Tp*Point,NULL,mn,0,Gold) ; } }


两个订单都要下还是只下一个?

如果没有订单,我需要猫头鹰下两个待定订单

 
sdm:

...

两个认股权证都要放置还是一个?



将有0、1或2个订单。
 
neon51r:

你好!

我在请求专业人士的帮助。

请告知如何实现在出现新的蜡烛后重新画线的功能,以及不同的时间段。

该指标的想法非常简单--它看的是前一根蜡烛的高点和低点,在高点和低点上各加50点。

谢谢你。


新的蜡烛 一到,它就会自己重新绘制。

 
Integer:

它将是0、1或2个订单。

在没有订单的情况下,它需要把两个订单放在一起。

我不明白它是如何工作的。 根据教程,它看起来会下第一笔订单,只有在有订单的情况下才会下第二笔订单,但如果条件得到满足,我应该如何让它同时下两笔订单,如果条件没有得到满足,则不下订单?

 
sdm:

我需要它在没有订单的情况下下达两个订单

我不明白它是如何工作的,如果在教程中看起来它将下第一笔订单,只有在有订单的情况下才下第二笔,但我应该如何使它在满足条件的情况下同时下订单,而在不满足条件的情况下不下订单呢?


条件没问题,两个请求都会被设置,但没人能保证它们都会被执行。
 

int x=0, a=0, b=0

如果(x==0){

}

我应该在括号里写什么,以便使a取值为1,b取值为1?

 
sdm:

int x=0, a=0, b=0

如果(x==0){

}

我应该在括号里写什么,以便使a取值为1,b取值为1?


最简单的方法是写{a=1; b=1},但如果你真的想,你可以发明一些漂亮的多页公式来计算它们。