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

 
sergeev :
테스터는 디버깅에서 언로드됩니까?
예, 하역 중입니다.
 
MoneyJinn :

네, 틀렸습니다. 여러 형태의 ChartGetInteger 표기법이 허용됩니다.

그러나 ChartGetInteger 표기법의 형식에 관계없이 CHART_BRING_TO_TOP 속성의 현재 값을 가져오는 것은 불가능합니다.

예가 없으면 무엇을, 어떻게 말하기가 어렵습니다. 문서를 확인하고 빌드 릴리스를 확인하십시오.

모든 것이 제대로 작동하지 않으면 SD + 예제가 있는 코드에 애플리케이션을 작성합니다.

그리고 두 번째 변형에 대한 속성을 반환하려면 해야 합니다. 4개의 매개변수가 있습니다.

 

함수 프로토타입 이 있습니다.

# "kernel32.dll" 가져오기
BOOL 쓰기 파일(
HANDLE hFile, // 파일 핸들
LPCVOID lpBuffer, // 데이터 버퍼
DWORD nNumberOfBytesToWrite, // 쓸 바이트 수
LPDWORD lpNumberOfBytesWritten, // 쓴 바이트 수
LPOVERLAPPED lpOverlapped // 비동기 버퍼

);

함수는 프로그램에서 호출됩니다.

op_err=WriteFile(h1,buff,LenPos, 쓰기,NULL);

해당 버프 및 쓰기를 참조로 전달하도록 올바르게 지정하는 방법은 무엇입니까?

Документация по MQL5: Основы языка / Функции
Документация по MQL5: Основы языка / Функции
  • www.mql5.com
Основы языка / Функции - Документация по MQL5
 
tor30515 :

함수 프로토타입 이 있습니다.


버프 및 쓰기가 참조로 전달되도록 올바르게 지정하는 방법은 무엇입니까?

버프 - 배열을 통해(예: uchar &buff[]

write - 배열이나 하나의 변수만 사용할 수도 있습니다. int &write

 
Yedelkin :

참조에 따르면 이 속성은 단순히 지원되지 않습니다.

오류 코드는 동일합니다. 차트 속성 CHART_BRING_TO_TOP이 지원되지 않는 이유에 대한 질문은 개발자 수준이며 속성이 실제로 지원된다면 다시 해당 수준에 있습니다. 이 경우 ChartGetInteger 함수가 false를 반환 하는 이유는 무엇입니까?

CHART_BRING_TO_TOP 속성을 true로 설정하면 터미널이 주어진 차트를 현재 전경으로 가져오도록 지시하기 때문 입니다. 이것은 일반적인 의미의 속성이 아니라 명령입니다. 다음은 설명입니다.
 

Rosh :
Потому что установка свойства CHART_BRING_TO_TOP в значение true дает терминалу приказ вывести данный чарт на передний план в данный момент. Это не свойство в обычном понимание, а команда. Вот такое объяснение.

즉, 우리의 경우 ChartGetInteger() 함수와 관련된 "속성" 명령 CHART_BRING_TO_TOP은 단순히 지원되지 않으며 ChartGetInteger() 함수는 올바르게 false를 반환합니다. 이것은 MoneyJinn 에 대한 답변입니다

 
Rosh :
CHART_BRING_TO_TOP 속성을 true로 설정하면 터미널이 주어진 차트를 현재 전경으로 가져오도록 지시하기 때문 입니다. 이것은 일반적인 의미의 속성이 아니라 명령입니다. 여기에 설명이 있습니다.

개발자는 사용자가 차트 창을 볼 수 있는지 여부와 창의 상대적 위치를 결정할 수 있는 가능성을 남겨두지 않았습니다.

이건 정말 나빠. 다시 통제력 상실과 새로운 위험.

 

MQL 프로그래밍이 처음이라는 점에 유의하십시오.)

문제의 본질 : 표준을 다시 수행하여 수준 (가로선) 그리기를 구현하고 싶습니다.

프랙탈 표시기. 즉, 화살표 대신 수평선을 그립니다.

이와 관련하여 질문은 다음과 같습니다. 지표의 틀 내에서 가능합니까? 결국 사전에 지정해야합니다

표시기의 줄 수 , 계산하기 전에 알 수 없습니다. 부동산에서 가능한가요

#property indicator_plots 는 변수를 지정합니다. 아니면 불가능한가요?

아래는 약간 수정된 프랙탈의 코드입니다. 위쪽 및 아래쪽 프랙탈을 따라 두 개의 선이 그려집니다.

그러나 프랙탈당 하나씩 수평선이 필요합니다.

ObjectCreate를 사용하여 표시기에 수평선을 생성할 수 있습니까?

 #property copyright "2009, MetaQuotes Software Corp."
#property link       "http://www.mql5.com"
//---- indicator settings
#property indicator_chart_window 
//Для индикаторов расположение на графике цены (indicator_chart_window)
//или в отдельном окне (indicator_separate_window)
#property indicator_buffers 2
#property indicator_plots   2
#property indicator_type1   DRAW_LINE
#property indicator_type2   DRAW_LINE
#property indicator_color1  clrDeepPink
#property indicator_color2  clrRoyalBlue
#property indicator_label1   "Resistance lvl"
#property indicator_label2   "Support lvl"
#property indicator_style1  STYLE_SOLID
#property indicator_style2  STYLE_SOLID
#property indicator_width1   2
#property indicator_width2   2
//---- indicator buffers
double ExtUpperBuffer[];
double ExtLowerBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
void OnInit ()
  {
//---- indicator buffers mapping
   SetIndexBuffer ( 0 ,ExtUpperBuffer, INDICATOR_DATA );
   SetIndexBuffer ( 1 ,ExtLowerBuffer, INDICATOR_DATA );
   IndicatorSetInteger ( INDICATOR_DIGITS , _Digits ); // точность индикатора равна точности графика
//---- sets first bar from what index will be drawn
//  PlotIndexSetInteger(0,PLOT_ARROW,217);
//  PlotIndexSetInteger(1,PLOT_ARROW,218);
//---- arrow shifts when drawing
//  PlotIndexSetInteger(0,PLOT_ARROW_SHIFT,ExtArrowShift);
//  PlotIndexSetInteger(1,PLOT_ARROW_SHIFT,-ExtArrowShift);
//---- sets drawing line empty value--
//  PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,EMPTY_VALUE);
// PlotIndexSetDouble(1,PLOT_EMPTY_VALUE,EMPTY_VALUE);
//---- initialization done
  }
//+------------------------------------------------------------------+
//|  Accelerator/Decelerator Oscillator                              |
//+------------------------------------------------------------------+
int OnCalculate ( const int rates_total, // кол-во входных баров
                 const int prev_calculated, // обработано баров на предыдущем вызове
                 const datetime &Time[],
                 const double &Open[],
                 const double &High[],
                 const double &Low[],
                 const double &Close[],
                 const long &TickVolume[],
                 const long &Volume[],
                 const int &Spread[])
  {
   int i,limit;
//---
   if (rates_total< 5 )
       return ( 0 );
//---
   if (prev_calculated< 7 )
     {
      limit= 2 ;
       //очистка буферов
       ArrayInitialize (ExtUpperBuffer, EMPTY_VALUE );
       ArrayInitialize (ExtLowerBuffer, EMPTY_VALUE );
     }
   else limit=rates_total- 5 ;

   for (i=limit;i<rates_total- 3 && ! IsStopped ();i++) //(?условие нач.цикла;усл.оконч.цикла;вычисление)
                                                   //i++ тоже самое что и i=i+1
     {
       //---- Upper Fractal
       if (High[i]>High[i+ 1 ] && High[i]>High[i+ 2 ] && High[i]>=High[i- 1 ] && High[i]>=High[i- 2 ])
         ExtUpperBuffer[i]=High[i];
       //else ExtBuffer[i]=EMPTY_VALUE;
       else ExtUpperBuffer[i]=ExtUpperBuffer[i- 1 ];
       //else ExtUpperBuffer[i]=ExtUpperBuffer[1];

       //---- Lower Fractal
       if (Low[i]<Low[i+ 1 ] && Low[i]<Low[i+ 2 ] && Low[i]<=Low[i- 1 ] && Low[i]<=Low[i- 2 ])
         ExtLowerBuffer[i]=Low[i];
       //else ExtBuffer[i]=EMPTY_VALUE;
       else ExtLowerBuffer[i]=ExtLowerBuffer[i- 1 ];
       //else ExtLowerBuffer[i]=ExtLowerBuffer[1];
      
     // ObjectCreate(0,Level_obj,OBJ_HLINE);

     }
//--- OnCalculate done. Return new prev_calculated.
   return (rates_total);
  }

//+------------------------------------------------------------------+
Документация по MQL5: Основы языка / Препроцессор / Свойства программ (#property)
Документация по MQL5: Основы языка / Препроцессор / Свойства программ (#property)
  • www.mql5.com
Основы языка / Препроцессор / Свойства программ (#property) - Документация по MQL5
 
파일 질문. µl5에서 열린 파일 의 크기에 대한 제한은 얼마입니까?
Документация по MQL5: Файловые операции / FileOpen
Документация по MQL5: Файловые операции / FileOpen
  • www.mql5.com
Файловые операции / FileOpen - Документация по MQL5
 
기록에서 ACCOUNT_BALANCE의 값을 얻을 수 있는 방법을 알려주십시오. 거래 내역을 볼 때 잔액의 변화를 알아야 합니다.