[ARCHIVE!] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 4. - 페이지 449

 
내가 뭔가 잘못 설명했을 수도 있습니다. 모스크바 시간 16:00에 시작하는 m1 m5 m15 m30 h1 h4의 첫 번째 양초와 표시기 표시(예: m15에 4개의 양초가 있음)만 표시하면 됩니다.
 
Yulia :
내가 뭔가 잘못 설명했을 수도 있습니다. 모스크바 시간 16:00에 시작하는 m1 m5 m15 m30 h1 h4의 첫 번째 양초와 표시기 표시(예: m15에 4개의 양초가 있음)만 표시하면 됩니다.

돕는 것과 행하는 것은 다른 것입니다. 동의하지 않습니까?
 
Vinin :

배열의 크기를 지정해야 하지 않습니까?


예, 이미 지쳤습니다. 이제 어레이가 가득 찼지만 행은 여전히 표시되지 않습니다. 배열은 버퍼에 바인딩됩니다.

 #property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Blue

void init()
        {
         SetIndexBuffer ( 0 , HighMass);
         SetIndexStyle ( 0 , DRAW_LINE , STYLE_SOLID , 1 );
         SetIndexBuffer ( 1 , LowMass);
         SetIndexStyle ( 1 , DRAW_LINE , STYLE_SOLID , 1 );
        }
 
sss2019 :


네, 정말 잊고 있었어요. 이미 피곤했어요. 이제 어레이가 가득 찼지만 행은 여전히 표시되지 않습니다. 배열은 버퍼에 바인딩됩니다.


모든 코드를 제공할 수 있습니까? 그리고 나서 당신에게 분명한 것이 무엇인지 생각하고 싶지 않습니다.
 
Vinin :

돕는 것과 행하는 것은 다른 것입니다. 동의하지 않습니까?

전적으로 동의합니다 도움을 요청했습니다 2주째 골랐는데 원하는 결과가 없어서 님의 선택도 저에게 어울리지 않습니다 글쎄요 감사합니다 스스로 생각해보겠습니다 .
 

좋은 하루... ArrayGetAsSeries 함수에 대한 질문입니다. ArrayGetAsSeries 함수의 작동 방식을 이해하려면 이 스크립트를 작성했습니다:

 //+------------------------------------------------------------------------------------------+
//|                                                                ArrayGetAsSeries_плюс.mq4 |
//+------------------------------------------------------------------------------------------+
//|                         script program start function                                    |
//+------------------------------------------------------------------------------------------+
//------------------------------------ НАЧАЛО START -------------------------------------- 1 -
int start()                                           //функция start
  {                                                   //начало start
   double Timestart= GetTickCount ();                   //переменная, с помощью которой вычисляется время (в милисекундах) начала выполнения эксперта 
   double array1[];                                   //объявляем массив-приемник (массив, куда будут скопированы данные)
   int element= ArrayCopy (array1,Open, 0 , 0 , WHOLE_ARRAY ); //копируем данные по ценам открытия в пользовательский массив (начиная с нулевого бара)
   int size= ArraySize (array1);                         //устанавливаем количество элементов массива array1
   for ( int i= 0 ;i<= 4 ;i++)                               //цикл по просмотру скопированных значений (первых пяти)
       {                                               //начало for
         Alert ( "Значение цены открытия бара № " ,i, " равно " ,array1[i],
               "\nВремя цены открытия бара № " ,i, ": " , TimeToStr ( iTime ( NULL , 0 ,i),TIME_DATE|TIME_MINUTES)); //cообщение на экран
       }                                                                 //конец for
//----------------------------------------------------------------------------------------- 2 -
   Comment ( "\nФункция ArrayCopy(array1[],Open,0,0,WHOLE_ARRAY) вернула: " ,element,
           "\nФункция ArraySize(array1) вернула: " ,size,
           "\nФункция ArrayGetAsSeries(array1) вернула: " , ArrayGetAsSeries (array1),
           "\nСкрипт выполнялся всего " , GetTickCount ()-Timestart, " миллисекунд, из них: " , MathFloor (( GetTickCount ()-Timestart)/ 1000 ),
           " секунд " ,(( GetTickCount ()-Timestart)/ 1000 - MathFloor (( GetTickCount ()-Timestart)/ 1000 ))* 1000 , " миллисекунд" ); //печать 
           //сообщения на экран
//----------------------------------------------------------------------------------------- 3 -
   return ( 0 );                                                             //выход из start
  }                                                                       //конец start
