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

 
我想再一次重复我的观点。
(Low[2]==Low[1])||(Close[2]==Low[1])||(Low[2]==Open[1])
你不能设定这样的条件。这些都是不太可能的事件。
 
atguard:

问题:我如何获得 "移位 "值? (当我调用带移位的指标时,它使用的值与不带移位的相同,即。iCustom(NULL, 0, "name",pam1,0,1)= iCustom(NULL, 0, "name",pam1,0,100),但如果我在100个柱子前调用该指标,它的值将与iCustom(NULL, 0, "name",pam1,0,100)不同。该指标很简单,它使用之前的5个收盘价并取其平均值。



double iCustom( stringsymbol, int timeframe, string name, ..., int mode, intshift)

shift 是你获取指标数据的条形图的编号,零条形图是当前尚未关闭的条形图。该参数被命名为shift,因为它显示了接收到的数据与零条的偏移量,单位为条。

 
silhouette:

我在平仓时使用教程中的Terminal()函数,前提是Mas_Ord_New[0][0]!=0。但在这里我们有另一项任务:我们需要做一个标志,禁止在当前的信号上进行交易,如果有一个订单已经被打开。我正在尝试使用旗帜,但我犯了一个错误。

我想最好是在订单中放一个适当的魔法数字,并检查这样的位置是否在列表中。如果有=标志-真,没有=标志-假。然后在你的信号上开仓 的条件下,插入一个标志,比如说

bool flag_1=true;
int MagNum_1=555;

int start()
{
// ...

if (OrdersTotal()>0)
{  for (int i=OrdersTotal()-1; i>=0; i--)
   {  if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
      {  if (OrderMagicNumber()==MagNum_1)
              flag_1=true;
         else flag_1=false;
}  }  }

if (flag_1==false && /*данное условие открытия позиции*/)
{ OrderSend(..., MagNum_1, ...);
}
//...
}
 
paladin80:

我认为最好是在订单中放入适当的魔法数字,并检查该位置是否在名单上。如果有一个标志--真,没有标志--假。然后,如果一个位置被你的信号打开,插入一个标志,例如


也就是说,如果我理解正确的话,你建议使用几个魔法来对应每种类型的信号?
 
你能告诉我为什么优化器可以计数但不产生结果?日志中没有任何错误。遗传算法 被禁用。优化的时间间隔为5天,模式为所有ticks,周期为任何m1、m5、m15、m30。而只有从H1时期开始,结果才会出现。
 
Desead:
你能告诉我为什么优化器可以计数但不产生结果?日志中没有任何错误。遗传算法被禁用。优化的时间间隔为5天,模式为所有ticks,周期为任何m1、m5、m15、m30。结果只从H1时期开始出现。

在短于H1的时期内,该算法失败。
 
Vinin:

在比H1更短的时期内,骤然下降。
没错!甚至还有一个复选框,我怎么不知道呢)。谢谢。
 
Desead:
你能告诉我为什么优化器可以计数但不产生结果?日志中没有任何错误。遗传算法被禁用。优化的时间间隔为5天,模式为所有ticks,周期为任何m1、m5、m15、m30。而结果只从H1时期开始出现。

如果这个参数组合的收益是负的,则不显示结果。一般来说,5天是一个很短的时间,至少要设置一个月。
 

下午好。你能告诉我吗,我需要的指标不是显示在整个历史上,而是只显示在特定数量的条形图 的边缘。代码。

//+------------------------------------------------------------------+
//| Индикатор арбитражной ситуации для спреда, состоящего            |
//| из 4-х инструментов                                             |
//| Copyright © 2010, leonid553, Son_Of_Earth                        |
//+------------------------------------------------------------------+
#property copyright "leonid553 & Son_Of_Earth"
#property link      "leonid553@ya.ru,sonofearth.ua@gmail.com"

#property indicator_separate_window
#property indicator_buffers 4
#property indicator_color1 Blue
#property indicator_color2 Red
#property indicator_color3 Yellow
#property indicator_color4 Black
#property indicator_width1 1
#property indicator_width2 1
#property indicator_width3 1
#property indicator_width4 1


