MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1266

 
Alexey Viktorov :

그래서 나는 기억이 나지 않지만 확인이 필요하지만 꺼려합니다. mql4에서는 이미 존재하는 이름으로 객체를 생성하려고 할 때 단순히 오류가 반환되었지만 mql5에서는 더 이상 오류가 아니라 좌표가 다른 경우 매개변수 수정이 반환되었을 수 있습니다.

Artyom이 말했듯이 - 물체의 존재를 확인하십시오

네, 그렇습니다.

 
Maxim Kuznetsov :

갑자기 (그러나 평소와 같이) ObjectGetInteger(0,objectName,OBJPROP_TYPE)가 더 빠릅니다.

ObjectFind는 동기식 명령으로 차트 개체의 완전한 업데이트(및 가용성)를 기다립니다. 사용 시 상당한 지연이 발생합니다.

자신의 개체(즉, 응용 프로그램에서 만든 개체)로 작업하는 경우 ObjectFind를 사용 하면 안 됩니다. 개체가 생성된 창과 개체가 존재할 가능성이 가장 높고 원하는 유형이라는 것을 이미 알고 있습니다.
최대 문제 - 사용자가 개체를 삭제하거나 속성을 변경했다는 사실

고맙습니다. 흥미로운.

 

모두에게 좋은 하루.
Kovalev의 교과서에는배열 인덱스 에 정수 값을 상수, 변수 또는 표현식의 형태로 지정할 수 있다고 나와 있습니다.
mql4에서 변수 형태로 인덱스를 설정하면 컴파일러에서 하나의 오류가 발생합니다.

인덱스를 설정하는 방법은 다음과 같습니다.
정수 = 1000;

이중 T_P[ W ]={0};

무효 OnTick()

{

코드

}
내가 뭘 잘못하고 있는지 말해주세요.
고맙습니다.

 
ANDREY :

모두에게 좋은 하루.
Kovalev의 교과서에는 배열 인덱스 에 정수 값을 상수, 변수 또는 표현식의 형태로 지정할 수 있다고 나와 있습니다.
mql4에서 변수 형태로 인덱스를 설정하면 컴파일러에서 하나의 오류가 발생합니다.

인덱스를 설정하는 방법은 다음과 같습니다.
정수 = 1000;

이중 T_P[ W ]={0};

무효 OnTick()

{

코드

}
내가 뭘 잘못하고 있는지 말해주세요.
고맙습니다.

배열의 인덱스는 배열의 크기가 아닙니다.
 
Alexey Viktorov :
배열의 인덱스는 배열의 크기가 아닙니다.

이해했습니다 감사합니다. 변수를 사용하여 어떤 식 으로든 배열의 크기 를 설정할 수 있습니까?

 
ANDREY :

이해했습니다 감사합니다. 변수를 사용하여 어떤 식 으로든 배열의 크기를 설정할 수 있습니까?

배열의 첫 번째 차원에서 새 크기를 설정합니다.

int 배열 크기 조정 (
    무효의&    array[] , // 참조로 전달된 배열
    정수      new_size , // 새 배열 크기
    정수      Reserve_size=0        // 폴백 크기 값(중복)
);

 
Aleksey Vyazmikin :

배열의 첫 번째 차원에서 새 크기를 설정합니다.

int 배열 크기 조정 (
    무효의&    array[] , // 참조로 전달된 배열
    정수      new_size , // 새 배열 크기
    정수      Reserve_size=0        // 폴백 크기 값(중복)
);

소중한 정보 감사합니다.

 

안녕하세요! 이 간단한 코드를 이해하도록 도와주세요.

이제 주문을 시작/마감하는 메커니즘을 파악하고 있으며 열린 위치를 닫는 문제에 직면했습니다.

코드는 간단합니다. 알고리즘의 본질은 차트에 MA(이동평균)를 주기 100으로 그리는 것입니다. 이전 캔들 [1]   위에 열림   석사, 그리고   아래 폐쇄   MA, 다음 캔들 [0]에서 판매할 SELL 주문 이 열립니다.

//(구매조건이 반대여서 도색을 하지 않습니다)

주문을 마감하려면 다음과 같은 조건이 필요합니다. 현재 가격은 주문의 시작 가격, 포인트의 설정 값(예: 40)에서 전달되었습니다.

예: Bid=1.20045에서 열린 샷, Ask=1.20005에서 닫혀야 합니다.

글쎄요, 간단히 말해서, 뭔가가 저에게 효과가 없습니다. 새로운 주문을 열고 이미 열려 있는 포지션을 마감하기 위한 조건이지만 실제로 가격은 지정된 포인트 값(종가 수준을 통과)을 통과할 수 있고 주문은 그렇지 않습니다 폐쇄되다.

무엇이 잘못되었는지 알 수 없습니다.

p/s/ 스크린샷과 코드가 첨부되었습니다.

Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Приказы на проведение торговых операций оформляются ордерами. Каждый ордер имеет множество свойств для чтения, информацию по ним можно получать с помощью функций Идентификатор позиции, который ставится на ордере при его исполнении. Каждый исполненный ордер порождает сделку, которая открывает новую или изменяет уже существующую позицию...
 
4elovechishe :

안녕하세요! 이 간단한 코드를 이해하도록 도와주세요.

이제 주문을 시작/마감하는 메커니즘을 파악하고 있으며 열린 위치를 닫는 문제에 직면했습니다.

코드는 간단합니다. 알고리즘의 본질은 차트에 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가 변경됩니다. 즉, 일정하지 않습니다. 당신은 그녀와 비교할 수 없습니다. 알고리즘을 수정합니다.

 
Aleksey Vyazmikin :

배열의 첫 번째 차원에서 새 크기를 설정합니다.

int 배열 크기 조정 (
    무효의&    array[] , // 참조로 전달된 배열
    정수      new_size , // 새 배열 크기
    정수      Reserve_size=0        // 폴백 크기 값(중복)
);

힌트를 주셔서 다시 한 번 감사드립니다. 하지만..... 핸드북에서는 이 기능이 동적 배열 에만 적용된다고 나와 있습니다. 그리고 내 코드에서는 동적 배열이 아니라 일반 배열입니다.

일반 배열의 크기가 1차원에서 어떻게 변하는지 알려 주시면 감사하겠습니다.
도움을 주셔서 다시 한 번 감사드립니다.