I사용자 정의 기능 - 페이지 20

 
Jeeves:
어떤 종류의 영혼이 나를 불행에서 벗어나게하고 'Advanced_ADX'표시기를 사용할 수 있도록 아래 내용을 다시 실행할 수 있습니까? 'custom' 기능을 사용해야 한다는 것을 알고 있지만 어떻게 하는지 알고 있습니다.

//h1 데이터

이중 h1adm = iadm(NULL,PERIOD_H1,2,MODE_CLOSE);

//h4 데이터

더블 h4adx = iadx(NULL,PERIOD_H4,2,MODE_CLOSE);

//d1 데이터

더블 d1adx = iadx(NULL,PERIOD_D1,2,MODE_CLOSE);

//색상 정의

색상 color_h1, color_h4, color_d1;

//문자열 정의

문자열 arrow_h1, arrow_h4, arrow_d1;

//h1 상승 추세

if (h1adx < 입찰가 ) { color_h1 = ColorUpGood; }

//h1 하락 추세

if (h1adx > Bid ) { color_h1 = ColorDownGood; }

//h4 상승 추세

if (h4adx < 입찰가 ) { color_h4 = ColorUpGood; }

//h4 하락 추세

if (h4adx > Bid ) { color_h4 = ColorDownGood; }

//d1 상승 추세

if (d1adx < 입찰가 ) { color_d1 = ColorUpGood; }

//d1 하락 추세

if (d1adx > Bid ) { color_d1 = ColorDownGood; }

다음과 같이 사용하십시오.

더블 h1adp=iADX(NULL,PERIOD_H1,ADXPeriod,PRICE_CLOSE,MODE_PLUSDI, 0);

더블 h1adm=iADX(NULL,PERIOD_H1,ADXPeriod,PRICE_CLOSE,MODE_MINUSDI,0);

if (h1adp > h1adm ) { color_h1 = ColorUpGood; }

if (h1adp < h1adm ) { color_h1 = ColorDownGood; }

테스트하려는 모든 시간 프레임에 대해 수행하십시오(끝에 있는 0을 다른 숫자로 대체할 수 있습니다. 0 => 현재 막대, 1 => 첫 번째 닫힌 막대 등)

 

