来自一个 "傻瓜 "的问题 - 页 242

 
lazarev-d-m:
我们不是灵媒,说明信号,第一个假设是信号是针对MT5的,而你注册的是MT4客户。
该信号似乎适用于mt4。

撇开1个点

 
Vitek87:
该信号似乎适用于mt4。

撇开1个点

是的,应该这样,信号有24个用户,你有足够的钱进行交易吗,也许比例不对?
 
lazarev-d-m:
是的,我应该这样做,信号有24个用户,你有足够的钱来进行交易吗,也许比例是错的?
你能告诉我至少应该是什么比例吗?
 
Vitek87:
你能告诉我最低比例应该是多少吗?

如果你订阅了该信号,要开出0.01手的交易量,你必须有大约3600美元 :)

而这是在存款的最大(95%)负荷下。

类似这样的事情。

 
Contender:

以0.01手的交易量开仓,如果你订阅了该信号,你应该有大约3600美元 :)

而这是在存款的最大(95%)负荷下。

类似这样的事情。

谢谢你的好意。
 

你能告诉我什么是错的吗?

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_plots   1
//--- plot Deviation
#property indicator_label1  "Deviation"
#property indicator_type1   DRAW_LINE
#property indicator_color1  clrRed
#property indicator_style1  STYLE_SOLID
#property indicator_width1  1
//--- indicator buffers
double         Buffer[];

input int period=2;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
   SetIndexBuffer(0,Buffer,INDICATOR_DATA);
   return(0);
  }
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 start=0;
   if(prev_calculated>0) start=prev_calculated-1;
   for(int i=start;i<rates_total;i++)
     {
     Buffer[i]=0;
     double Buf[];
     for(int q=i;q>i-period;q--)
      {
      Buf[q]=MathMax(MathMax(MathAbs(open[i-q]-high[i-q]),MathAbs(open[i-q]-low[i-q])),MathAbs(open[i-q]-close[i-q]));
      Print(q);
      Buffer[i]=Buffer[i]+Buf[q];
      }
     
     }
   return(rates_total);
  }

在最长的一行中,Buf[q]莫名其妙地跑到了数组 之外,这怎么可能,它是无维的,不是吗?

2013.02.20 13:12:48 Deviation 2 (EURUSD,H1) array out of range in 'Deviation 2.mq5' (61,10)

 
lazarev-d-m:

你能告诉我什么是错的吗?

在最长的一行中,Buf[q]不知为何超出了范围,怎么会是无量纲的呢?

2013.02.20 13:12:48 Deviation 2 (EURUSD,H1) array out of range in 'Deviation 2.mq5' (61,10)

这就是为什么它是无尺寸的。

在使用它之前,我们必须用ArrayResize()设置其大小。

 
kPVT:

这就是为什么它是无尺寸的。

你必须在使用ArrayResize()来确定其大小。

我认为在这种情况下,你不能设置最终值,缓冲区的体积应该等于实际的rate_total,但体积不能用变量来设置。
 

一个数组不能是无限的。

迅速看了一下,在算法上有一些错误,例如这里。

for(int q=i;q>i-period;q--)

数组 q的索引 变为负数。

Документация по MQL5: Основы языка / Переменные
Документация по MQL5: Основы языка / Переменные
  • www.mql5.com
Основы языка / Переменные - Документация по MQL5
 
lazarev-d-m:
我认为在这种情况下,你不能设置最终值,缓冲区的体积应该等于实际的Rates_total,但体积不能通过变量来设置。
使ArrayResize(Buf, rates_total)。