[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 5. - 页 110

 
sergeev:

这与论坛有什么关系?

当然是在订单队列中。


谢谢你的合理回答
 
Server:

谢谢你的合理回答

甚至更容易理解。

你组织了一次公开职位 的列举。你按符号、类型和魔术师来过滤它们。如果所选位置的利润对应于拖网的触发标准--将该位置的停止点移至指定水平,不要忘记对这些行动的正确性进行所有检查。

我已经解决了我的问题...下一步...:)

 
alsu:



谢谢你关于CCI与零交叉的答复。
 
MK07:

谢谢你关于CCI与零交叉的答复。

已经向你展示了如何计算CCI交叉点。

//+------------------------------------------------------------------+
//|                                                    count bar.mq4 |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2012,mario"
#property link      ""

datetime TimeStart = 0;
//+------------------------------------------------------------------+
int init(){return(0);}
int deinit(){Comment("");return(0);}
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
   int f;
   double   MyPoint = 0.0001;
   bool     cu1     = false;
   bool     cu2     = false;
   double   ma_1    = iMA(NULL,0,31,0,MODE_SMA,PRICE_OPEN,0);
   double   ma1     = iMA(NULL,0,11,0,MODE_SMA,PRICE_OPEN,0);
   double   ma_2    = iMA(NULL,0,31,0,MODE_SMA,PRICE_OPEN,1);
   double   ma2     = iMA(NULL,0,11,0,MODE_SMA,PRICE_OPEN,1);
//Уточнение-при кое събитие ще запомни датата-пресичането
//Уточняем,когда запомнит время пересечения
   if(ma2<ma_2 && ma1>ma_1)
      TimeStart=Time[0]; 
   if(ma2>ma_2 && ma1<ma_1)
      TimeStart=Time[0];
//Кога е истината
//Когда истина
   if(ma1>ma_1)
      cu1=true;
   if(ma1<ma_1)
      cu2=true;
//Шифтвам до датата-когато има истина
//Шифт до дата истини
   if(cu1==true || cu2==true)  
      int b1=iBarShift(Symbol(), PERIOD_H1, TimeStart);      
      int b2=iBarShift(Symbol(), PERIOD_H1, TimeCurrent());
//Преброяване на баровете-от нулевия до последната дата
//Пересчитаем бари от нуля до последная дата
    for(int j=b2;j<=b1;j++){
         f=b1-b2;
      }
      
   Comment("\nВреме на брокера: ",TimeToStr(TimeCurrent(),TIME_SECONDS),", Локално време: "+TimeToStr(TimeLocal(),TIME_SECONDS),
             "\nТекущ спред: ",DoubleToStr((Ask-Bid)/MyPoint,1),
             "\n=====================",
             "\n Начална дата:           ",TimeToStr(TimeStart,TIME_DATE|TIME_SECONDS), 
             "\n Брой барове:            ",f,
             "\n=====================" 
             ); 
   return(0);
  }
//+------------------------------------------------------------------+
我认为你将能够从这里处理好它。
 
alsu:

标准供应中的period_converter不合适吗?


当然不是,它不能正确形成周而复始,你用过吗?

同志们,加油,加油!!!。帮助

另一个问题,测试者的缺陷数据错误是什么?测试员最少需要运行多少条,为什么需要这种限制?

这个参数可以被编辑吗?

 
ZZZEROXXX:


当然不是,它不能正确地形成周而复始,你自己使用过吗?

同志们,加油,加油!!!。帮助

另一个问题,测试员的错误是什么?测试仪至少需要多少条才能启动?

把1000万放在设置中!
 
borilunad:
在设置中设置为1000万!

我有一百万,但我发现,如果少于100条,测试仪根本就不测试。那么问题来了,如果遵守了100条规则,为什么不在这100条内测试,而在之后才开始?
 
ZZZEROXXX:

我有一百万,我发现如果少于100条,测试器根本就不测试。那么问题来了:如果遵守了100条规则,为什么不在这100条内测试,而在之后才开始?
1000万条是指测试器模拟滴答的分钟条。而100条-分钟是非常小的,比1分钟图表上的条数还要少。如果从0.00到0.00至少有1440根柱子可以运行,那么测试器就应该可以工作!这可能是最低限度,但你为什么需要它?你想在一个短的部分进行测试吗?但你不能按小时设置测试,只能按日期、整日设置。在你的情况下,我理解。
 

这就是指标的功能。

//+-------------------------------------------------------------------------------------+
//| Определение индекса бара, с которого необходимо производить перерасчет              |
//+-------------------------------------------------------------------------------------+
int GetRecalcIndex(int& total)
{
   int counted_bars = IndicatorCounted();          // Сколько баров уже посчитано
   total = Bars - 1;                               // Определение первого бара истории
   if (indBarsCount > 0 && indBarsCount < total)   // Если не нужно рассчитывать всю..
      total = indBarsCount;                        // ..историю, то начнем с указанного..
                                                   // ..бара - indBarsCount
   if (counted_bars == 0)                          // Кол-во посчитанных баров - 0. 
   {
      DeleteAllObjects();                          // Не забудем удалить все созданные..
                                                   // ..объекты
      return(total);                               // Нужно пересчитать всю историю
   }
   return(Bars - counted_bars - 1);                // Начинаем с первого непосчитанного..
                                                   // ..бара
}

有一件事我不明白。通常他们会像这样检查未计算的条数。

条数 - 已计算的条数

其本质如下。例如,我们有500 条。也有500 人被计算在内。函数执行后,它将返回500-500-1=-1。这是否正常?

如果最后不是-1,就会返回0,即所有的条形图都被计算。如何理解这一点呢?

 
hoz:

这就是指标的功能。

有一件事我不明白。通常他们会像这样检查未计算的条数。

条数 - 已计算的条数

其本质如下。例如,我们有500 条。也有500 人被计算在内。函数执行后,它将返回500-500-1=-1。这是否正常?

如果最后不是-1,就会返回0,即所有的条形图都被计算。如何理解这一点呢?

零条不能被 "计算",因为它还没有完成。