프로그래밍 문제 2 질문 pls 도움말(로그 파일)( 사용자 지정 표시기/ 표준 Ind

안녕하세요 저는 이 문제를 해결하는 데 도움을 줄 수 있는 사람을 찾을 수 있기를 바랍니다. 매우 감사할 것입니다.

  • 초기 상황:
  • 우리는 Metatrader의 다양한 표준 지표 계산을 기반으로 다채널 필터 지표를 개발했습니다.

    이 지표는 당사의 전문 고문에서 사용하도록 고안되었습니다. 도전은,

    각 틱에서 이러한 표준 지표를 기반으로 한 모든 계산은 수많은 로그 항목을 유발합니다.

    이 때문에 우리의 거래가 지연됩니다.

    로그 항목을 피할 수 있습니까?

  • 문제를 해결하기 위한 우리의 시도:

표준 지표처럼 프로그래밍된 맞춤형 지표가 있습니다. 다른 지표에서 사용하는 표준 코스 계산을 변경하려고 했습니다. 그러나 이것들은 예상되는 결과를 가져오지 않습니다.

표준 코스 계산을 사용하여 표준 지표는 사용자 지정 지표와 동일한 결과를 가져옵니다. 그러나 코스 계산을 변경

사용자 지정 지표와 관련하여 해당 표준 지표의 차이를 유도합니까?

표준 지표와 똑같이 작동하는 사용자 지정 지표를 얻을 수 있습니까(선택한 코스 계산에 관계없이)?

 
spongebozz:
안녕하세요 저는 이 문제를 해결하는 데 도움을 줄 수 있는 사람을 찾을 수 있기를 바랍니다. 매우 감사할 것입니다.
  • 초기 상황:
  • 우리는 Metatrader의 다양한 표준 지표 계산을 기반으로 다채널 필터 지표를 개발했습니다.

    이 지표는 당사의 전문 고문에서 사용하도록 고안되었습니다. 도전은,

    각 틱에서 이러한 표준 지표를 기반으로 한 모든 계산은 수많은 로그 항목을 유발합니다.

    이 때문에 우리의 거래가 지연됩니다.

    로그 항목을 피할 수 있습니까?

  • 문제를 해결하기 위한 우리의 시도:

표준 지표처럼 프로그래밍된 맞춤형 지표가 있습니다. 다른 지표에서 사용하는 표준 코스 계산을 변경하려고 했습니다. 그러나 이것들은 예상되는 결과를 가져오지 않습니다.

표준 코스 계산을 사용하여 표준 지표는 사용자 지정 지표와 동일한 결과를 가져옵니다. 그러나 코스 계산을 변경

사용자 지정 지표와 관련하여 해당 표준 지표의 차이를 유도합니까?

표준 지표와 똑같이 작동하는 사용자 지정 지표를 얻을 수 있습니까(선택한 코스 계산에 관계없이)?

안녕하세요 스폰지보즈입니다.

이것은 귀하의 질문의 첫 번째 부분입니다... 너무 큰 로그 및 시스템 속도 저하에 관한...

로그는 PRINT 문에서 생성되었을 가능성이 큽니다... 너무 많은...EA 및/또는 지표에서...

로그에 인쇄를 중지하려는 모든 PRINT 문 앞에 2개의 오른쪽(//) 슬래시를 배치하여 PRINT 문을 제거 하거나 비울 수 있습니다.

예시:

// Print("예시입니다."); //는 코드 라인을 비우고 로그에 인쇄하지 않습니다...

원하는 경우 ... ALL ... PRINT 문을 비워 ... 찾기/바꾸기를 할 수 있습니다 ...

찾기: 인쇄

바꾸기: // 인쇄

표시기 표준 또는 사용자 정의의 유형... 중요하지 않아야 합니다...

제거하거나 비워야 하는 PRINT 문이 많은 경우에만 중요합니다.

그리고 나중에 언제든지 돌아가서 원하는 PRINT 문을 선택 취소하고 다른 문을 비워 두거나 완전히 삭제할 수 있습니다.

이것이 도움이 되기를 바랍니다.

로버트

 

안녕 얘들아!

바이너리 옵션을 위한 EA를 만들고 있고 내 EA에서 수신할 표시기의 "신호"를 받고 싶습니다. 아시다시피 바이너리 옵션은 PUT 또는 CALL만 생성하므로 iCustom이 내 표시기를 듣고 내 EA에서 풋 및 콜을 하기를 바랍니다. 말이된다?

그럼 어떻게 해야 할까요?

인디에서는 다음과 같이 입력하면 됩니다.

// PUT

if (AlignsForAput == true){

PutBuffer[] = 1;

}

// CALL

if (AlignsForAcall == true){

CallBuffer[] = 1;

}

PutBuffer[] = 0;

CallBuffer[] = 0;

이 작업을 수행하는 방법에 대한 좋은 예를 작성하는 데 도움을 주세요. 무엇을 작성해야 하며 어디에 작성해야 합니까?

감사해요!

 

누군가가 인디 코드와 EA 코드가 어떻게 생겼는지에 대한 간단한 예를 작성할 수 있다면 정말 감사하겠습니다! 내 질문에 대해 위를 참조하십시오.

 
SantaClaus:
누군가가 인디 코드와 EA 코드가 어떻게 생겼는지에 대한 간단한 예를 작성할 수 있다면 정말 감사하겠습니다! 내 질문에 대해 위를 참조하십시오.

지표 확인: https://www.mql5.com/en/forum/173032https://www.mql5.com/en/forum/173054

EA의 경우 https://www.mql5.com/en/forum/173136 및 https://www.mql5.com/en/forum/173171 확인하십시오.

 

위의 목적으로 iCustom을 사용 하는 방법에 대한 좋은 예가 있다는 말씀이신가요?

 
SantaClaus:
위의 목적으로 iCustom을 사용하는 방법에 대한 좋은 예가 있다는 말씀이신가요?

네, 그게 바로 제가 말씀드리는 바입니다(당신은 "indi 코드와 EA 코드가 어떻게 생겼는지에 대한 간단한 예"를 요청했습니다 - 그 스레드가 당신을 도울 수 있습니다)

 
mladen:
네, 그게 바로 제가 말씀드리는 바입니다(당신은 "indi 코드와 EA 코드가 어떻게 생겼는지에 대한 간단한 예"를 요청했습니다 - 그 스레드가 당신을 도울 수 있습니다)

아니요, 첫 번째 질문에서 원하는 대로 iCustom을 사용 하는 방법을 설명하는 링크가 없습니다.

 
SantaClaus:
아니요, 첫 번째 질문에서 원하는 대로 iCustom을 사용하는 방법을 설명하는 링크가 없습니다.

iCostom()을 사용하는 방법을 자세히 설명하는 스레드에 게시하고 있는데(이 스레드의 첫 페이지로 이동하기만 하면 됩니다) 그 방법을 찾을 수 없습니까?

다음은 짧은 버전입니다.

_______________________________________

아이커스텀

지정된 사용자 지정 표시기를 계산하고 해당 값을 반환합니다.

[테이블] 이중 iCustom(

문자열 기호 , // 기호

int timeframe , // 시간 프레임

string name , // 사용자 지정 표시기 컴파일된 프로그램의 경로/이름

... // 사용자 지정 표시기 입력 매개변수(필요한 경우)

int 모드 , // 라인 인덱스

int 시프트 // 시프트

);[/TD]

[/TR]

[/테이블]

매개변수

상징

지표가 계산될 데이터의 기호 이름입니다. NULL 은 현재 기호를 의미합니다.

기간

기간. ENUM_TIMEFRAMES 열거형 값 중 하나일 수 있습니다. 0은 현재 차트 기간을 의미합니다.

이름

루트 표시기 디렉토리(MQL4/Indicators/)에 상대적인 사용자 정의 표시기 컴파일된 프로그램 이름입니다. 표시기가 하위 디렉토리(예: MQL4/Indicators/ Examples )에 있는 경우 해당 이름은 " Examples\\ indicator_name"으로 지정해야 합니다(이중 백슬래시 "\\"는 단일 백슬래시 대신 구분 기호로 지정되어야 함).

...

쉼표로 구분된 사용자 지정 표시기 입력 매개변수 .

전달된 매개변수 및 해당 순서는 사용자 지정 표시기의 선언 순서 및 extern 변수 유형과 일치해야 합니다. 입력 매개변수의 값을 지정하지 않으면 기본값 이 사용됩니다.

방법

라인 인덱스. 0에서 7 사이일 수 있으며 SetIndexBuffer() 함수 호출에 지정된 인덱스와 일치해야 합니다.

옮기다

표시기 버퍼에서 가져온 값의 인덱스(주어진 기간 전에 현재 막대를 기준으로 이동).

반환된 값

지정된 사용자 지정 표시기의 숫자 값입니다. 사용자 정의 표시기는 컴파일되어야 하며(*.EX4 파일) terminal_directory\MQL4\Indicators\ 디렉토리에 있어야 합니다.

예시:

[테이블]

[TR]

[TD] 이중 val= iCustom ( NULL ,0, "SampleInd" ,13,1,0); [/테이블]

_______________________________________

추신: "라인 인덱스. 0에서 7 까지 가능"은 메타트레이더가 문서에 여전히 가지고 있는 오류입니다("라인 인덱스여야 합니다. 0에서 511 까지 가능"). 그러나 공식적으로 변경되지 않는 한 그들의 문서, 나는 그들의 iCustom() 함수 정의를 고수할 것입니다

행복한 코딩

사유: