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

 

안녕하세요.

두 점 사이의 거리를 점 단위로 계산할 수 있는지 알려주십시오.

내 버전이 아래에 표시되지만 원래 의도한 대로 작동하지 않습니다.

미리 감사드립니다.

   int g;
   double maHX_fast= iMA ( NULL ,fast_maHX_timeframe,fast_maHX_period, 0 ,fast_maHX_method,fast_maHX_price, 0 );
   double maHX_slow= iMA ( NULL ,slow_maHX_timeframe,slow_maHX_period, 0 ,slow_maHX_method,slow_maHX_price, 0 );
  g = maHX_slow - maHX_fast;
   Alert (g);
 
nemo811 :

내 버전이 아래에 표시되지만 원래 의도한 대로 작동하지 않습니다.

오류를 찾았습니다. 다음은 작동 중인 버전입니다.

   double g;
   double maHX_fast= iMA ( NULL ,fast_maHX_timeframe,fast_maHX_period, 0 ,fast_maHX_method,fast_maHX_price, 0 );
   double maHX_slow= iMA ( NULL ,slow_maHX_timeframe,slow_maHX_period, 0 ,slow_maHX_method,slow_maHX_price, 0 );
  g = (maHX_slow - maHX_fast)/ Point ;
   Alert (g);
 

안녕하세요....

한 터미널에서 동일한 통화 쌍의 다른 거래로 주문 의 종가 값을 전송하는 방법은 무엇입니까?

 
TANKER :

안녕하세요....

한 터미널에서 동일한 통화 쌍의 다른 거래로 주문의 종가 값을 전송하는 방법은 무엇입니까?


만약 당신이 이 질문을 하고 있다면, 당신은 아마 그것을 스스로 할 수 없을 것입니다. 프로그래머를 찾는 것이 더 나을 것입니다.
 

모두 좋은 저녁!

배열에 대해 다음과 같은 질문이 있었습니다.

특정 변동의 존재에 대해 n개의 막대를 분석하고, 선택하고, 배열에 넣은 다음 작업해야 한다고 가정해 보겠습니다.

아래는 작은 코드입니다. 주석을 보면 명확해질 것입니다.

논리는 다음과 같습니다.

1. 필요한 바 수를 설정합니다.

2. 루프에서 전체를 스크롤합니다.

3. 주어진 조건( close_1>close_2&&close_2<close_3 )의 충족을 찾고 있습니다.

4. 조건이 충족되면 close_1과 close_2의 종가 간의 차이 차이를 계산합니다.

그런 다음 질문 자체:

1. 어떻게 배열을 올바르게 구성하고 거기에 받은 diff 값을 적어두는가 (물론 배열 차원은 받은 값의 개수에 따라 결정됨) ???

2. 배열의 요소 수를 계산하고 표시 ???

3. 예를 들어 3, 6, 7 요소를 선택하고 합계를 계산합니다 ???

4. 마지막으로, 예를 들어 단일 요소가 아닌 전체 배열을 인쇄/경고에서 직접 표시하려면 ???

 #property copyright "Copyright © 2011, MetaQuotes Software Corp."
#property link       "http://www.metaquotes.net"

//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
   //определяем переменные
   int i, bars;
   double close_1, close_2, close_3; //цена закрытия
   double diff; //вычисление разности close_1 и close_2
   double Mas[]; //массив куда надо заносить данные
   
   
   //устанавливаем значения переменных
   bars= 60 ; //количество баров для анализа
   
   for (i= 1 ;i<=bars;i++)
   {
      close_1= iClose ( NULL , PERIOD_M1 ,i);
      close_2= iClose ( NULL , PERIOD_M1 ,i+ 1 );
      close_3= iClose ( NULL , PERIOD_M1 ,i+ 2 );
      
       //условие для отбора в массив
       if (close_1>close_2&&close_2<close_3) //если выполняется это условие, тогда
      {
         diff=close_1-close_2; //считаем разность и записываем это дело в массив 
         
         /*
         Собственно вопросы:
         1. Как правильно сформировать массив и записать туда полученные значения diff ???
         2. Посчитать и вывести количество элементов в массиве ???
         3. Выбрать например 3, 6, 7 элемент и посчитать их сумму ???
         4. И последнее, непосредственно вывести например в Print/Alert весь полученный массив, а не только отдельно взятый элемент ???
         */
         
         //Это просто вывод, чтобы удостовериться что наше условие работает, можно потереть... 
         Alert ( "i " ,i, " diff: " , DoubleToStr (diff, 5 ));
         
      }
   }


   return ( 0 );
  }
//+------------------------------------------------------------------+
글쎄, 명확성을위한 그림, 우리가 처리하는 조건. :))

모두 미리 감사드립니다!

 
NickXXX :

모두 좋은 저녁!

배열에 대해 다음과 같은 질문이 있었습니다.

특정 변동의 존재에 대해 n개의 막대를 분석하고, 선택하고, 배열에 넣은 다음 작업해야 한다고 가정해 보겠습니다.

단어 표시기 뒤에 웃어보세요.

표시기를 만드는 것이 더 쉽습니다. 이미 8개의 버퍼 배열이 있고 모든 논리를 해당 배열로 이동한 다음 iCustom을 통해 필요한 요소에 액세스합니다.

print/alert에서 전체 배열은 다소 읽을 수 없지만 반복을 통해 루프에서 긴 문자열을 만드는 것이 가능합니다.

