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

 

请告知错误所在。

代码。

//+------------------------------------------------------------------+
//|                                                     InitMQL4.mqh |
//|                                                 Copyright DC2008 |
//|                                              https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "keiji"
#property copyright "DC2008"
#property link      "https://www.mql5.com"
//--- Объявление констант
#include <MT4Orders.mqh>
#include <MQL4_to_MQL5.mqh>
//---
//#define extern input
#define OBJPROP_TIME1 300 //datetime Получает/устанавливает первую координату времени 
#define OBJPROP_PRICE1 301 //double Получает/устанавливает первую координату цены 
#define OBJPROP_TIME2 302 //datetime Получает/устанавливает вторую координату времени 
#define OBJPROP_PRICE2 303 //double Получает/устанавливает вторую координату цены 
#define OBJPROP_TIME3 304 //datetime Получает/устанавливает третью координату времени 
#define OBJPROP_PRICE3 305 //double Получает/устанавливает третью координату цены 
//---
//OBJPROP_COLOR 6 color Получает/устанавливает цвет объекта 
//OBJPROP_STYLE 7 int Получает/устанавливает стиль линии объекта 
//OBJPROP_WIDTH 8 int Получает/устанавливает ширину линии объекта 
//OBJPROP_BACK 9 bool Получает/устанавливает флаг фонового отображения объекта 
//---
#define OBJPROP_RAY 310 //bool Получает/устанавливает флаг свойства луч для объектов типа OBJ_TREND и ему подобных 
//---
//OBJPROP_ELLIPSE 11 bool Получает/устанавливает флаг отображения полного эллипса для объекта OBJ_FIBOARC 
//OBJPROP_SCALE 12 double Получает/устанавливает значение масштаба объекта 
//OBJPROP_ANGLE 13 double Получает/устанавливает значение угла в градусах объекта OBJ_TRENDBYANGLE 
//OBJPROP_ARROWCODE 14 int Получает/устанавливает код стрелки объекта OBJ_ARROW. Может быть одним из символов wingdings или один из предопределенных кодов стрелок 
//OBJPROP_TIMEFRAMES 15 int Получает/устанавливает свойство отображения объекта на различных периодах. Может быть одним или комбинацией нескольких из констант видимости объекта. 
//OBJPROP_DEVIATION 16 double Получает/устанавливает размер отклонения для объекта OBJ_STDDEVCHANNEL 
//OBJPROP_FONTSIZE 100 int Получает/устанавливает размер шрифта для объектов OBJ_TEXT и OBJ_LABEL 
//OBJPROP_CORNER 101 int Получает/устанавливает номер угла привязки для объекта OBJ_LABEL. Принимает значения 0-3 
//OBJPROP_XDISTANCE 102 int Получает/устанавливает расстояние X-координаты в пикселях относительно угла привязки для объекта OBJ_LABEL 
//OBJPROP_YDISTANCE 103 int Получает/устанавливает расстояние Y-координаты в пикселях относительно угла привязки для объекта OBJ_LABEL 
//---
#define OBJPROP_FIBOLEVELS 200 //int Получает/устанавливает число уровней объекта Fibonacci. Может быть от 1 до 32 
//---
//OBJPROP_LEVELCOLOR 201 color Получает/устанавливает цвет линии уровня объекта 
//OBJPROP_LEVELSTYLE 202 int Получает/устанавливает стиль линии уровня объекта 
//OBJPROP_LEVELWIDTH 203 int Получает/устанавливает ширину линии уровня объекта 
#define  OBJPROP_FIRSTLEVEL1 211 //int Получает/устанавливает значения уровня объекта Fibonacci с индексом n. Индекс n может быть от 0 до (количество уровней -1), но не более 31 
#define  OBJPROP_FIRSTLEVEL2 212
#define  OBJPROP_FIRSTLEVEL3 213
#define  OBJPROP_FIRSTLEVEL4 214
#define  OBJPROP_FIRSTLEVEL5 215
#define  OBJPROP_FIRSTLEVEL6 216
#define  OBJPROP_FIRSTLEVEL7 217
#define  OBJPROP_FIRSTLEVEL8 218
#define  OBJPROP_FIRSTLEVEL9 219
#define  OBJPROP_FIRSTLEVEL10 220
#define  OBJPROP_FIRSTLEVEL11 221
#define  OBJPROP_FIRSTLEVEL12 222
#define  OBJPROP_FIRSTLEVEL13 223
#define  OBJPROP_FIRSTLEVEL14 224
#define  OBJPROP_FIRSTLEVEL15 225
#define  OBJPROP_FIRSTLEVEL16 226
#define  OBJPROP_FIRSTLEVEL17 227
#define  OBJPROP_FIRSTLEVEL18 228
#define  OBJPROP_FIRSTLEVEL19 229
#define  OBJPROP_FIRSTLEVEL20 230
#define  OBJPROP_FIRSTLEVEL21 231
#define  OBJPROP_FIRSTLEVEL22 232
#define  OBJPROP_FIRSTLEVEL23 233
#define  OBJPROP_FIRSTLEVEL24 234
#define  OBJPROP_FIRSTLEVEL25 235
#define  OBJPROP_FIRSTLEVEL26 236
#define  OBJPROP_FIRSTLEVEL27 237
#define  OBJPROP_FIRSTLEVEL28 238
#define  OBJPROP_FIRSTLEVEL29 239
#define  OBJPROP_FIRSTLEVEL30 240
#define  OBJPROP_FIRSTLEVEL31 241
//---
#define MODE_OPEN 0
#define MODE_CLOSE 3
#define MODE_VOLUME 4 
#define  MODE_REAL_VOLUME 5
//---
#define DOUBLE_VALUE 0
#define FLOAT_VALUE 1
#define LONG_VALUE INT_VALUE
//---
#define  CHART_BAR 0
#define  CHART_CANDLE 1
//---
#define MODE_ASCEND 0
#define MODE_DESCEND 1
//---
#define MODE_LOW 1
#define MODE_HIGH 2
#define MODE_TIME 5
#define MODE_POINT 11
#define MODE_TICKVALUE 16
#define MODE_TICKSIZE 17
#define MODE_SWAPLONG 18
#define MODE_SWAPSHORT 19
#define MODE_STARTING 20
#define MODE_EXPIRATION 21
#define MODE_TRADEALLOWED 22
#define MODE_MINLOT 23
#define MODE_LOTSTEP 24
#define MODE_MAXLOT 25
#define MODE_SWAPTYPE 26
#define MODE_PROFITCALCMODE 27
#define MODE_MARGINCALCMODE 28
#define MODE_MARGININIT 29
#define MODE_MARGINMAINTENANCE 30
#define MODE_MARGINHEDGED 31
#define MODE_MARGINREQUIRED 32
#define MODE_FREEZELEVEL 33
//---
#define EMPTY -1
//---
#define CharToStr CharToString
#define StrToDouble StringToDouble
#define StrToInteger (int)StringToInteger
#define StrToTime StringToTime
#define StringSetChar StringSetCharacter
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
ENUM_TIMEFRAMES TFMigrate(int tf)
  {
   switch(tf)
     {
      case 0: return(PERIOD_CURRENT);
      case 1: return(PERIOD_M1);
      case 5: return(PERIOD_M5);
      case 15: return(PERIOD_M15);
      case 30: return(PERIOD_M30);
      case 60: return(PERIOD_H1);
      case 240: return(PERIOD_H4);
      case 1440: return(PERIOD_D1);
      case 10080: return(PERIOD_W1);
      case 43200: return(PERIOD_MN1);

      case 2: return(PERIOD_M2);
      case 3: return(PERIOD_M3);
      case 4: return(PERIOD_M4);
      case 6: return(PERIOD_M6);
      case 10: return(PERIOD_M10);
      case 12: return(PERIOD_M12);
      case 16385: return(PERIOD_H1);
      case 16386: return(PERIOD_H2);
      case 16387: return(PERIOD_H3);
      case 16388: return(PERIOD_H4);
      case 16390: return(PERIOD_H6);
      case 16392: return(PERIOD_H8);
      case 16396: return(PERIOD_H12);
      case 16408: return(PERIOD_D1);
      case 32769: return(PERIOD_W1);
      case 49153: return(PERIOD_MN1);
      default: return(PERIOD_CURRENT);
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
ENUM_MA_METHOD MethodMigrate(int method)
  {
   switch(method)
     {
      case 0: return(MODE_SMA);
      case 1: return(MODE_EMA);
      case 2: return(MODE_SMMA);
      case 3: return(MODE_LWMA);
      default: return(MODE_SMA);
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
ENUM_APPLIED_PRICE PriceMigrate(int price)
  {
   switch(price)
     {
      case 1: return(PRICE_CLOSE);
      case 2: return(PRICE_OPEN);
      case 3: return(PRICE_HIGH);
      case 4: return(PRICE_LOW);
      case 5: return(PRICE_MEDIAN);
      case 6: return(PRICE_TYPICAL);
      case 7: return(PRICE_WEIGHTED);
      default: return(PRICE_CLOSE);
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
ENUM_STO_PRICE StoFieldMigrate(int field)
  {
   switch(field)
     {
      case 0: return(STO_LOWHIGH);
      case 1: return(STO_CLOSECLOSE);
      default: return(STO_LOWHIGH);
     }
  }

//+------------------------------------------------------------------+
enum ALLIGATOR_MODE  { MODE_GATORJAW=1,   MODE_GATORTEETH, MODE_GATORLIPS };
enum ADX_MODE        { MODE_MAIN,         MODE_PLUSDI, MODE_MINUSDI };
enum UP_LOW_MODE     { MODE_BASE,         MODE_UPPER,      MODE_LOWER };
enum ICHIMOKU_MODE   { MODE_TENKANSEN=1,  MODE_KIJUNSEN, MODE_SENKOUSPANA, MODE_SENKOUSPANB, MODE_CHINKOUSPAN };
//enum MAIN_SIGNAL_MODE{ MODE_MAIN,         MODE_SIGNAL };
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double CopyBufferMQL4(int handle,int index,int shift)
  {
   double buf[];
   switch(index)
     {
      case 0: if(CopyBuffer(handle,0,shift,1,buf)>0)
         return(buf[0]); break;
      case 1: if(CopyBuffer(handle,1,shift,1,buf)>0)
         return(buf[0]); break;
      case 2: if(CopyBuffer(handle,2,shift,1,buf)>0)
         return(buf[0]); break;
      case 3: if(CopyBuffer(handle,3,shift,1,buf)>0)
         return(buf[0]); break;
      case 4: if(CopyBuffer(handle,4,shift,1,buf)>0)
         return(buf[0]); break;
      default: break;
     }
   return(EMPTY_VALUE);
  }
//+------------------------------------------------------------------+
int DayOfWeek()
  {
   MqlDateTime tm;
   TimeCurrent(tm);
   return(tm.day_of_week);
  }
//+------------------------------------------------------------------+
int iBarShift(datetime barTime)
  {
   datetime lastbar[];
   datetime curr=(datetime)SeriesInfoInteger(Symbol(),Period(),SERIES_LASTBAR_DATE);
   int res=CopyTime(NULL,NULL,curr,barTime,lastbar);
   if(res<=0)
     {
      Print("Getting High data is failed! Error",GetLastError());
      return(0);
     }
   return(res-1);
  }
//+------------------------------------------------------------------+  
double iFractalsMQL4(string symbol,
                     int tf,
                     int mode,
                     int shift)
  {
   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
   int handle=iFractals(symbol,timeframe);
   if(handle<0)
     {
      Print("Объект iFractals не создан: Ошибка ",GetLastError());
      return(-1);
     }
   else
      return(CopyBufferMQL4(handle,mode-1,shift));
  }
//+------------------------------------------------------------------+ 
int Hour()
  {
   MqlDateTime tm;
   TimeCurrent(tm);
   return(tm.hour);
  }
//+------------------------------------------------------------------+  
int Minute()
  {
   MqlDateTime tm;
   TimeCurrent(tm);
   return(tm.min);
  }
//+------------------------------------------------------------------+
int iBars(string symbol,int tf)
  {
   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
   int BARS=Bars(symbol,timeframe); 
   return(BARS);
  }

正在评估的功能

int iBars(string symbol,int tf)

iBars ',' - unexpected token 
'_Symbol' - some operator expected

Не могу понять в чем проблема. Если в отдельном файле компилирую то все в порядке. Здесь выскакивает ошибка.

Автоматический трейдинг и тестирование торговых стратегий
Автоматический трейдинг и тестирование торговых стратегий
  • www.mql5.com
MQL5: язык торговых стратегий для MetaTrader 5, позволяет писать собственные торговые роботы, технические индикаторы, скрипты и библиотеки функций
 
Александр:

请告知错误所在。

代码。

正在评估的功能

试着把你的光标放在iBars 上,然后点击F1,并阅读它的内容
 
Alekseu Fedotov:
试着把你的光标放在iBars上,然后点击F1,并阅读它的内容
明白了。一切正常。我在这里描述的是iBars 函数,而它已经被描述在
MQL4_to_MQL5.mqh
 

你好。

我有一个将数据保存到文件的指标,如何使一个图表中的几个指标将数据写入不同的文件,以便在重新初始化发生时从这些文件中读取数据?

该指标在主窗口中,如果它在一个单独的窗口中,我就可以将文件名附在窗口号上。当然,一定有一些简单的方法。

谢谢!

 
Vitaliy Sendyaev:

你好。

我有一个将数据保存到文件的指标,如何使一个图表中的几个指标将数据写入不同的文件,以便在重新初始化发生时从这些文件中读取数据?

该指标在主窗口中,如果它在一个单独的窗口中,我就可以将文件名附在窗口号上。当然,一定有一些简单的方法。

谢谢!

input string prefix = "что-то";

而这是要放在文件名里的东西。

 
KhuKhu:

你好。

你能否帮助纠正两个错误。

1.1个订单应该在一个柱子上打开(现在随机打开)。

2.要正确地以设定的量打开1个订单(现在是以不同的量打开)。

我的想法是,这个EA应该在一个酒吧打开10%的存款交易(我曾希望如此),但它没有发生。

但这并没有发生。

1.免费资金是

AccountEquity()。


2. 本条目

if (! NumberOfBarOpenLastPos(NULL,mper[tf_bar],OP_BUY, magic) ==0) 

可能应该是这样的。

if (NumberOfBarOpenLastPos(NULL,mper[tf_bar],OP_BUY, magic)!=0) 
 
Alexey Viktorov:

而这是要放在文件名里的东西。


每次都要手工更改文件名,肯定有办法自动生成文件名?

 
Vitaliy Sendyaev:

你每次都要手动更改文件名,肯定有办法自动生成文件名?

为什么每次都是这样?只有在图表上 加载下一个指标 时才会出现。

 
Vitaliy Sendyaev:

你好。

我有一个将数据保存到文件的指标,如何使一个图表中的几个指标将数据写入不同的文件,以便在重新初始化发生时从这些文件中读取数据?

该指标在主窗口中,如果它在一个单独的窗口中,我就可以将文件名附在窗口号上。当然,一定有一些简单的方法。

谢谢!

在OnInit中,我形成了文件名=符号名+时间框架
 
STARIJ:
我在OnInit中形成了文件名=符号名+时间框架

据我所知,它需要从一个图表中运行多个指标副本,以便它们写到不同的文件。