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

 

你好。

当我在进行镶嵌时(终端MT-4-670,Alt+R),图表窗口每次都被放置在新的地方。

你能告诉我是否有可能将它们固定下来,使每个特定图表在屏幕上的位置保持不变?

 
Shurkin:

你好。

当我在进行镶嵌时(终端MT-4-670,Alt+R),图表的窗口每次都被放置在新的地方。

你能告诉我是否有可能将它们固定下来,使每个特定图表在屏幕上的位置保持不变?



位置取决于应用 "马赛克 "命令时哪个图形处于活动状态。
 
barabashkakvn:


排列方式取决于在应用 "马赛克 "命令时哪一个图形处于活动状态。


这也取决于前面的图形排列。这种依赖性的算法并不完全清楚。
 
Shurkin:


而且这也取决于前面的图表安排。这种依赖性的算法并不完全清楚。

最好是在你需要的时候手动设置一次,它将永远以同样的方式打开,并具有像素精度
 

错误在哪里?

double Level=1.2925;
int i;
double u;
double q=High[1];
double a=Low[1];
for(u=a;u<q;i++)
  {
   u=u+i*Point;
   if(u==Level)
      Alert("Предыдущий бар пересекал уровень");
  }
 
305:

错误在哪里?

如果这段代码被插入到指标中,就不会出现错误。

int OnCalculate (const int rates_total,      // размер входных таймсерий
                 const int prev_calculated,  // обработано баров на предыдущем вызове
                 const datetime &time[],     // Time
                 const double &open[],       // Open
                 const double &high[],       // High
                 const double &low[],        // Low
                 const double &close[],      // Close
                 const long &tick_volume[],  // Tick Volume
                 const long &volume[],       // Real Volume
                 const int &spread[]         // Spread
                 )
  {
   double Level=1.2925;
   int i;
   double u;
   double q=High[1];
   double a=Low[1];
   for(u=a;u<q;i++)
     {
      u=u+i*Point;
      if(u==Level)
         Alert("Предыдущий бар пересекал уровень");
     }
   return(prev_calculated);
  }
 
我有一个简单的脚本,但它没有给出任何结果。警报没有弹出
 
barabashkakvn:


如果你有一个脚本,那么。

double q=High[1]; // массив High не объявлен - компиляции не будет
double a=Low[1];  // массив Low не объявлен - компиляции не будет
你需要声明数组,初始化它们(填入它们)。

从什么时候开始有必要申报标准时间序列?还有,在循环中是否允许双倍 表达式的值,如上面的例子?而这并不是循环的计数器是如何建立的。
 

关于初始化--与 "五 "混淆了。

但你不能直接比较两个双倍类型的值。也许这里有一个错误。实数类型(double, float)。

 
这甚至不是关于类型本身(double, float),而是关于循环的构造。
for(double u=a;u<q; int i++) //i - нигде не инициализирован, всегда ли значение по умолчанию = 0?