3. 예를 들어 3, 6, 7 요소를 선택하고 합계를 계산합니다 ???

농담이 아니거나 설명서를 읽습니다.

이중 합=Mas[3]+Mas[6]+Mas[7];

권장 읽기 https://book.mql4.com/ru/variables/arrays

https://docs.mql4.com/ru/array

 
splxgf :

단어 표시기 뒤에 웃어보세요.

표시기를 만드는 것이 더 쉽습니다. 이미 8개의 버퍼 배열이 있고 모든 논리를 해당 배열로 이동한 다음 iCustom을 통해 필요한 요소에 액세스합니다.

print/alert에서 전체 배열은 다소 읽을 수 없지만 반복을 통해 루프에서 긴 문자열을 만드는 것이 가능합니다.

우리는 그런 농담을 하지 않거나 문서를 읽습니다.

이중 합=Mas[3]+Mas[6]+Mas[7];

권장 읽기 https://book.mql4.com/ru/variables/arrays

https://docs.mql4.com/ru/array

예, 금액에 대해 질문할 수 없습니다.) 그리고 여기서 우리는 지표에 대해 이야기하고 있지 않습니다. 이것은 배열을 정상적으로 처리할 수 있도록 하기 위한 더 많은 예입니다.

나는 이미 읽을 것을 권장하는 기사를 보았지만이 문제에 대처하는 데 도움이되지 않았습니다.

따라서 질문은 여전히 관련성이 있습니다... 이 예에서 배열을 형성하는 방법??? 명확성을 위해 코드를 제공해 주시면 대단히 감사하겠습니다. 이렇게 하면 말하는 내용을 더 쉽게 이해할 수 있습니다.

 

표시기를 피우는 것이 더 낫습니다. 모든 계산은 막대에 연결되며 막대 번호는 0에서 시작하고 배열은 각각의 새 막대로 이동합니다. 표시기를 사용하면 어레이 작업의 논리를 시스템으로 전환할 수 있으며 시각적 기능이 추가되고 전문가의 간단한 사용이 추가됩니다.

지표를 만드십시오. 그렇지 않으면 배열의 계산된 요소를 차트의 막대에 바인딩하기가 매우 어렵습니다.

 
splxgf :

표시기를 피우는 것이 더 낫습니다. 모든 계산은 막대에 연결되며 막대 번호는 0에서 시작하고 배열은 각각의 새 막대로 이동합니다. 표시기를 사용하면 어레이 작업의 논리를 시스템으로 전환할 수 있으며 시각적 기능이 추가되고 전문가의 간단한 사용이 추가됩니다.

지표를 만드십시오. 그렇지 않으면 배열의 계산된 요소를 차트의 막대에 바인딩하기가 매우 어렵습니다.

글쎄, 그것은 지표에 대해 분명합니다. 그 안에있는 모든 것을 계산하고 값을 Expert Advisor에게 보내는 것이 좋습니다.

그러나 여기서 질문은 조금 다릅니다. 배열을 데이터로 채울 수 없고 0으로 표시됩니다. 이것을 정확히 이해하고 싶습니다.

다시 말하지만, 이 예에서는... 막대에 대한 바인딩이 있습니다. 순서대로 i를 따르고 필요한 조건 close_1>close_2&&close_2<close_3을 해결합니다(순전히 예를 들어 사용했습니다).

이제 가장 흥미로운 diff=close_1-close_2를 계산했습니다. 이제 이 diff 값을 배열에 배치하는 방법???

차원을 사용하면 추가 변수 int n을 만들고 if 조건에서 1(n++) 증가할 수 있다고 생각합니다. 조건이 작동한 횟수를 구하고 이 숫자를 차원으로 취하면 됩니다.

그러나 여전히 diff 값을 배열에 넣는 방법 ???

 
NickXXX :

글쎄, 그것은 지표에 대해 분명합니다. 그 안에있는 모든 것을 계산하고 값을 Expert Advisor에게 보내는 것이 좋습니다.

그러나 여기서 질문은 조금 다릅니다. 배열을 데이터로 채울 수 없고 0으로 표시됩니다. 이것을 정확히 이해하고 싶습니다.

다시 말하지만, 이 예에서는... 막대에 대한 바인딩이 있습니다. i를 순서대로 따르고 필요한 조건 close_1>close_2&&close_2<close_3(순전히 예를 위해 가져왔습니다)를 해결합니다.

이제 가장 흥미로운 diff=close_1-close_2를 계산했습니다. 이제 이 diff 값을 배열에 배치하는 방법???

차원을 사용하면 추가 변수 int n을 만들고 if 조건에서 1(n++) 증가할 수 있다고 생각합니다. 조건이 작동한 횟수를 구하고 이 숫자를 차원으로 취하면 됩니다.

그러나 여전히 diff 값을 배열에 넣는 방법 ???

들어봐, 내가 지금 당장은 확실히 알겠지만, 내가 이해하는 한, 내가 이 예제에서 스크립트를 사용하고 있다는 것이 이해가 되지 않는다. 지표에 대해 썼을 때 그것을 의미 했습니까? 그렇다면 물론 지표에서 또는 Expert Advisor에서 직접 모든 동적 계산을 수행합니다. 여기서는 테스트를 위해 어리석은 일입니다. 한 번 실행하고 코드를 본 다음 편집했습니다.)))

이전 질문은 여전히 관련이 있습니다. 어레이의 주제는 공개되지 않습니다.)