[存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. - 页 446

 

大家好!

在这里帮我一下。

我写了一个简单的脚本,用于打开一个订单(来自MQL4教程)。

int start()                                  // Спец. функция start()
  {                                          // Открытие BUY
   OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Bid-15*Point,Bid+15*Point);
   Alert (GetLastError());
   return;                                   // Выход из start()
  }

在这个例子中,代码是为仪器提供的,有4位数字。

我有一个公司的账户,点后面有5位数字。

能否请你修改代码,使之成为5位数,为什么脚本运行时显示错误4109(不允许交易)。

 
sss2019: 如果我将数组的类型设置为int,如果我运行每个元素,我可以看到数组的值与计算值一致,但如果类型为Int,窗口中就不会显示指标线。

如果我设置数组类型为double,那么数组就会存储更多的值,我不知道它们来自哪里,例如21456545454,43654534532,24325235232,等等。这与计算值完全不相符。

会有什么问题呢?

你必须吸引心灵感应者。但很有可能问题是实数除以整数时的不一致。
 

你好,能否请你帮我处理一下这个指标。我的想法是,在莫斯科时间段16:00美国时段开盘时,在任何时间段的蜡烛上方都会有一个标记。 我对日期时间函数有疑问,我已经重读了不止一次的教程,看了其他指标,但仍然不明白。

附加的文件:
exfbtix.mq4  2 kb
 
Yulia:

你好,能否请你帮我处理一下这个指标。我的想法是,随着莫斯科时间段16:00美国会议的开幕,在任何时间段的蜡烛上方都会有一个标记。 我对日期时间函数有疑问,我已经读了不止一次的教程,看了其他指标,但还是不明白。


#property indicator_chart_window // указываем, что идикатор будет рисоваться в окне, где рисуется график валютной пары
#property indicator_buffers 1 // сколько линий будет рисовать наш индикатор
#property indicator_color1 Lime // какого цвета будет первая линия 
//---- buffers
double Buffer[];

extern int hour =9;

//+------------------------------------------------------------------+
int init()
{
  SetIndexStyle(0,DRAW_ARROW);
  SetIndexArrow(0,108);
  SetIndexBuffer(0,Buffer);  
return(0);
}
//+------------------------------------------------------------------+
int deinit()
{
return(0);
}
//+------------------------------------------------------------------+
int start()
{

int counted_bars=IndicatorCounted(); // сколько баров уже просчитано для начего индикатора
if(counted_bars<0) return(-1);// проверяем ошибки


int i=0;
    while(i<Bars)
         {
         if(TimeHour(Time[i])==hour)
            {        
            Buffer[i]=High[i]+150*Point;
            }
         
         i++;
         }

return(0);
}
//+------------------------------------------------------------------+

 
 
非常感谢,但有点不对,我只需要在M1,M5等的第一根蜡烛上做标记,当然日线及以上除外。
 
Reshetov:
你将不得不咨询心灵感应者。但很有可能问题在于实数除以整数时的不一致。


以下是代码

int lowsum, highsum;
int Mass1[];
int Mass2[];

                        while(start1 < end1 + 1)
                                {
                                lowsum = lowsum + iVolume(Symbol(), PERIOD_M1, start1);
                                start1++;
                                }
                        while(start2 < end2 + 1)
                                {
                                highsum = highsum + iVolume(Symbol(), PERIOD_M1, start2);
                                start2++;
                                }
                        Mass[i] = lowsum;
                        Mass[i] = highsum;
                        Alert(Mass[i], " ", highsum);

因此,警报器会输出这些信息。

你可以看到这个变量有一个值,但你不能把一个变量的值赋 给一个数组,我不知道问题出在哪里

 
Yulia:
非常感谢,但有点不对,我只需要在M1,M5等的第一根蜡烛上做记号,当然日线及以上除外。

正如你所拥有的,所以它仍然是
 
sss2019:

你可以看到这个变量有一个值,但你不能把一个变量的值赋给一个数组,我不知道问题出在哪里

阵列的大小是多少?
 
sss2019:


以下是代码

因此,警报器会输出这些信息。

你可以看到这个变量有一个值,但你不能把一个变量的值赋给一个数组,我不知道问题出在哪里


你不需要设置阵列的大小 吗?
 
也许我解释错了,你只需要在m1 m5 m15 m30 h1 h4上标记第一根蜡烛,莫斯科时间16:00开始,指标标记(例如在m15上四根蜡烛)。