//-------------------------------------- КОНЕЦ START -------------------------------------- 4 -

스크립트는 막대 시작 가격의 배열-시계열을 사용자 정의 배열로 복사했습니다. 분명히: 이 사용자 지정 배열은 시계열 배열로 구성됩니다. 배열의 요소가 마지막에서 첫 번째 순서로 인덱싱되기 때문입니다(이는 Alert 함수 가 있는 스크린샷으로 증명됩니다. 네 번째 막대가 열리는 시간과 가격을 도출했습니다. 이 막대는 차트에 수직선으로 표시됩니다. 거기에서 이 바의 시가를 볼 수도 있고 속성 창에서 바의 시간이 Ale rt 기능에서와 같은 것을 볼 수 있습니다). 그러나 ArrayGetAsSeries 함수는 0을 반환합니다. 이는 사용자 지정 배열이 시계열 배열(스크린샷의 왼쪽 상단)처럼 구성되지 않았음을 의미합니다.

질문 : 사용자 지정 배열이 시계열 배열로 구성되어 있는데도 ArrayGetAsSeries 함수가 0을 반환하는 이유는 무엇입니까?

PS 포럼을 어지럽히지 않기 위해 미리 답변 주셔서 감사합니다.


 
7777877 :
질문 : 사용자 지정 배열이 시계열 배열로 구성되어 있는데도 ArrayGetAsSeries 함수가 0을 반환하는 이유는 무엇입니까?
데이터를 어떤 순서로 복사했다고 해서 배열이 시계열로 구성된다는 의미는 아닙니다.
 
ilunga :
데이터를 어떤 순서로 복사했다고 해서 배열이 시계열로 구성된다는 의미는 아닙니다.

그러나 문제는 이미 복사된 막대에서 for 루프에서 재생산되는 시작 가격의 값이 마지막에서 처음으로 인덱싱된다는 것입니다. 그러나 결국, 내가 이해하는 한 이것은 배열이 시계열로 구성된다는 의미(즉, 마지막에서 첫 번째로 인덱싱)를 의미합니까?

추신 FileIsEnding 및 FileIsLineEnding 기능에 대한 이전 질문에 답변해 주셔서 감사합니다.

 
7777877 :

그러나 문제는 이미 복사된 막대에서 for 루프에서 재생산되는 시작 가격의 값이 마지막에서 처음으로 인덱싱된다는 것입니다. 그러나 결국, 내가 이해하는 한 이것은 배열이 시계열로 구성된다는 의미(즉, 마지막에서 첫 번째로 인덱싱)를 의미합니까?

추신 FileIsEnding 및 FileIsLineEnding 기능에 대한 이전 질문에 답변해 주셔서 감사합니다.

아니요, 데이터가 기록과 일치했다는 의미일 뿐입니다.

예를 들어 수동으로 운전할 수도 있습니다. 또는 텍스트 파일에서 작성하십시오. 또는 결제 시 수령하세요.


결국, 일부 조건부 데이터 "1.25 1.16 1.73 1.35"를 입력하더라도 몇 년 전 일부 통화의 역사에 들어갈 수 있습니다. 그러나 이것이 우리가 시계열 배열을 구성했다는 것을 의미하지는 않습니다.

 

질문을 중복해서 죄송합니다. 하지만 알아낼 때까지 다음 예제를 실행할 수 없습니다.

알아낼 수 있도록 도와주세요.

주문을 여는 간단한 스크립트를 작성했습니다(MQL4 튜토리얼에서).

 int start()                                   // Спец. функция start()
  {                                           // Открытие BUY
   OrderSend ( Symbol (),OP_BUY, 0.1 ,Ask, 3 ,Bid- 15 * Point ,Bid+ 15 * Point );
   Alert ( GetLastError ());
   return ;                                   // Выход из start()
  }

이 예에서는 4자의 도구에 대한 코드가 제공됩니다.

나는 점 뒤에 5자리 숫자가 있는 회사의 계정을 가지고 있습니다.

5자 코드를 올바르게 다시 작성하는 방법을 작성하고 스크립트를 실행할 때 오류 4109(거래 불가)가 발생하는 이유는 무엇입니까?


사유: