2차원 배열을 만들고 프로그램에서 값으로 채웁니다. 코드 ArrayFill(LoY,0,31,0.5555); 및 ArraySort(LoY,WHOLE_ARRAY,0,MODE_ASCEND); 디렉토리로 판단하면 둘 다 2차원 배열에서 작동합니다. ArrayFill()은 수평으로 채워진 배열에서 엄격하게 작동하며 Reference에서는 위에서 아래 또는 아래에서 위로가 아닌 왼쪽에서 오른쪽으로 엄격하게 값 으로 배열을 채웁니다 . ArraySort()는 2차원 배열을 첫 번째 차원으로 정렬합니다. 핸드북은 수평으로 채워진 배열 또는 수직으로 채워진 배열을 정렬하는지 여부를 말하지 않습니다. 내 코드 실행으로 판단하면 ArraySort()는 세로로 채워진 배열만 정렬합니다. 이 두 함수는 동일한 프로그램의 동일한 배열에서 작동할 수 없는 것 같습니다.
문제. ArraySort() 함수가 올바르게 작동하는 것이 중요합니다. 이를 기반으로 ArrayFill()이 작동하는 수평으로 채워진 배열을 정렬하도록 ArraySort()를 구성할 수 있습니까? 아니면 MQL4에서 작동하는 MQL5의 정렬 기능이 대신 도움이 될까요? 또는 모든 값이 포함된 가로로 채워진 배열을 세로로 변환하는 함수가 있습니다. 한 마디로, 내 프로그램이 배열을 수평으로 정렬하는 방법
2차원 배열을 만들고 프로그램에서 값으로 채웁니다. 코드 ArrayFill(LoY,0,31,0.5555); 및 ArraySort(LoY,WHOLE_ARRAY,0,MODE_ASCEND); 디렉토리로 판단하면 둘 다 2차원 배열에서 작동합니다. ArrayFill()은 수평으로 채워진 배열에서 엄격하게 작동하며 Reference에서는 위에서 아래 또는 아래에서 위로가 아닌 왼쪽에서 오른쪽으로 엄격하게 값 으로 배열을 채웁니다 . ArraySort()는 2차원 배열을 첫 번째 차원으로 정렬합니다. 핸드북은 수평으로 채워진 배열 또는 수직으로 채워진 배열을 정렬하는지 여부를 말하지 않습니다. 내 코드 실행으로 판단하면 ArraySort()는 세로로 채워진 배열만 정렬합니다. 이 두 함수는 동일한 프로그램의 동일한 배열에서 작동할 수 없는 것 같습니다.
문제. ArraySort() 함수가 올바르게 작동하는 것이 중요합니다. 이를 기반으로 ArrayFill()이 작동하는 수평으로 채워진 배열을 정렬하도록 ArraySort()를 구성할 수 있습니까? 아니면 MQL4에서 작동하는 MQL5의 정렬 기능이 대신 도움이 될까요? 또는 모든 값이 포함된 가로로 채워진 배열을 세로로 변환하는 함수가 있습니다. 한마디로 내 프로그램이 배열을 수평으로 정렬하는 방법
메모. 대신에 루프를 사용하는 ArrayFill() - 나에게 적합하지 않습니다.
도와 주셔서 감사합니다
주의를 기울였는가
노트
배열 채우기
다차원 배열 은 ArrayFill() 에 의해 처리될 때 1차원 으로 처리됩니다. 예를 들어 array[2][4] 는 array[8] 로 처리 되므로 이 배열로 작업할 때 인덱스를 지정할 수 있습니다. 초기 요소의 값은 5와 같습니다. 따라서 array[2][4]에 대해 ArrayFill(array, 5, 2, 3.14)을 호출하면 array[1][1] 및 array[1][2]에 값 3.14가 채워집니다.
이 라인
ArrayFill (LoY, 0 , 31 , 0.5555 );
정확히 하나의 행으로 배열을 채웁니다.
수직/수평은 녹화물을 계속 바라보는 방식입니다. Excel 스프레드시트를 보면 모든 것이 명확해집니다. 열 "A"가 값으로 채워지면 1차원 배열을 얻습니다. 위치는 어떻게 됩니까? 그렇군요.. 소파에 누워서 가로로 보고있으니까.......
수직/수평은 녹화물을 계속 바라보는 방식입니다. Excel 스프레드시트를 보면 모든 것이 명확해집니다. 열 "A"가 값으로 채워지면 1차원 배열을 얻습니다. 위치는 어떻게 되나요? 그렇군요.. 소파에 누워서 가로로 보고있으니까.......
답변 해주셔서 감사합니다. 당신이 쓴 모든 것을 이해했습니다. 하지만 내 문제의 관점에서 쓰여진 것의 의미를 이해하지 못했습니다.
내 코드에서 수평 2차원 배열이란 인덱스 0 또는 1에 2개의 행이 있고 인덱스 0에서 30까지의 열이 있는 경우를 의미합니다. 첫 번째 차원은 다음과 같이 표시됩니다. [0][0], [0][하나], [0][2], ... [0]두 번째 차원은 다음과 같이 표시됩니다. [하나][0], [하나][하나], [하나][2], ... [1][서른]
내 코드에서 수직 2차원 배열이란 인덱스 0~30에 31개의 행이 있고인덱스 0과 1에 2개의 열이 있는 경우를 의미합니다. 첫 번째 차원은 다음과 같이 표시됩니다.[0][0], [하나[0], [2][0], ... [30][0] 두 번째 차원은 다음과 같이 표시됩니다. [0][하나], [하나][하나], [2][1], ... [30][하나]
내 코드를 실행하면 배열이 세로로 채워집니다. 그리고 ArraySort() 함수는 배열을 정렬 해야 하는 대로 정렬합니다.
질문 ArrayFill() 함수가 작동하지 않는 이유는 무엇입니까? 결국 20분에 배열의 첫 번째 차원(31개 요소)을 동일한 값 0.5555로 채우라고 했습니다. 도와 주셔서 감사합니다.
어드바이저 항목을 검색하기 위한 조건을 매 틱마다 확인하지 않고 다음 주문이 다른 어드바이저에 의해 또는 수동으로 열리거나 닫히는 경우에만(프로세서에 추가 로드가 없도록) 그런 아이디어가 있었습니다. 따라서 각 틱별로 주문 수의 일치 여부를 확인할 필요가 있습니다.
정적 변수 - 정적을 사용할 수 있습니까? 프로그램이 이 형식으로 작동합니까?
double LB= 0 ,LS= 0 ;
int b= 0 ,s= 0 ;
static int izmb, izms; // статическая переменная
for ( int i= 0 ; i< OrdersTotal (); i++)
{
if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES))
{
if (OrderSymbol()== Symbol ())
{
int tip = OrderType();
if (tip==OP_BUY)
{
LB += OrderLots();
b++;
}
if (tip==OP_SELL)
{
LS += OrderLots();
s++;
}
}
}
}
if (izmb!=b || izms!=s){
izmb=b;
izms=s
// далее идут условия для открытия ордера.
}
테스터에서 EA가 잘 작동하고 주문을 하는 이유를 누가 알 수 있지만 실제 계정 에서는 로봇이 활성화되어 있어도 주문이 이루어지지 않습니다.
잡지를 읽어야 답이 있을 수 있습니다.
이것부터 알려주세요-
그것을 얻을 -
이것부터 알려주세요-
그것을 얻을 -
명시적 유형 변환.
그리고 전체가 아닌 정수(반올림)도 할 수 있습니다. 하지만 이중에서는 18.0이 됩니다.
그럼 질문을 반복하겠습니다.
표현
if (izmb>b ||izmb<b || izms>s || izms<s)
이것과 동일:
if (izmb!=b || izms!=s)
그리고 무언가를 저장하고 싶다면 전역 변수 에 저장하십시오.
이것은 함수 본문 외부에 선언된 것입니다.
모두에게 좋은 하루!
MQL4에 대한 질문입니다. 다음은 간단한 코드입니다.
2차원 배열을 만들고 프로그램에서 값으로 채웁니다. 코드 ArrayFill(LoY,0,31,0.5555); 및 ArraySort(LoY,WHOLE_ARRAY,0,MODE_ASCEND); 디렉토리로 판단하면 둘 다 2차원 배열에서 작동합니다. ArrayFill()은 수평으로 채워진 배열에서 엄격하게 작동하며 Reference에서는 위에서 아래 또는 아래에서 위로가 아닌 왼쪽에서 오른쪽으로 엄격하게 값 으로 배열을 채웁니다 . ArraySort()는 2차원 배열을 첫 번째 차원으로 정렬합니다. 핸드북은 수평으로 채워진 배열 또는 수직으로 채워진 배열을 정렬하는지 여부를 말하지 않습니다. 내 코드 실행으로 판단하면 ArraySort()는 세로로 채워진 배열만 정렬합니다. 이 두 함수는 동일한 프로그램의 동일한 배열에서 작동할 수 없는 것 같습니다.
문제. ArraySort() 함수가 올바르게 작동하는 것이 중요합니다. 이를 기반으로 ArrayFill()이 작동하는 수평으로 채워진 배열을 정렬하도록 ArraySort()를 구성할 수 있습니까? 아니면 MQL4에서 작동하는 MQL5의 정렬 기능이 대신 도움이 될까요? 또는 모든 값이 포함된 가로로 채워진 배열을 세로로 변환하는 함수가 있습니다. 한 마디로, 내 프로그램이 배열을 수평으로 정렬하는 방법
메모. 대신에 루프를 사용하는 ArrayFill() - 나에게 적합하지 않습니다.
도와 주셔서 감사합니다
모두에게 좋은 하루!
MQL4에 대한 질문입니다. 다음은 간단한 코드입니다.
2차원 배열을 만들고 프로그램에서 값으로 채웁니다. 코드 ArrayFill(LoY,0,31,0.5555); 및 ArraySort(LoY,WHOLE_ARRAY,0,MODE_ASCEND); 디렉토리로 판단하면 둘 다 2차원 배열에서 작동합니다. ArrayFill()은 수평으로 채워진 배열에서 엄격하게 작동하며 Reference에서는 위에서 아래 또는 아래에서 위로가 아닌 왼쪽에서 오른쪽으로 엄격하게 값 으로 배열을 채웁니다 . ArraySort()는 2차원 배열을 첫 번째 차원으로 정렬합니다. 핸드북은 수평으로 채워진 배열 또는 수직으로 채워진 배열을 정렬하는지 여부를 말하지 않습니다. 내 코드 실행으로 판단하면 ArraySort()는 세로로 채워진 배열만 정렬합니다. 이 두 함수는 동일한 프로그램의 동일한 배열에서 작동할 수 없는 것 같습니다.
문제. ArraySort() 함수가 올바르게 작동하는 것이 중요합니다. 이를 기반으로 ArrayFill()이 작동하는 수평으로 채워진 배열을 정렬하도록 ArraySort()를 구성할 수 있습니까? 아니면 MQL4에서 작동하는 MQL5의 정렬 기능이 대신 도움이 될까요? 또는 모든 값이 포함된 가로로 채워진 배열을 세로로 변환하는 함수가 있습니다. 한마디로 내 프로그램이 배열을 수평으로 정렬하는 방법
메모. 대신에 루프를 사용하는 ArrayFill() - 나에게 적합하지 않습니다.
도와 주셔서 감사합니다
주의를 기울였는가
노트
다차원 배열 은 ArrayFill() 에 의해 처리될 때 1차원 으로 처리됩니다. 예를 들어 array[2][4] 는 array[8] 로 처리 되므로 이 배열로 작업할 때 인덱스를 지정할 수 있습니다. 초기 요소의 값은 5와 같습니다. 따라서 array[2][4]에 대해 ArrayFill(array, 5, 2, 3.14)을 호출하면 array[1][1] 및 array[1][2]에 값 3.14가 채워집니다.
이 라인
정확히 하나의 행으로 배열을 채웁니다.
수직/수평은 녹화물을 계속 바라보는 방식입니다. Excel 스프레드시트를 보면 모든 것이 명확해집니다. 열 "A"가 값으로 채워지면 1차원 배열을 얻습니다. 위치는 어떻게 됩니까? 그렇군요.. 소파에 누워서 가로로 보고있으니까.......
주의를 기울였는가
노트
이 라인
정확히 하나의 행으로 배열을 채 웁니다.
수직/수평은 녹화물을 계속 바라보는 방식입니다. Excel 스프레드시트를 보면 모든 것이 명확해집니다. 열 "A"가 값으로 채워지면 1차원 배열을 얻습니다. 위치는 어떻게 되나요? 그렇군요.. 소파에 누워서 가로로 보고있으니까.......
답변 해주셔서 감사합니다. 당신이 쓴 모든 것을 이해했습니다. 하지만 내 문제의 관점에서 쓰여진 것의 의미를 이해하지 못했습니다.
내 코드에서 수평 2차원 배열이란 인덱스 0 또는 1에 2개의 행이 있고 인덱스 0에서 30까지의 열이 있는 경우를 의미합니다. 첫 번째 차원은 다음과 같이 표시됩니다. [0] [0], [0] [하나], [0] [2], ... [0] 두 번째 차원은 다음과 같이 표시됩니다. [하나] [0], [하나] [하나], [하나] [2], ... [1] [서른]
내 코드에서 수직 2차원 배열이란 인덱스 0~30에 31개의 행이 있고 인덱스 0과 1에 2개의 열이 있는 경우를 의미합니다. 첫 번째 차원은 다음과 같이 표시됩니다. [0] [0], [하나 [0], [2] [0], ... [30] [0] 두 번째 차원은 다음과 같이 표시됩니다. [0] [하나], [하나] [하나], [2] [1], ... [30] [하나]
내 코드를 실행하면 배열이 세로로 채워집니다. 그리고 ArraySort() 함수는 배열을 정렬 해야 하는 대로 정렬합니다.
질문 ArrayFill() 함수가 작동하지 않는 이유는 무엇입니까? 결국 20분에 배열의 첫 번째 차원(31개 요소)을 동일한 값 0.5555로 채우라고 했습니다.
도와 주셔서 감사합니다.
나는 그것을 시도 할 것이다
도와 주셔서 감사합니다. 노력하겠습니다.
표현
이것과 동일:
그리고 무언가를 저장하고 싶다면 전역 변수 에 저장하십시오.
이것은 함수 본문 외부에 선언된 것입니다.
어드바이저 항목을 검색하기 위한 조건을 매 틱마다 확인하지 않고 다음 주문이 다른 어드바이저에 의해 또는 수동으로 열리거나 닫히는 경우에만(프로세서에 추가 로드가 없도록) 그런 아이디어가 있었습니다. 따라서 각 틱별로 주문 수의 일치 여부를 확인할 필요가 있습니다.
정적 변수 - 정적을 사용할 수 있습니까? 프로그램이 이 형식으로 작동합니까?