MetaTrader 4 Build 529 베타가 새로운 컴파일러와 함께 출시됨 - 페이지 27

 
Barbarian :

당신은 아마 지금 MT4의 베타 버전을 사용하는 곳에서 작성되고 있는 내용을 설명한 위의 내 게시물을 읽지 않았을 것입니다. nix에서는 모든 사람이 자신의 샌드박스에서 완전히 작업하고 루트 사용자만 모든 사람을 위한 공통 프로그램을 설치하고 다른 사용자가 사용할 수 있는 권한을 배포합니다. 거기에는 이데올로기가 완전히 다르지만 언뜻 보기에는 마이크로소프트와 비슷해 보입니다. 그건 그렇고, 나는 베타 버전에서 X:\Users\xxx\AppData\Roaming\MetaQuotes\Terminal\에 사용자 설정을 쓰는 것을 신경 쓰지 않습니다. 저는 다음에 반대합니다.

1. 이러한 하위 디렉토리가 생성됩니다. X:\Users\xxx\AppData\Roaming\MetaQuotes\Terminal\ B5589D10299052C8D921603EBD1F9752 \ 거기에 도착할 때까지 이름을 알 수 없으며 업데이트할 때마다 이름이 변경됩니다.

2. 이 경로를 따라 사용자 설정이 기록될 뿐만 아니라 실행 파일(지시자, 조언자, 스크립트 등)도 기록됩니다. 일반적으로 다른 사용자 이름으로도 외부인이 PC에 들어오지 못하도록 하는 모든 것입니다. 물론 이것은 나중에 우회하지만 비용은 얼마입니까?

그것이 나를 가장 두려워하는 첫 번째 지점이기 때문입니다. 파일 읽기/쓰기를 사용하면 이러한 작업을 사용하기 위한 코드가 더 복잡해집니다.


읽고 있었다. 나는 당신과 완전히 동의합니다. 내가 쓴 것 - 터미널에서 경로를 구성하는 것은 나쁘지 않을 것입니다. 때로는 여러 터미널, 공통 설정, 파일, 권고자에 유용합니다. 때로는 그렇지 않습니다.
 
Antonsan :

나는 스페인어로 씁니다. 그리고 저는 구글로 번역합니다.

영어 번역은 러시아어 번역만큼 나쁩니다.

이 표시기는 EA에 준비되어 있으며 몇 개의 막대만 그립니다.
시간 프레임 변경 나는 때때로 표시기가 종종 화면에 반복되는 것을 관찰했습니다.
때로는 여러 번 실행되고 선을 올바르게 그리는 것처럼 보이고 때로는 역사에 배열된 동일한 사본으로 보입니다.

이것은 역사상 3개의 동일한 사본이 있었지만 스크린샷을 줄이기 위해 2개만 보았습니다.

단말이 다른 TF의 이력을 다운로드할 때 발생합니다.

표시기 초기화 후에 전체 버퍼를 지워야 합니다. 또는 모든 막대를 그립니다.

 
ALXIMIKS :


그의 아이디어를 설명했습니다(그래프를 흔들고 현재를 과거에 붙이고 미래를 발명함), 명확하지 않다면 아아.......

양수 막대에 적절한 값으로 음수 막대에 필요한 것을 그리는 다른 방법을 제안하면 기쁠 것입니다.

어디로 가는가는 중요하지 않습니다. 중요합니다 - 결국에는 무엇을 그려야 하는지.

과거와 미래의 조각이 필요한 경우 미래에 필요한 막대 수에 대해 하나의 버퍼와 SetIndexShift가 필요합니다(과거에서 빌릴 것입니다).

미래만 필요한 경우 - 다시 하나의 버퍼, SetIndexShift(bars), 그리고 "막대" 값만 채우십시오.

그리고 전체 과거(가장 왼쪽 막대도 채워야 함)와 미래의 일부가 필요한 경우 각각에 대해 2개의 버퍼가 필요합니다.

문제가 전혀 보이지 않습니다.

 

이제 문자열로 선언된 외부 매개변수가 값을 잃어버리는 버그가 수정되었습니다. 감사해요

다음 문제는 iCustom() 호출에 있습니다. 호출된 표시기에 문자열 매개변수가 포함된 경우 다음 오류가 발생합니다.


"_master"에 대한 코드:

 #property indicator_chart_window
#property indicator_buffers 1

