초보자의 질문 MQL5 MT5 MetaTrader 5 - 페이지 904

 
실제 데이터에서 디버깅할 때 "지정된 기호가 선택되지 않았습니다"라는 오류의 원인이 무엇인지 알려주세요.
고맙습니다 !
MT5
 
IlyaDemidenko :
실제 데이터에서 디버깅할 때 "지정된 기호가 선택되지 않았습니다"라는 오류의 원인이 무엇인지 알려주세요.
고맙습니다 !
MT5

테스트하기 전에(MetaEditor에서 테스트를 실행하기 전에), MetaEditor 설정으로 이동하여 "디버그" 탭을 확인하십시오. 이 탭에는 테스트를 수행할 기호가 포함되어 있습니다.

이제 터미널을 열고 선택한 심볼이 Market Watch 창에 있는지 확인하십시오.


 
Vladimir Karputov :

테스트하기 전에(MetaEditor에서 테스트를 실행하기 전에), MetaEditor 설정으로 이동하여 "디버그" 탭을 확인하십시오. 이 탭에는 테스트를 수행할 기호가 포함되어 있습니다.

이제 터미널을 열고 선택한 심볼이 Market Watch 창에 있는지 확인하십시오.

매우 감사합니다 )
프로세스가 시작되었습니다

 
안녕하세요. 전날 17시 30분 가격. 그녀를 알아보는 방법? 즉, 17:30 에 모든 바의 종가
 
bij :
안녕하세요. 전날 17시 30분 가격. 그녀를 알아보는 방법? 즉, 17:30 에 모든 바의 종가

CopyOpen (호출의 두 번째 형식)을 읽습니다.

 
Vladimir Karputov :

CopyOpen (호출의 두 번째 형식)을 읽습니다.

감사합니다 시간설정 방법을 몰라서 시간=D'2018.07.26 17:30';

        time=???;       //Как сюда передать 17:30 прошлого дня?
         int barIndex = iBarShift ( NULL , PERIOD_M1 , time);         // Определение индекса бара, соответствующего времени time
         double openPrice = CopyOpen ( NULL , PERIOD_M1 , barIndex); // Определение Bid цены открытия бара barIndex
 
bij :

감사합니다. 시간 설정 방법을 몰랐습니다.

급하게 스크립트를 던졌습니다.

 //+------------------------------------------------------------------+
//|                                                  TestOpenDay.mq5 |
//|                        Copyright 2018, MetaQuotes Software Corp. |
//|                             https://mql5.com/ru/users/artmedia70 |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link        "https://mql5.com/ru/users/artmedia70"
#property version    "1.00"
#property script_show_inputs
//--- enums
enum ENUM_DAY
  {
   DAY_CURRENT,             // Сегодня
   DAY_YESTERDAY,           // Вчера
   DAY_BEFORE_YESTERDAY     // Позавчера
  };
//--- input parameters
input ENUM_DAY InpDay      =  DAY_YESTERDAY; // День:
input uint      InpHours    =   17 ;             // Часы
input uint      InpMinutes  =   30 ;             // Минуты
//--- global variables
datetime day;
int       day_shift;
int       hours;
int       minutes;
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
  {
//---
   hours= int (InpHours> 23 ? 23 : InpHours);
   minutes= int (InpMinutes> 59 ? 59 : InpMinutes);
   day_shift=( int )InpDay;
   day= iTime ( NULL , PERIOD_D1 ,day_shift);
   Print ( "Сегодня: " , TimeToString ( TimeCurrent (), TIME_DATE ), ", день: " ,InputDayToString(), ", дата/время: " , TimeToString (GetTime(day)));
//---
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
datetime GetTime( const datetime time)
  {
   MqlDateTime tm;
   if (! TimeToStruct (time,tm))
       return 0 ;
   tm.hour=hours;
   tm.min=minutes;   
   return StructToTime (tm);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
string InputDayToString( void )
  {
   return (InpDay==DAY_CURRENT? "Сегодня" : InpDay==DAY_YESTERDAY ? "Вчера" : "Позавчера" );
  }
//+------------------------------------------------------------------+

실행 후 선택한 날짜, 날짜 및 시간이 로그에 표시됩니다.

 
Artyom Trishkin :

급하게 스크립트를 던졌습니다.

실행 후 선택한 날짜, 날짜 및 시간이 로그에 표시됩니다.

감사합니다 매일 17시 30분에 지표에 가격에 역사에 한줄을 새기고 싶습니다. 어떻게 매일 합니까? 모든 날짜를 쓰지 않고 시간만 17시 30분에 쓰기 위해

이것이 내가 매일 의 종가 에 베팅하는 방법입니다.

 if (!TrendCreate( 0 , "close" +time[i], 0 , iTime ( NULL , PERIOD_D1 ,i+ 1 ), iClose ( NULL , PERIOD_D1 ,i+ 1 ), iTime ( NULL , PERIOD_D1 ,i), 0 , clrLime , STYLE_SOLID , 2 , false , false , false , false , 0 ))
        {
         continue ;
        }
 
bij :

감사합니다 매일 17시 30분에 지표에 가격에 역사에 한줄을 새기고 싶습니다. 어떻게 매일 합니까?

이것이 내가 매일 의 종가 에 베팅하는 방법입니다.

과거 날짜(년, 월, 일)가 현재 날짜와 같지 않고 시와 분이 주어진 시간과 같으면 한 줄을 넣습니다.

또는 다음과 같이: 과거 날짜(년, 월, 일)가 현재 날짜와 같거나 시와 분이 주어진 시간과 같지 않으면 계속하십시오.

어떤 경우든 간격이 있을 것입니다. 선택한 시간대의 모든 막대에 지정된 시간이 있는 것은 아닙니다.

 
Artyom Trishkin :

과거 날짜(년, 월, 일)가 현재 날짜와 같지 않고 시와 분이 지정된 시간과 같으면 ...

if(iTime(NULL, PERIOD_D1 ,i+1)!=iTime(NULL,PERIOD_D1,i)&& 여기에 쓰는 방법? )

사유: