[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. - 页 143

 
BooGUY:

在一个分形上!我试着用止损--它正在失去,我想用分形的止损来试试,但我不知道如何在条件中写出它。或者在EA中如何写,我已经写了一个进入条件,类似这样的条件

如果(iOpen(NULL,PERIOD_H1,1)<iClose(NULL,PERIOD_H1,1)&&)

iOpen(NULL,PERIOD_M30,1)<iClose(NULL,PERIOD_M30,1)&&

iOpen(NULL,PERIOD_M15,1)<iClose(NULL,PERIOD_M15,1)&&

iOpen(NULL,PERIOD_M5,1)<iClose(NULL,PERIOD_M5,1)

{...???

}


我怀疑从你的代码来看,对话是关于分形的。一些开盘价收盘价 在4个时期。
 
BooGUY:

在一个分形上!我试着用止损--它正在失去,我想用分形的止损来试试,但我不知道如何在条件中写出它。或者在EA中如何写,我已经写了一个进入条件,类似这样的条件

如果(iOpen(NULL,PERIOD_H1,1)<iClose(NULL,PERIOD_H1,1)&&)

iOpen(NULL,PERIOD_M30,1)<iClose(NULL,PERIOD_M30,1)&&

iOpen(NULL,PERIOD_M15,1)<iClose(NULL,PERIOD_M15,1)&&

iOpen(NULL,PERIOD_M5,1)<iClose(NULL,PERIOD_M5,1)

{...???

}

为了测试该策略,你可以通过分形找到一个追踪止损功能,并将其纳入你的EA中,这对你来说比较容易。或者你可以自己写。

该功能将把每个打开位置的止动器移动到设置中所设定的必要分形。然后,根据测试结果,我们已经可以考虑是否应该使用这种拖网,或者在价格达到分形水平时关闭 市场头寸。这两件事都不是一件容易的事。

标准函数 iFractals() 将帮助你。它返回发现分形的价格,如函数参数中所指定。

 

请帮助我,我的指标在一个小时的时间框架上测量当前小时的最大分钟运动,前6个小时(小节)它充分测量了一切,然后开始在代码本身和指标下面出现一些非法值,告诉我哪里出错了,虽然我不关心超过3个小节的值,但我担心错误可能发生在第一个小节。

#property indicator_separate_window
#property indicator_buffers 1       // Количество буферов
#property indicator_color1 Blue     // Цвет первой линии
#property indicator_minimum 0
#property indicator_maximum 25
double Buf_0[];             // Объявление массивов (под буферы индикатора)
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
SetIndexBuffer(0,Buf_0);         // Назначение массива буферу   
SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);// Стиль линии 
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
//----
int i;                           // Индекс бара       
int Counted_bars;                // Количество просчитанных баров
int m;
int MaxSpeed;
int Speed; 
//--------------------------------------------------------------------   
Counted_bars=IndicatorCounted(); // Количество просчитанных баров    
i=Bars-Counted_bars-1;           // Индекс первого непосчитанного   
while(i>=0)                      // Цикл по непосчитанным барам     
 {
 
 MaxSpeed=0;
 if (Period()==PERIOD_H1)
  {
  m=59;
  while (m>=0)
   {
   Speed=(iOpen(Symbol(),PERIOD_M1,m+60*i)-iClose(Symbol(),PERIOD_M1,m+60*i))/Point;
   if (MaxSpeed<Speed)
    {
    MaxSpeed=Speed;
    }
   m--;
   }
  }
 if (Period()==PERIOD_M1)
  {
  m=0;
  while (m>=0)
   {
   Speed=(iOpen(Symbol(),PERIOD_M1,m+i)-iClose(Symbol(),PERIOD_M1,m+i))/Point;
   if (MaxSpeed<Speed)
    {
    MaxSpeed=Speed;
    }
   m--;
   }
  }      
 Buf_0[i]=MaxSpeed;             // Значение 0 буфера на i-ом баре      
 i--;                          // Расчёт индекса следующего бара     
 }   
//----
   return(0);
  }
//+------------------------------------------------------------------+
我想我在第一条上可能有一些错误。
附加的文件:
speed.mq4  3 kb
 
很多很多的MASD,也许有人知道在哪里可以弯曲这些????。
 
LazarevDenis:

请帮助我,我的指标在一个小时的时间框架上测量当前小时的最大分钟运动,前6个小时(小节)它充分测量了一切,然后开始在代码本身和指标下面出现一些非法值,请告知我哪里出错了,虽然我不关心超过3个小节的值,但我担心错误可能发生在第一个小节。

我原来有一个不同的指示器,我把它拆开并 "焊接 "了我的代码


你想得到什么?
 

Vinin:

你想得到什么?


我想让指标在分钟条中显示iOpen-iClose的最大值,但对于HOUR来说,例如一小时的59分钟条iOpen-iClose=3(例如),一分钟条iOpen-iClose=10,在一小时的时间框架上,它必须显示10,没有任何偏差,我需要指标关闭订单,如果突然,超过一分钟的速度在错误的方向上过快,那么顾问将是一个关闭信号。

这是它的第一个版本,以后我希望它能够检测到价格的走向。

 

如果你点击一个图形对象,例如一条水平线,你可以在打开的窗口中看到一个 "描述"。

- 有没有可能从代码中添加一个 "描述"?

谢谢你!

 
chief2000:

如果你点击一个图形对象,例如一条水平线,你可以在打开的窗口中看到一个 "描述"。

- 有没有可能从代码中添加一个 "描述"?

谢谢你!

https://docs.mql4.com/ru/objects/ObjectSetText
 

这正是我所需要的!谢谢你!

 

拉扎列夫-丹尼斯

最初的计数是59条,这是不正确的。分钟数可能有差距,最后一个小时条可能包含较少的分钟数。

你应该取小时条的开盘和收盘时间(Time[i])。用这个时间来计算iBarShift分钟的偏移量,然后在这个偏移量的范围内计算出最大值。

顺便问一下,指标在一分钟时间内应该显示什么?

如果数字是正的,价格就会上升,如果数字是负的--就会下降,返回数字的模数将显示运动的强度。