오류, 버그, 질문 - 페이지 1466

 
Комбинатор :
스카이프:contact_login?채팅

바로 낫습니다)

스카이프:contact_login?통화

 
Alexandr Bryzgalov :

바로 낫습니다)

스카이프:contact_login?통화

계속 저를 부르는 것 같아요. 그리고 이것은 자동 다이얼 프로필에서, 채팅으로 변경하는 것이 좋습니다
 
웹 터미널에서 계정이 사라졌습니다. 3-4일 전에 실계정을 등록했는데 모든 것이 잘 되었습니다. 그러고 보니 계정이 없습니다. 일반적으로. 로그인이나 비밀번호를 요구하지 않으며 MQL 포럼의 사용자 프로필에 있는 "거래 계정" 탭에 아무 것도 없습니다...
 

레벨 라인을 위아래로 통해 확률적 표시기 에서 마지막 두 항목을 찾고 싶었습니다. 세 항목은 정상적으로 표시되고 해당 값을 유지하고, 네 번째 항목은 올바르게 작동하지 않아 하단 영역을 벗어날 때 판독값을 재설정합니다. 오류는 무엇입니까

 //--- находим индекс бара вход в верхняя зону
   for (n= 0 ; n<( Bars - 1 );n++)
     {
       if ( iStochastic ( Symbol (), 0 , 5 , 3 , 3 , MODE_SMA , 1 , 0 ,n)<up_level && iStochastic ( Symbol (), 0 , 5 , 3 , 3 , MODE_SMA , 1 , 0 ,n- 1 ) >up_level )
     //     break;
      UpLevel_1=n+ 1 ;
         
     }
//--- находим индекс бара второго ближайшего входа верхний уровень
   // for(n= UpLevel_1+1; n<(Bars-1);n++)
     {
       if ( iStochastic ( Symbol (), 0 , 5 , 3 , 3 , MODE_SMA , 1 , 0 ,n)<up_level && iStochastic ( Symbol (), 0 , 5 , 3 , 3 , MODE_SMA , 1 , 0 ,n- 1 ) >up_level )
       //   break;
      UpLevel_2=n+ 1 ;
      UpperPrice_2=iHigh( Symbol (), PERIOD_CURRENT ,UpLevel_2);
     
     }
//--- находим индекс бара первого ближайшего входа нижний уровень
   for (n= 0 ; n<( Bars - 1 );n++)
     {
     if ( iStochastic ( Symbol (), 0 , 5 , 3 , 3 , MODE_SMA , 1 , 0 ,n)>dw_level && iStochastic ( Symbol (), 0 , 5 , 3 , 3 , MODE_SMA , 1 , 0 ,n- 1 ) <dw_level )  
         break ;
      DwLevel_1=n+ 1 ;
      LowerPrice_1=iLow( Symbol (), PERIOD_CURRENT ,DwLevel_1);
     }
//--- находим индекс бара второго ближайшего входа нижний уровень
   for (n=DwLevel_1+ 1 ; n<( Bars - 1 );n++)
     {
       if ( iStochastic ( Symbol (), 0 , 5 , 3 , 3 , MODE_SMA , 1 , 0 ,n)>dw_level && iStochastic ( Symbol (), 0 , 5 , 3 , 3 , MODE_SMA , 1 , 0 ,n- 1 ) <dw_level )
         break ;
      DwLevel_2=n+ 1 ;
      LowerPrice_2=iLow( Symbol (), PERIOD_CURRENT ,DwLevel_2);
       Comment ( "вход верхняя зона" + DoubleToStr(UpLevel_1, 0 )+ "\n" + // работает правельно показания сохраняет
               "предыдущий вход верхняя зона" + DoubleToStr(UpLevel_2, 0 )+ "\n" + // работает правельно показания сохраняет
               " вход нижняя зона" + DoubleToStr(DwLevel_1, 0 )+ "\n" +   //работает неправельно обнуляет показания когда выходит из нижней зоны
               " предыдущий вход нижняя зона" + DoubleToStr(DwLevel_2, 0 )); // работает правельно показания сохраняет
     }
 