extern string TestString = "whatever value that we want initially set" ;

double firstBuffer[];

int OnInit () { SetIndexBuffer ( 0 ,firstBuffer); return ( 0 ); }
int deinit() {                                 return ( 0 ); }
int start ()
{
   firstBuffer[ 0 ] = iCustom ( NULL , 0 , "_slave" , "" , 0 , 0 );
   Comment (firstBuffer[ 0 ]);
   return ( 0 );
}

_slave용 코드":

 #property indicator_chart_window
#property indicator_buffers 1

extern string TestString = "whatever value that we want initially set" ;

double firstBuffer[];

int OnInit () { SetIndexBuffer ( 0 ,firstBuffer); return ( 0 ); }
int deinit() {                                 return ( 0 ); }
int start()
{
   firstBuffer[ 0 ] = 1 ;
   return ( 0 );
}

매개변수가 문자열 유형이 아닌 경우 다른 오류가 발생합니다.

정수로 선언되면 "_slave" 인스턴스를 계속해서 다시 로드합니다(매개변수 유형이 잘못된 경우와 같이).

"_master integer"에 대한 코드(iCustom() 호출에서 하나의 정수 유형 매개변수 사용:

 #property indicator_chart_window
#property indicator_buffers 1

double firstBuffer[];

int OnInit () { SetIndexBuffer ( 0 ,firstBuffer); return ( 0 ); }
int deinit() {                                 return ( 0 ); }
int start ()
{
   firstBuffer[ 0 ] = iCustom ( NULL , 0 , "_slave integer" ,( int ) 0 , 0 , 0 );
   Comment (firstBuffer[ 0 ]);
   return ( 0 );
}

그리고 "_slave integer" 코드:

 #property indicator_chart_window
#property indicator_buffers 1

extern int dummy = 0 ;

double firstBuffer[];

int OnInit () { SetIndexBuffer ( 0 ,firstBuffer); return ( 0 ); }
int deinit() {                                 return ( 0 ); }
int start()
{
   firstBuffer[ 0 ] = 1 ;
   return ( 0 );
}

호출된 표시기의 매개변수가 이중으로 선언되면 정상적으로 작동합니다.

 

데이터 메모리가 제대로 지워지지 않는 단말기 문제나 본인이 모르는 다른 문제가 있는 것 같습니다.

이러한 상황이 전문가에게 발생할 수 있다면 반드시 잘못된 데이터를 수신하십시오.

이것은 크리스마스 트리를 위한 그림 프로그램과 더 비슷합니다.

 
mladen :

호출된 표시기의 매개변수가 이중으로 선언되면 정상적으로 작동합니다.


최대한 빨리 확인하도록 하겠습니다. 감사합니다
 
Antonsan :

나는 스페인어로 씁니다. 그리고 저는 구글로 번역합니다.

영어 번역은 러시아어 번역만큼 나쁩니다.

이 표시기는 EA에 준비되어 있으며 몇 개의 막대만 그립니다.
시간 프레임 변경 나는 때때로 표시기가 종종 화면에 반복되는 것을 관찰했습니다.
때로는 여러 번 실행되고 선을 올바르게 그리는 것처럼 보이고 때로는 역사에 배열된 동일한 사본으로 보입니다.

이것은 역사상 3개의 동일한 사본이 있었지만 스크린샷을 줄이기 위해 2개만 보았습니다.

헐! Escriba en el español! 확인하세요! 수에르테!
 
Antonsan :

데이터 메모리가 제대로 지워지지 않는 단말기 문제나 본인이 모르는 다른 문제가 있는 것 같습니다.

이러한 상황이 전문가에게 발생할 수 있다면 반드시 잘못된 데이터를 수신하십시오.

이것은 크리스마스 트리를 위한 그림 프로그램과 더 비슷합니다.

터미널은 버퍼를 지우면 안 됩니다. 표시기 실행 후 한 번만 초기화하십시오.
 
stringo :

수정됨

포인트 1과 2도 수정되었습니다.

포인트 3. 우리는 디버거에 종사하고 있습니다

포인트 4, 5의 경우 재생산 방법을 알아야 합니다. 단계별로. 바로 재생되지 않습니다

피드백을 주셔서 감사합니다. 코드는 서비스 데스크 #880536으로 전송되었습니다.
 

문서 오류:

날짜/시간 아이볼륨

해야한다

더블 아이볼륨