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

 

大家好。

为了在H1上测试该策略,我需要获得前一天的收盘价。

在指标中,我写了以下内容(在OnInit()中声明 "CloseLine "后)。:


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[])

{

Close_Day=iClose("EURUSD",PERIOD_D1,1)。

ObjectSet("CloseLine",OBJPROP_PRICE1, Close_Day)。

return(rate_total)。

}

因此,第TF天的价格没有改变,线也没有重新排列。

请帮助。

谢谢你

 

你好,有一个关于四人组的问题,写在五人组上。谁知道如何告诉我...

通过一个指标写入和读取刻度线。

https://www.mql5.com/ru/forum/6343/page400#comment_1768141

从上一页开始--无法超越iMAOnArray。

 
Pokrov:
大家好,是用一个周期来做所有的事情好,还是用几个周期来分块好? 是EA性能的问题还是没有区别?

在循环中,你可以有一些区块,例如挂单 分析区块、市场分析区块、双向运动区块。

for(int i=OrdersTotal()-1; i>=0; i--)
   {
      if(!OrderSelect(i,SELECT_BY_POS)) 
      {
         Print("OrderSelect( ",i," ) - Error #",GetLastError());
         continue;
      }
      if(OrderSymbol() != SymbolsArray[symNo])          continue;
      if(OrderMagicNumber() != Expert_ID) continue;
      if(OrderType()>3){  } //StopOrder
      if(OrderType()<2){  } //MarketOrder
   }
 
Rattnik:

大家好。

为了在H1上测试该策略,我需要获得前一天的收盘价。

在指标中,我写了以下内容(在OnInit()中声明 "CloseLine "后)。:


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[])

{

Close_Day=iClose("EURUSD",PERIOD_D1,1)。

ObjectSet("CloseLine",OBJPROP_PRICE1, Close_Day)。

return(rate_total)。

}

因此,第TF天的价格没有改变,线也没有重新排列。

请帮助。

谢谢你

你确定每次打勾都要找出昨天的条款是有意义的吗? 也许最好是找出值是否发生了变化,只有当它发生了变化,然后调用ObjectSet,如果失败了就进行处理?
 
晚上好,如果有人有一个指标,可以计算出蜡烛中的刻度数,是在蜡烛上方还是下方的数字。
 
roma1984:
晚上好,你是否有一个指标可以计算出蜡烛图中的点数,特别是蜡烛图上方或下方的数字?
该指标不显示蜡烛的点数。 它只有没有数字,你可以通过按ctrl+D并将鼠标悬停在蜡烛上查看。
 
danik:
在MT4中,有交易量。它们不是来自交易所,是tick volume,即显示蜡烛中的ticks数量。然而,没有数字,你可以通过按ctrl+D并将鼠标移到蜡烛上看到数字。
谢谢你的提示,但这有点不方便
 
tatianati:

你好,请帮助。

寻找平等,第一条的低点,从第五条开始的20条的最高价格。

我把箭头放在第一条上。

尝试 ,像这样

并没有把它摆正。

这个怎么样?

if(MathAbs(iHigh(NULL,0,iHighest(NULL,0,MODE_HIGH,K_Bars,i+5))-lowr) < n*Point) //примерно равно)))

变量也需要被初始化。

 
tatianati:

你需要的正是E,它是一个范围--大约是

我在想,对于指标来说,我是否要从第5条到第20条寻找

搜索是正确的,但范围是不正确的。最好是将差异的模数与某个设定的数字进行比较。

这就对了。

if(MathAbs(iHigh(NULL,0,iHighest(NULL,0,MODE_HIGH,K_Bars,i+5))-lowr) < n*Point) // разница меньше п пунктов
 
而如果零条无处涉及,从1开始循环是有意义的,那么就不需要写[i+1]。