갑자기 (그러나 평소와 같이) ObjectGetInteger(0,objectName,OBJPROP_TYPE)가 더 빠릅니다.
ObjectFind는 동기식 명령으로 차트 개체의 완전한 업데이트(및 가용성)를 기다립니다. 사용 시 상당한 지연이 발생합니다.
자신의 개체(즉, 응용 프로그램에서 만든 개체)로 작업하는 경우 ObjectFind를 사용 하면 안 됩니다. 개체가 생성된 창과 개체가 존재할 가능성이 가장 높고 원하는 유형이라는 것을 이미 알고 있습니다. 최대 문제 - 사용자가 개체를 삭제하거나 속성을 변경했다는 사실
Приказы на проведение торговых операций оформляются ордерами. Каждый ордер имеет множество свойств для чтения, информацию по ним можно получать с помощью функций Идентификатор позиции, который ставится на ордере при его исполнении. Каждый исполненный ордер порождает сделку, которая открывает новую или изменяет уже существующую позицию...
그래서 나는 기억이 나지 않지만 확인이 필요하지만 꺼려합니다. mql4에서는 이미 존재하는 이름으로 객체를 생성하려고 할 때 단순히 오류가 반환되었지만 mql5에서는 더 이상 오류가 아니라 좌표가 다른 경우 매개변수 수정이 반환되었을 수 있습니다.
Artyom이 말했듯이 - 물체의 존재를 확인하십시오
네, 그렇습니다.
갑자기 (그러나 평소와 같이) ObjectGetInteger(0,objectName,OBJPROP_TYPE)가 더 빠릅니다.
ObjectFind는 동기식 명령으로 차트 개체의 완전한 업데이트(및 가용성)를 기다립니다. 사용 시 상당한 지연이 발생합니다.
자신의 개체(즉, 응용 프로그램에서 만든 개체)로 작업하는 경우 ObjectFind를 사용 하면 안 됩니다. 개체가 생성된 창과 개체가 존재할 가능성이 가장 높고 원하는 유형이라는 것을 이미 알고 있습니다.
최대 문제 - 사용자가 개체를 삭제하거나 속성을 변경했다는 사실
고맙습니다. 흥미로운.
모두에게 좋은 하루.
Kovalev의 교과서에는배열 인덱스 에 정수 값을 상수, 변수 또는 표현식의 형태로 지정할 수 있다고 나와 있습니다.
mql4에서 변수 형태로 인덱스를 설정하면 컴파일러에서 하나의 오류가 발생합니다.
인덱스를 설정하는 방법은 다음과 같습니다.
정수 = 1000;
이중 T_P[ W ]={0};
무효 OnTick()
{
코드
}
내가 뭘 잘못하고 있는지 말해주세요.
고맙습니다.
모두에게 좋은 하루.
Kovalev의 교과서에는 배열 인덱스 에 정수 값을 상수, 변수 또는 표현식의 형태로 지정할 수 있다고 나와 있습니다.
mql4에서 변수 형태로 인덱스를 설정하면 컴파일러에서 하나의 오류가 발생합니다.
인덱스를 설정하는 방법은 다음과 같습니다.
정수 = 1000;
이중 T_P[ W ]={0};
무효 OnTick()
{
코드
}
내가 뭘 잘못하고 있는지 말해주세요.
고맙습니다.
배열의 인덱스는 배열의 크기가 아닙니다.
이해했습니다 감사합니다. 변수를 사용하여 어떤 식 으로든 배열의 크기 를 설정할 수 있습니까?
이해했습니다 감사합니다. 변수를 사용하여 어떤 식 으로든 배열의 크기를 설정할 수 있습니까?
배열의 첫 번째 차원에서 새 크기를 설정합니다.
int 배열 크기 조정 (
무효의& array[] , // 참조로 전달된 배열
정수 new_size , // 새 배열 크기
정수 Reserve_size=0 // 폴백 크기 값(중복)
);
배열의 첫 번째 차원에서 새 크기를 설정합니다.
int 배열 크기 조정 (
무효의& array[] , // 참조로 전달된 배열
정수 new_size , // 새 배열 크기
정수 Reserve_size=0 // 폴백 크기 값(중복)
);
소중한 정보 감사합니다.
안녕하세요! 이 간단한 코드를 이해하도록 도와주세요.
이제 주문을 시작/마감하는 메커니즘을 파악하고 있으며 열린 위치를 닫는 문제에 직면했습니다.
코드는 간단합니다. 알고리즘의 본질은 차트에 MA(이동평균)를 주기 100으로 그리는 것입니다. 이전 캔들 [1] 위에 열림 석사, 그리고 아래 폐쇄 MA, 다음 캔들 [0]에서 판매할 SELL 주문 이 열립니다.
//(구매조건이 반대여서 도색을 하지 않습니다)
주문을 마감하려면 다음과 같은 조건이 필요합니다. 현재 가격은 주문의 시작 가격, 포인트의 설정 값(예: 40)에서 전달되었습니다.
예: Bid=1.20045에서 열린 샷, Ask=1.20005에서 닫혀야 합니다.
글쎄요, 간단히 말해서, 뭔가가 저에게 효과가 없습니다. 새로운 주문을 열고 이미 열려 있는 포지션을 마감하기 위한 조건이지만 실제로 가격은 지정된 포인트 값(종가 수준을 통과)을 통과할 수 있고 주문은 그렇지 않습니다 폐쇄되다.
무엇이 잘못되었는지 알 수 없습니다.
p/s/ 스크린샷과 코드가 첨부되었습니다.
안녕하세요! 이 간단한 코드를 이해하도록 도와주세요.
이제 주문을 시작/마감하는 메커니즘을 파악하고 있으며 열린 위치를 닫는 문제에 직면했습니다.
코드는 간단합니다. 알고리즘의 본질은 차트에 MA(이동평균)를 주기 100으로 그리는 것입니다. 이전 캔들 [1] 위에 열림 석사, 그리고 아래 폐쇄 MA, 다음 촛대에서 [0] 매도 주문 이 열립니다.
//(구매조건이 반대여서 도색을 하지 않습니다)
주문을 마감하려면 다음과 같은 조건이 필요합니다. 현재 가격은 주문의 시작 가격, 포인트의 설정 값(예: 40)에서 전달되었습니다.
예: Bid=1.20045에서 열린 샷, Ask=1.20005에서 닫혀야 합니다.
글쎄요, 간단히 말해서, 뭔가가 저에게 효과가 없습니다. 새로운 주문을 열고 이미 열려 있는 포지션을 마감하기 위한 조건이지만 실제로 가격은 지정된 포인트 값(종가 수준을 통과)을 통과할 수 있고 주문은 그렇지 않습니다 폐쇄되다.
무엇이 잘못되었는지 알 수 없습니다.
p/s/ 스크린샷과 코드가 첨부되었습니다.
CheckForOpen()은 OnTick에서 직접 호출되어서는 안 되며 자체 작성 OnBar(OnTick에서 호출됨)에서 - 바가 열릴 때 호출해야 합니다. 하지만 사소한
Open[1], Close[1](이전 양초가 MA100을 돌파)가 아니라 Open[1], Open[0](이전 양초가 한쪽에서 MA를 열었고 현재 촛불이 다른 쪽에서 열림)을 봐야 합니다. 그렇지 않으면 양초와 작별 논리 사이의 작은 간격.
0번째 막대의 중앙값에서 SMA가 변경됩니다. 즉, 일정하지 않습니다. 당신은 그녀와 비교할 수 없습니다. 알고리즘을 수정합니다.
배열의 첫 번째 차원에서 새 크기를 설정합니다.
int 배열 크기 조정 (
무효의& array[] , // 참조로 전달된 배열
정수 new_size , // 새 배열 크기
정수 Reserve_size=0 // 폴백 크기 값(중복)
);
힌트를 주셔서 다시 한 번 감사드립니다. 하지만..... 핸드북에서는 이 기능이 동적 배열 에만 적용된다고 나와 있습니다. 그리고 내 코드에서는 동적 배열이 아니라 일반 배열입니다.
일반 배열의 크기가 1차원에서 어떻게 변하는지 알려 주시면 감사하겠습니다.
도움을 주셔서 다시 한 번 감사드립니다.