Mikhail Lebedev :

레벨 라인을 위아래로 통해 확률적 표시기에서 마지막 두 항목을 찾고 싶었습니다. 세 항목은 정상적으로 표시되고 해당 값을 유지하고, 네 번째 항목은 올바르게 작동하지 않아 하단 영역을 벗어날 때 판독값을 재설정합니다. 오류는 무엇입니까

예를 들어 빠른 방법으로 스크립트를 던졌습니다.

 //+------------------------------------------------------------------+
//|                                         FindStochasticSignal.mq4 |
//|              Copyright 2015, Artem A. Trishkin, Skype artmedia70 |
//|                       https://login.mql5.com/ru/users/artmedia70 |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, Artem A. Trishkin, Skype artmedia70"
#property link        "https://login.mql5.com/ru/users/artmedia70"
#property version    "1.00"
#property strict
#property script_show_inputs
//--- input parameters
input int       PeriodK= 5 ;                       // Period %K Stochastic
int periodK=(PeriodK< 1 )? 1 :PeriodK;
input int       PeriodD= 3 ;                       // Period %D Stochastic
int periodD=(PeriodD< 1 )? 1 :PeriodD;
input int       SlowingStc= 3 ;                     // Slowing Stochastic
int slowingStc=(SlowingStc< 1 )? 1 :SlowingStc;
input ENUM_MA_METHOD MA_Method= MODE_SMA ;         // MA Method Stochastic
input ENUM_STO_PRICE AppledPrice= STO_LOWHIGH ;   // Appled Price Stochastic
input double LevelUP= 70.0 ;                       // Up level Stochastic
input double LevelDN= 30.0 ;                       // Down level Stochastic
input int       NumberCross= 4 ;       // Number of Cross stochastics level
int numberCross=(NumberCross< 1 )? 1 :NumberCross;
//--- Arrays
double MassiveCrossUP[][ 2 ];
double MassiveCrossDN[][ 2 ];
MqlRates rates[];
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
  {
//---
   int bars=iBars( Symbol (), Period ());
   if ( CopyRates ( Symbol (), PERIOD_CURRENT , 1 ,bars- 1 ,rates)> 0 ) {
       ArraySetAsSeries (rates, true );
       int nup= 0 , ndn= 0 ;
       ArrayResize (MassiveCrossUP,nup,numberCross);
       ArrayResize (MassiveCrossDN,ndn,numberCross);
       for ( int i= 1 ; i< Bars ; i++) {
         double StochMain0=GetDataSTO( Symbol (), Period (),periodK,periodD,slowingStc,MA_Method,AppledPrice,MODE_MAIN,i);
         double StochMain1=GetDataSTO( Symbol (), Period (),periodK,periodD,slowingStc,MA_Method,AppledPrice,MODE_MAIN,i+ 1 );
         if (nup>numberCross && ndn>numberCross) break ;
         if (StochMain0<LevelUP && StochMain1>=LevelUP) {
            nup++;
             if (nup<=numberCross) {
               ArrayResize (MassiveCrossUP,nup);
               MassiveCrossUP[nup- 1 ][ 0 ]= int (rates[i].time);
               MassiveCrossUP[nup- 1 ][ 1 ]=rates[i].high;
               }
            }
         if (StochMain0>LevelDN && StochMain1<=LevelDN) {
            ndn++;
             if (ndn<=numberCross) {
               ArrayResize (MassiveCrossDN,ndn);
               MassiveCrossDN[ndn- 1 ][ 0 ]= int (rates[i].time);
               MassiveCrossDN[ndn- 1 ][ 1 ]=rates[i].low;
               }
            }
         }
      }
   //---
   string text_up_crossing= "Пересечения сверху-вниз:\n" , text_dn_crossing= "Пересечения снизу-вверх:\n" ;
   for ( int i= 0 ; i< ArrayRange (MassiveCrossUP, 0 ); i++) {
       string date_cross= TimeToString ( int (MassiveCrossUP[i][ 0 ]));
       string value_cross= DoubleToString (MassiveCrossUP[i][ 1 ], Digits ());
       string txt_i= "\n" + IntegerToString (i+ 1 )+ "-е пересечение уровня " + DoubleToString (LevelUP, 1 )+ ", время бара " +date_cross+ ", цена High свечи: " +value_cross;
      text_up_crossing+=txt_i;
      }
   text_up_crossing+= "\n====================\n" ;
   for ( int i= 0 ; i< ArrayRange (MassiveCrossDN, 0 ); i++) {
       string date_cross= TimeToString ( int (MassiveCrossDN[i][ 0 ]));
       string value_cross= DoubleToString (MassiveCrossDN[i][ 1 ], Digits ());
       string txt_i= "\n" + IntegerToString (i+ 1 )+ "-е пересечение уровня " + DoubleToString (LevelDN, 1 )+ ", время бара " +date_cross+ ", цена Low свечи: " +value_cross;
      text_dn_crossing+=txt_i;
      }
   Comment (text_up_crossing+text_dn_crossing);
  }
//+------------------------------------------------------------------+
double GetDataSTO( string sy, int timeframe, int k_period, int d_period, int slowing, ENUM_MA_METHOD ma_method, ENUM_STO_PRICE price_field, int mode, int pos) {
   return ( iStochastic (sy,timeframe,k_period,d_period,slowing,ma_method,price_field,mode,pos));
}
//+------------------------------------------------------------------+
 
스크립트 감사합니다. 1학년에게는 더 높은 수학처럼 보이지만 아직 배열로 작업하는 방법을 알지 못했지만 코드에서 오류를 발견했습니다. 막대의 다른 데이터를 삽입해야 했습니다. 주기에서 나는 그것을했고 모든 것이 정상적으로 작동했습니다.
 for (n= 1 ; n<( Bars - 2 );n++)
 

새 차트 창을 절반도 열 수 없습니다 . "시장 관찰" 창에서 아무 상품이나 마우스 오른쪽 버튼으로 클릭하고 "차트 창" 명령을 선택하면 차트가 열등한 크기로 열립니다.

하프 사이즈 차트

그것을 극복하는 방법?

 
Karputov Vladimir :

새 차트 창을 절반도 열 수 없습니다 .

개발자가 해결해 줄 거라 확신합니다.

그 동안, 최소화된 상태에서 모든 악기의 차트가 하나 더 필요합니다. 즉, USDJPY를 열고 수동으로 취소한 다음 수동으로 취소했습니다. 그런 다음 원하는 차트를 열면 전체 창에 표시됩니다.

아마도 당신은 이미 이것을 알고 있습니다.

 

최신 MT4 빌드에서는 포터블 모드 사용시 메타 에디터 실행이 안되는데 - 서비스데스크에 글을 썼는데 알아들을 수 있는 답변이 없네요.

MT4가 있는 폴더에서 실행 파일 자체를 실행하면 Windows용 AppData 폴더의 환경과 함께 MetaEditor가 로드되고, 터미널에서 "전문가 변경"을 클릭하면 동일한 일이 발생하고 이전 환경에서 로드된 단말기가 휴대용 모드에서 실행된 폴더입니다.

 

MT4 테스터에서 공개 가격으로 빈 Expert Advisor를 한 번 실행한 로그:

112972 tick events (113071 bars, 225205 bar states) processed in 0:00:00.016 (total time 0:00: 05.039 )

EA 자체가 제로 타임에 히스토리를 거치는 것을 로그에서 알 수 있습니다. 기록 데이터를 준비하는 데 5초가 걸립니다(100,000개 막대가 약간 넘음). 이전에는 그렇지 않았습니다.

100%의 경우에 재현 가능합니다. MT4 빌드 950, Windows7 SP1 x64.

이 질병으로 고통받지 않는 극단적 인 빌드를 알려주십시오. 다운그레이드가 필요합니다.

사유: