Alexey Viktorov #: 함수 입력 시 변수 이름 앞에 &를 넣으면 모든 문제가 해결됩니다.
레퍼런스가 있는 함수에 대한 동영상을 찾아서 봤습니다. 이 비디오 강의를 통해 저는 초보자를 위한 MQL5 강의 가 아니라 특히 멍청한 영재 초보자를 위한 MQL5 강의가 필요하다는 것을 깨달았습니다. 요컨대, 저는 아무것도 이해하지 못했습니다. 일반적으로받은 모든 정보를 소화하고이 비디오를 5 ~ 6 번 다시 시청해야합니다. 하지만 여가 시간에 할 일이있을 것입니다! ))
링크가 있는 함수에 대한 동영상을 찾아서 봤습니다. 이 비디오 레슨을 통해 저는 초보자를위한MQL5 레슨이 아니라 특히 어리석음에 재능이 있는 초보자를 위한 MQL5 레슨이 필요하다는 것을 깨달았습니다. 요컨대, 저는 아무것도 이해하지 못했습니다. 일반적으로받은 모든 정보를 소화하고이 비디오를 5 ~ 6 번 다시 시청해야합니다. 하지만 여가 시간에 할 일이있을 것입니다! ))
안부, 블라디미르.
시간을 보낼 곳이 없더라도 시간을 낭비하지 마십시오. "선생님"의 이름은 그 자체로 말하며, 딜레탕트는 딜레탕트입니다.
이 비디오는 3 분 동안 만 유용합니다. 나머지는 산만 할 뿐이며 유용한 정보를 잃게됩니다.
감사합니다, Alexey, 비디오 강의가 더 유익하고 유용 할 것이라고 생각했지만 정확히 그 반대 인 것으로 판명되었습니다. MQL5 참조 설명서 인 매개 변수 전송 섹션의 경우 동일한 방식으로 읽었지만 "책을 보면 그림이 보인다!"라는 유명한 말처럼 밝혀졌습니다. 나는 아무것도 이해하지 못했습니다. 요컨대, 물론 몇 번 더 다시 읽고 실험 할 것이지만 선택의 여지가 많지 않습니다. ))
비디오 자습서를 보고 MQL5 참조 설명서에서 참조로 인 수를 전달하는 방법에 대해 읽은 후에는 어느 정도 명확해진 것 같습니다. 그러나 참조 매뉴얼에 제시된 코드를 분석 한 결과, 제 생각에는 참조로 인수를 전달하는 것과는 아무런 관련이 없지만 여전히 한 조각이 당혹감을 불러 일으켰습니다:
//+------------------------------------------------------------------+//| передача параметров по ссылке |//+------------------------------------------------------------------+double SecondMethod(int &i,int &j)
{
double res;
//---
i*=2;
j/=2;
res=i+j;
//---return(res);
}
//+------------------------------------------------------------------+//| Script program start function |//+------------------------------------------------------------------+voidOnStart()
{
//---.int a=14,b=8;
Print("a и b перед вызовом:",a," ",b);
double d= SecondMethod(a,b);
Print("a и b после вызова:",a," ",b);
}
//+------------------------------------------------------------------+//--- результат выполнения скрипта// a и b перед вызовом: 14 8// a и b после вызова: 28 4
이와 관련하여 MQL5 프로그래밍 전문가에게 질문이 있습니다. 도대체 왜 SecondMethod(a,b ) 함수를 OnStart( )의 d 변수에 "밀어 넣은" 것일까요? 스크립트의 올바른 작동을위한 전제 조건입니까, 아니면 제가 다시 오해 한 것이 있습니까?
struct str1
{
int time[];// в массиве порядка 10 тыс элементов
};
struct str2
{
str1 arr[];// в массиве порядка 1 тыс элементов
};
str2 m_name[]; // в массиве порядка 100 элементовint ArrFull[]; // массив в который нужно собрать отсортированное время без повторений//+------------------------------------------------------------------+voidOnStart()
{
// считаем что m_name[] ранее уже заполнилиint tempArr[];// объявляю дополнительный массивint size1 = ArraySize(m_name);
for(int i = 0; i < size1; i++)
{
int size2 = ArraySize(m_name[i].arr);
for(int j = 0; j < size2; j++)
{
// копирую в дополнительный массив все массивы времени из структурArrayInsert(tempArr, m_name[i].arr[j].time, ArraySize(tempArr));
}
}
// сортирую дополнительный массивArraySort(tempArr);
int size = ArraySize(tempArr);
ArrayResize(ArrFull, size);
ArrFull[0] = tempArr[0];
int j = 1;
// копирую не повторяющиеся элементы из дополнительного массива в массив с которым в дальнейшем буду работатьfor(int i = 1; i < size; i++)
if(ArrFull[j - 1] != tempArr[i])
{
ArrFull[j] = tempArr[i];
j++;
}
size = ArrayResize(ArrFull, j);
// дальше продолжение. много много букв
}
//+------------------------------------------------------------------+
정말 감사합니다, 알렉산더. 수정 덕분에 코드가 제대로 작동했습니다. 솔직히 말해서 저도 소나무 세 그루에서 혼란스러웠다는 것을 깨달았습니다. 함수에 인수를 전달하는 방법을 다시 공부해야겠습니다. 분명히 제가 완전히 오해하고 있는 것 같습니다.
안부 전해주세요, 블라디미르.
전역 영역에 변수를 출력하는 것은 함수에 인수를 전달하는 것이 아닙니다...
함수 입력에 변수 이름 앞에 &를 넣으면 모든 문제가 해결됩니다.
전역 범위로 변수를 출력하는 것은 함수에 인수를 전달하지 않습니다...
함수 입력 시 변수 이름 앞에 &를 넣으면 모든 문제가 해결됩니다.
안녕하세요 Alexey, 그게 문제입니다 !!! 정말 고마워요! 내 머리가 모두 부러졌고 뭔가 빠진 것이 있다고 생각했습니다! 두뇌가 충분하지 않다는 것이 밝혀졌습니다!!!! ))
안부, 블라디미르.
함수 입력 시 변수 이름 앞에 &를 넣으면 모든 문제가 해결됩니다.
레퍼런스가 있는 함수에 대한 동영상을 찾아서 봤습니다. 이 비디오 강의를 통해 저는 초보자를 위한 MQL5 강의 가 아니라 특히 멍청한 영재 초보자를 위한 MQL5 강의가 필요하다는 것을 깨달았습니다. 요컨대, 저는 아무것도 이해하지 못했습니다. 일반적으로받은 모든 정보를 소화하고이 비디오를 5 ~ 6 번 다시 시청해야합니다. 하지만 여가 시간에 할 일이있을 것입니다! ))
안부, 블라디미르.
링크가 있는 함수에 대한 동영상을 찾아서 봤습니다. 이 비디오 레슨을 통해 저는 초보자를 위한 MQL5 레슨이 아니라 특히 어리석음에 재능이 있는 초보자를 위한 MQL5 레슨이 필요하다는 것을 깨달았습니다. 요컨대, 저는 아무것도 이해하지 못했습니다. 일반적으로받은 모든 정보를 소화하고이 비디오를 5 ~ 6 번 다시 시청해야합니다. 하지만 여가 시간에 할 일이있을 것입니다! ))
안부, 블라디미르.
시간을 보낼 곳이 없더라도 시간을 낭비하지 마십시오. "선생님"의 이름은 그 자체로 말하며, 딜레탕트는 딜레탕트입니다.
이 비디오는 3 분 동안 만 유용합니다. 나머지는 산만 할 뿐이며 유용한 정보를 잃게됩니다.
문서를주의 깊게 읽고 예제를 실험하면 모든 것을 이해하는 것이 좋습니다.
시간을 낭비할 곳이 없더라도 시간을 낭비하지 마세요. '선생님'이라는 이름만으로도 아마추어는 아마추어라는 것을 알 수 있습니다.
이 동영상에는 유용한 정보가 3분밖에 없습니다. 나머지는 산만하고 유용한 정보를 잃게 됩니다.
문서를주의 깊게 읽고 예제를 실험하면 모든 것을 이해하는 것이 좋습니다.
감사합니다, Alexey, 비디오 강의가 더 유익하고 유용 할 것이라고 생각했지만 정확히 그 반대 인 것으로 판명되었습니다. MQL5 참조 설명서 인 매개 변수 전송 섹션의 경우 동일한 방식으로 읽었지만 "책을 보면 그림이 보인다!"라는 유명한 말처럼 밝혀졌습니다. 나는 아무것도 이해하지 못했습니다. 요컨대, 물론 몇 번 더 다시 읽고 실험 할 것이지만 선택의 여지가 많지 않습니다. ))
안부, 블라디미르.
비디오 자습서를 보고 MQL5 참조 설명서에서 참조로 인 수를 전달하는 방법에 대해 읽은 후에는 어느 정도 명확해진 것 같습니다. 그러나 참조 매뉴얼에 제시된 코드를 분석 한 결과, 제 생각에는 참조로 인수를 전달하는 것과는 아무런 관련이 없지만 여전히 한 조각이 당혹감을 불러 일으켰습니다:
이와 관련하여 MQL5 프로그래밍 전문가에게 질문이 있습니다. 도대체 왜 SecondMethod(a,b ) 함수를 OnStart( )의 d 변수에 "밀어 넣은" 것일까요? 스크립트의 올바른 작동을위한 전제 조건입니까, 아니면 제가 다시 오해 한 것이 있습니까?
감사합니다, 블라디미르.
도와주세요.
시간이 있는 배열이 여러 개 있는데 이 배열의 일부 요소의 시간이 일치할 수 있습니다.
시간 값을 반복하지 않고 하나의 배열로 수집해야 합니다.
이런 식으로 해봤습니다:
하지만 매우 느린 코드로 밝혀졌습니다. 더 빨라야 합니다. 방법 ????
이와 관련하여 MQL5 프로그래밍 전문가에게 질문이 있습니다. 도대체 왜 SecondMethod(a,b ) 함수를 OnStart( )의 d 변수에 "밀어 넣은" 것일까요? 스크립트의 올바른 작동을위한 전제 조건이며 내가 다시 무언가를 잘못 이해 했습니까?
안부 인사, 블라디미르.
변수 d에 함수 실행 결과가 할당됩니다.
답변해 주셔서 감사합니다, Artyom!할당 없이 SecondMethod(a,b ) 함수만 사용하는 것은불가능합니까?
감사합니다, 블라디미르.
답변해 주셔서 감사합니다, Artyom!할당 없이 SecondMethod(a,b ) 함수만 사용하는 것은불가능하나요?
안녕하세요, 블라디미르.