extern string Symbol1.Name = "EURUSD";     // Название инструмента 1
extern bool   Symbol1.Reverse = false;     
extern string Symbol2.Name = "";           // Название инструмента 2
extern bool   Symbol2.Reverse = false;     
extern string Symbol3.Name = "";           // Название инструмента 3
extern bool   Symbol3.Reverse = false;     
extern string Symbol4.Name = "";           // Название инструмента 4
extern bool   Symbol4.Reverse = false;     

extern string  ___MISC___ = " == Прочие настройки ==========";




extern string  ___MA___   = " == Параметры МА ценовых линий ====";

extern int MA.Slow = 50;                   // Период медленной МА


// Буферы для отображения данных
double Buf1[];    // Первый инструмент
double Buf2[];    // Второй инструмент
double Buf3[];    // Третий инструмент
double Buf4[];    // Четрертый инструмент



//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init() {
  // Делаем нечувствительными к регистру ввода наименования инструментов
  Symbol1.Name=StringUpper(Symbol1.Name);
  Symbol2.Name=StringUpper(Symbol2.Name);
  Symbol3.Name=StringUpper(Symbol3.Name);
  Symbol4.Name=StringUpper(Symbol4.Name);

  // Определяем балансовые коэффициенты каждого инструмента
  kVol1=1;
  kVol2=1;
  kVol3=1;
  kVol4=1;
  
  // Задаем имена графическим объектам
  oSymb1=Symbol1.Name;
  oSymb2=Symbol2.Name;
  oSymb3=Symbol3.Name;
  oSymb4=Symbol4.Name;


  // Формируем свойства графиков индикатора
  IndicatorBuffers(4);
  
  SetIndexStyle(0,DRAW_LINE);
  SetIndexBuffer(0,Buf1);
  SetIndexLabel(0, Symbol1.Name); 

  SetIndexStyle(1,DRAW_LINE);
  SetIndexBuffer(1,Buf2);
  SetIndexLabel(1,Symbol2.Name); 

  SetIndexStyle(2,DRAW_LINE);
  SetIndexBuffer(2,Buf3);
  SetIndexLabel(2,Symbol3.Name);

  SetIndexStyle(3,DRAW_LINE);
  SetIndexBuffer(3,Buf4);
  SetIndexLabel(3,Symbol4.Name);

  soundCount=0; // Максимально к-во повторов звукового сигнала

  return(0);
}

//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()  {
  // Удаляем все графические объекты
  DeleteObject(oSymb1);
  DeleteObject(oSymb2); 
  DeleteObject(oSymb3);
  DeleteObject(oSymb4);

  return(0);  
}

//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start() {
  // Подсчет количества баров для построения индикатора
  int limit; int counted_bars=IndicatorCounted();
  if(counted_bars<0) return(-1);
  if(counted_bars>0) counted_bars--; 
  limit=Bars-counted_bars;
  
  // Определяем параметры окна индикатора
  wndNum=WindowFind(WindowExpertName());
  wndName=WindowExpertName()+wndNum; 


  
 
  //------------------------------------------------------------------ 
  // Отрисовка ценовых линий: рисуем и синхронизируем по наличию баров
  for(int i=0; i<limit; i++) { 
    // Первый ценовой график
    Buf1[i]= iClose(Symbol1.Name,0,i);
    // Второй ценовой график
    Buf2[i]= iClose(Symbol2.Name,0,i);
    // Третий ценовой график
    Buf3[i]= iClose(Symbol3.Name,0,i);
    // Четвертый ценовой график
    Buf4[i]= iClose(Symbol4.Name,0,i);

 
  } // Конец блока отрисовки ценовых линий

还有,我如何知道一个工具的价格在给定的条数上的倒退?
 
任务是在一个窗口中显示不同工具的指标值和自当天开始的价格变化百分比。能否在没有图表的情况下在一个窗口中全部显示出来?是否可以显示不同时间段的指标值?如果有类似的例子,我也会非常感激。谢谢你!
原因: