错误、漏洞、问题 - 页 30

 
fvdtrejder:

和上面一样,不需要附上截图,因为在启动mt5setup.e[e]后,程序立即飞走了,并说设置错误。

我把程序下载到我的上网本,程序正在运行,我不明白哪里出了问题。

你有杀毒软件或防火墙吗(任何网络和杀毒软件保护)?如果是这样,哪一个...
 

我在图表上放了一个自定义指标-->

它画的是 -->

从图表中删除它 -->

它消失了 -->

把它放回图表上 -->

而当我再次调用该指标时,沉默没有重绘?????????????。

虽然有时没有加载(在一般情况下,浮动的故障),但指标是附加的

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_plots   1
//--- plot LRma
#property indicator_label1  "LRma"
#property indicator_type1   DRAW_LINE
#property indicator_color1  Red
#property indicator_style1  STYLE_SOLID
#property indicator_width1  1
input string             symbol      ="EURUSD";
input int                MA_Period   =25;          // период MA
input int                MA_shift    =0;           // сдвиг индикатора
input ENUM_APPLIED_PRICE price       =PRICE_OPEN;  // тип цены 
//--- indicator buffers
double  LRma[],L[],S[],iPoint,iiMA;

int Lwma,Sma;// Хендлы машек
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   SetIndexBuffer(0,LRma,INDICATOR_DATA);
   SetIndexBuffer(1,L,INDICATOR_DATA);
   SetIndexBuffer(2,S,INDICATOR_DATA);
   Lwma=iMA(symbol,0,MA_Period+1,MA_shift,MODE_LWMA,price);
   Sma=iMA(symbol,0,MA_Period+1,MA_shift,MODE_SMA,price);
   iPoint=1.0/SymbolInfoDouble(symbol,SYMBOL_POINT);
   iiMA=1.0/MA_Period;
   IndicatorSetString(INDICATOR_SHORTNAME,"LRma_symbol_"+symbol);
//---
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration 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[])
  {
//---
   int count=rates_total-prev_calculated;
   if(count==0)count=1;
   if(CopyBuffer(Lwma,0,0,count,L)!=-1)
     {
      if(CopyBuffer(Sma,0,0,count,S)!=-1)
        {
         for(int i=0;i<count;i++)
            LRma[i]=(L[i]-S[i])*6*iPoint*iiMA;
        }
     }
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+
附加的文件:
 
Interesting:
你有防病毒或防火墙(任何网络和防病毒保护)吗?如果是这样,哪一个...
 
fvdtrejder:
有网络博士,我把它关掉了,还是一样的。
 

还有这个垃圾代替了Cntl+T工具条上的[专家]按钮


 
Urain:

我在图表上放了一个自定义指标-->

它画的是 -->

将其从图表中删除

它消失了 -->

把它放回图表上 -->

并在重新调用指标时沉默不语 ?????????????

SZS虽然有时没有加载(在一般情况下,浮动故障),但指标是附加的


再来,再来。在参数中写一个符号是什么意思(而忘记在指标主体中正常处理它)。

在初始化块中用一个无赖处理了这个参数,然后用它做什么是个问题......。


首先,我建议你把初始化块中的几行改为

//--- indicator buffers mapping
   SetIndexBuffer(0,LRma,INDICATOR_DATA);
   SetIndexBuffer(1,L,INDICATOR_DATA);
   SetIndexBuffer(2,S,INDICATOR_DATA);

   Lwma=iMA(symbol,Period(),MA_Period+1,MA_shift,MODE_LWMA,price);
   Sma=iMA(symbol,Period(),MA_Period+1,MA_shift,MODE_SMA,price);

   iPoint=1.0/SymbolInfoDouble(symbol,SYMBOL_POINT);
   iiMA=1.0/MA_Period;
   IndicatorSetString(INDICATOR_SHORTNAME,"LRma_symbol_"+symbol);
//---

然后再想想你的计算器里发生了什么...


PS

在任何情况下,如果你想表示当前的时间框架,最好使用PERIOD_CURRENTPeriod()。

 
Urain:

我在图表上放了一个自定义指标-->

它画的是 -->

从图表中删除它 -->

它消失了 -->

把它放回图表上 -->

并在再次调用指标时沉默不画 ?????????????

然而,有时它无法加载(一般来说,浮动故障),指标被连接到


我的自定义指标工作稳定,没有故障。

我只有一个用于指标计算的缓冲区,但我有三个绑定。我想知道这是否是原因。

#property indicator_buffers 1
#property indicator_plots   1
   SetIndexBuffer(0,LRma,INDICATOR_DATA);
   SetIndexBuffer(1,L,INDICATOR_DATA);
   SetIndexBuffer(2,S,INDICATOR_DATA);
 
Interesting:

我们又来了。在你的参数中写上我们使用什么符号(而忘记在指标正文中正常处理),有什么多余的?

在初始化块中用一个无赖处理了这个参数,然后用它做什么是个问题......。


首先,我建议将初始化块中的几行改成这样

然后再想一想,计算器的指标是怎么回事......。
我有点疑惑,我没有发现我的代码和你建议的有什么不同。
 
DC2008:

我有一个稳定和无故障的操作你的指标。

为什么只声明了一个缓冲区用于计算指标,却链接了三个缓冲区?也许这就是原因所在?

也许吧,但有时它是有效的,尽管当我设置3时,我得到3个短名称的值,而我只需要一个主缓冲区。
 
Urain:
我有点困惑,我找不到我的代码和你建议的代码之间有什么区别。

那里不是初始化的问题。而且这甚至不是关于那两行导致的Mashkeh。

即使我们假设那里真的需要SIMON参数(我个人对此表示怀疑),缓冲区的工作也很蹩脚,而关于计算器块,我甚至不谈......

原因: