MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1115

 
Maxim Kuznetsov :

oanda api 참조 - 그림에서 내가 틀리지 않았다면 이것은 PositionBook입니다.

감사하다!

 
Artyom Trishkin :

따라서 그래픽의 자동 스크롤을 꺼야 합니다. 그리고 이것은 비동기식 명령이라는 것을 기억하십시오.

장애가 있는....

 
Сергей Таболин :

장애가 있는....

그런 다음 코드를 살펴봐야 합니다.

 

MT5에서 이전 기간의 MA 지표 데이터를 가져오려고 합니다.

//OnInit
 if ((slowMovingHandleHigherTF= iMA ( _Symbol , HighMovingsTF, SlowMovingPeriod_HigherTF, 0 , MA_Method, MA_Apply_To))== INVALID_HANDLE ) {
       PrintFormat ( "Slow moving (HigherTF) handle troubles" );
       return ( INIT_FAILED );
   }
//OnCalculate
 if (!FillArrayFromBuffer(slowMovingHandleHigherTF,SlowValuesHigherTF, 0 , 40 )) Print ( "Beda" );

하지만 오류 4806(요청한 데이터를 찾을 수 없음)이 발생합니다. 현재 TF에서 가져오면 모든 것이 정상입니다. 데이터를 가져옵니다. 그러나 오래된 문제가 있습니다. 이거 해결방법좀 알려주세요

 
Artyom Trishkin :

그런 다음 코드를 살펴봐야 합니다.

어디가 잘못된 건지 말해줘?

 void OnStart ()
{
   ArraySetAsSeries (rates, true );
   ChartSetInteger ( ChartID (), CHART_AUTOSCROLL , false );
   

   for ( int i = 0 ; i < in_range; i++)
   {

   // Тут рассчитываю X
       if (X)       {          ChartNavigate ( ChartID (), CHART_END ,-i);          if ( MessageBox (ask, "ASK" , MB_OKCANCEL ) == IDOK )          {              ObjectCreate ( ChartID (), "SigDN_" + IntegerToString (i), OBJ_VLINE , 0 ,rates[i].time,rates[i].open);              //return;              ObjectSetInteger ( ChartID (), "SigDN_" + IntegerToString (i), OBJPROP_COLOR , clrRed );              ObjectSetInteger ( ChartID (), "SigDN_" + IntegerToString (i), OBJPROP_SELECTABLE , true );              ObjectSetInteger ( ChartID (), "SigDN_" + IntegerToString (i), OBJPROP_SELECTED , false );              ObjectSetInteger ( ChartID (), "SigDN_" + IntegerToString (i), OBJPROP_STYLE , STYLE_DOT );              Print ( "SigDN_" ,i);          }       }    } }

스크립트는 시간이 시작될 때 H2에서 실행되었습니다.

이미 쓴 것처럼 잘 작동하고 일종의 perelyad에서 차트가 끝에 배치되고 MessageBox 가 나타납니다. 찾은 그림이 표시되지 않으면 요청에 응답하는 이유는 무엇입니까?

 

2361
기간 H1부터 변수 또는 함수가 이상한 값을 출력합니다.

 Print ( _Period );
Print ( Period ());
H1
16385
16385 
H4
16388
16388

등.

 
Roman :

2361
기간 H1부터 변수 또는 함수가 이상한 값을 출력합니다.

등.

그들의 "이상함"은 무엇입니까?

 
Artyom Trishkin :

그들의 "이상함"은 무엇입니까?

_Period 변수 및 M30까지 의 Period() 함수 는 값을 분 단위로 출력합니다.
기간이 M1이면 1
기간이 M2이면 2
...
기간이 M30이면 30

시간 기간이 60이 되는 것이 논리적입니다.
두 시간 120
세 시간 180
등.

그러나 H1부터 잘못된 값을 표시합니다.

 
Roman :

_Period 변수 및 M30까지 의 Period() 함수 는 값을 분 단위로 출력합니다.
기간이 M1이면 1
기간이 M2이면 2
...
기간이 M30이면 30

시간 기간이 60이 되는 것이 논리적입니다.
두 시간 120
세 시간 180
등.

그러나 H1부터 잘못된 값을 표시합니다.

EnumToString(마침표())

 
Сергей Таболин :

EnumToString(마침표())

도움말은 EnumToString() 을 사용하여 변환된 ID가 아니라 시간 프레임의 값을 반환해야 한다고 말합니다.
_Period 변수는 int를 반환합니다.
ENUM_TIMEFRAMES Period()는 또한 int가 반환됨을 의미합니다.

사유: