[存档!]任何菜鸟问题,为了不给论坛添乱。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 2. - 页 509

 
在这里。
int X=0;
double S = 0.0000;
extern double       lot=0.1;
extern double       koef=1.5;
extern int       SL=10;
extern int       TP=10;
double dl;
double a;

int init()
  {
  a=lot;
   return(0);
  }

int deinit()
  {

   return(0);
  }


int start()
 {   
               
              
              
                S=Open[0];
                Sleep(1000);
                
             
             if(OrdersTotal() == 0 && X==1)
              { 
              if (Close[0]>dl){lot=a;}
              X=0;
              }
              
              if(OrdersTotal() == 0 && X==2)
              { 
              if (Close[0]<dl){lot=a;}
              X=0;
              }
                
             
             
 
                   if (OrdersTotal() == 0 && Close[0]>S && Close[1]>Open[1]) 
                           {
                            dl=Close[0];
                            OrderSend(Symbol(),OP_BUY,lot,Ask,3,Ask-SL*0.0001,Ask+TP*0.0001,"",14774,0,Blue); 
                            lot=lot*koef;
                            X=1;            
                           }
                   
                    if(OrdersTotal() == 0 && Close[0]<S && Close[1]<Open[1]) 
                           {
                            dl=Close[0];
                            OrderSend(Symbol(),OP_SELL,lot,Bid,3,Bid+SL*0.0001,Bid-TP*0.0001,"",14774,0,Red); 
                            lot=lot*koef;
                            X=2;
                           }

   return(0);
 }
似乎已经做了一切应该做的事。
 
你好,请你告诉我,在脚本中测试策略时,是否可以使用生成的报告中的数值。例如,在报告标签中显示的利润。
 
ALigarx:
在这里,我认为我已经做了一切应该做的事情。
我想这足以让我们换掉这些线
OrderSend(Symbol(),OP_BUY,lot,Ask,3,Ask-SL*0.0001,Ask+TP*0.0001,"",14774,0,Blue);

и

OrderSend(Symbol(),OP_SELL,lot,Bid,3,Bid+SL*0.0001,Bid-TP*0.0001,"",14774,0,Red); 
 

专业的帮助。

需要一个函数来计算平均点差,例如1分钟前、3分钟前和5分钟前。 谢谢。

 
T-G:

专业的帮助。

需要一个函数来计算平均点差,例如1分钟前、3分钟前和5分钟前。 谢谢。


为了计算它,它也需要被储存。
 
Vinin:

为了计算它,它也必须被储存。
对于3-5分钟,你也可以把它存储在变量中。你可以把每分钟算作最大-最小的平均值,然后把它存储在重新测量的1分钟的平均值中,或者存储在一个数组中。
 
T-G:
对于3-5分钟,你也可以用变量来做。把每分钟算作最大-最小的平均数,然后把它储存在1分钟的超量平均数里,或者储存在一个数组里。

这已经存在了很长时间。而且是在论坛上
 
Vinin:
这已经存在了很长时间。论坛上也有过。
可以把它作为一个基础。
附加的文件:
 

下午好。

给新手的一个建议。

有这样一个剧本。

#property indicator_chart_window    // Индик. рисуется в основном окне
#property indicator_buffers 1       // Количество буферов
#property indicator_color1 Blue     // Цвет первой линии

double Buf_0[];     // Открытие индикаторных массивов
//--------------------------------------------------------------------
int init()                          // Специальная функция init()
  {
//--------------------------------------------------------------------
   SetIndexBuffer(0,Buf_0);         // Назначение массива буферу
   SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);// Стиль линии
//--------------------------------------------------------------------
   return;                          // Выход из спец. ф-ии init()
  }
//--------------------------------------------------------------------
int start()                         // Специальная функция start()
  {
   int i,                           // Индекс бара
       Counted_bars;                // Количество просчитанных баров 
   double Arr_1[9999], temp_A;
//--------------------------------------------------------------------
   Counted_bars=IndicatorCounted(); // Количество просчитанных баров 
   i=Bars-Counted_bars-1;           // Индекс первого непосчитанного
   while(i>=0)                      // Цикл по непосчитанным барам
     {
      Buf_0[i]=High[i];             // Значение 0 буфера на i-ом баре
      Arr_1[i]=Close[i]-Open[i];
      Alert(Arr_1[i]);
      i--;                          // Расчёт индекса следующего бара
     }
   ArraySort(Arr_1,WHOLE_ARRAY,0,MODE_DESCEND);
   temp_A=Arr_1[0];
   Comment(DoubleToStr("temp_A",8)," - ", Counted_bars);
//--------------------------------------------------------------------
   return;                          // Выход из спец. ф-ии start()
  }
//--------------------------------------------------------------------

为什么Comment()中的temp_A输出为0.00000000,而循环中的Alert(Arr_1[i])却输出正常?

 

我如何以编程方式请求下载/更新时间表?