포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 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개 주문을 올바르게 엽니다(이제 다른 볼륨으로 열립니다).

이론상 이제 어드바이저에 설정이 되어있기 때문에(그렇게 바랐음) 보증금의 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에서 나는 FileName = Symbol Name + TimeFrame을 형성합니다.
 
STARIJ :
OnInit에서 나는 FileName = Symbol Name + TimeFrame을 형성합니다.

내가 알기로는 그는 다른 파일에 쓰려면 한 차트에서 지표의 여러 복사본을 시작해야 합니다.