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

 
TheRumpledOne:
"정크"라면 왜 게시합니까?

나도 비슷한 생각을 했었다....

 

iCustom에 대한 한 가지 질문입니다.

iCustom 명령으로 Line 및 Shift 변수에 대해 설명하고 몇 가지 예를 들어주실 수 있습니까?

고맙습니다

 
matrixebiz:
iCustom에 대한 한 가지 질문입니다.

iCustom 명령으로 Line 및 Shift 변수에 대해 설명하고 몇 가지 예를 들어주실 수 있습니까?

고맙습니다

iCustom - MQL4 문서

모드 - 라인 인덱스. 0에서 7 사이일 수 있으며 SetIndexBuffer 함수 중 하나에서 사용하는 인덱스와 일치해야 합니다. shift - 표시기 버퍼에서 가져온 값의 인덱스(주어진 기간 전에 현재 막대에 상대적인 이동).

MODE를 사용하여 원하는 버퍼를 표시기에 알립니다. 지지 저항 표시기는 저항에 버퍼 0( MODE=0 )을 사용하고 지지에 버퍼 1( MODE=1 )을 사용할 수 있습니다.

SHIFT는 iCustom에서 호출한 표시기의 Bar(SHIFT) 값을 사용하라고 합니다.

그게 도움이 되나요?

 
TheRumpledOne:
iCustom - MQL4 문서

모드 - 라인 인덱스. 0에서 7 사이일 수 있으며 SetIndexBuffer 함수 중 하나에서 사용하는 인덱스와 일치해야 합니다. shift - 표시기 버퍼에서 가져온 값의 인덱스(주어진 기간 전에 현재 막대에 상대적인 이동).

MODE를 사용하여 원하는 버퍼를 표시기에 알립니다. 지지 저항 표시기는 저항에 버퍼 0( MODE=0 )을 사용하고 지지에 버퍼 1( MODE=1 )을 사용할 수 있습니다.

SHIFT는 iCustom에서 호출한 표시기의 Bar(SHIFT) 값을 사용하라고 합니다.

그게 도움이 되나요?

좋아, 나는 Shift를 얻었고 Mode에 대해 더 읽어야 할 것이다.

당신은 코딩합니까? EA에서 호출한 이 표시기가 있지만 올바르게 설정하는 방법을 모르겠습니다. 그림을 참조하십시오.

두 개의 라인만 있고 Blue가 변경되고 다른 라인과 정렬되면 Long 신호가 생성됩니다(Red와 동일한 아이디어).

VQ 표시기와 함께 사용한 것과 같은 몇 가지 다른 코드를 시도했습니다.

이중 항목1 = iCustom(NULL, 0, "VQ", 24, 30....., 0, 1);

이중 항목2 = iCustom(NULL, 0, "VQ", 24, 30....., 0, 2);

이중 Up2 = iCustom(NULL, 0, "VQ", 24, 30....., 1, 2);

더블 다운2 = iCustom(NULL, 0, "VQ", 24, 30....., 2, 2);

거래를 제대로 하지 않았을 뿐입니다.

감사해요

파일:
ci.jpg  66 kb
 
matrixebiz:
좋아, 나는 Shift를 얻었고 모드에 대해 더 읽어야 할 것이다.

당신은 코딩합니까? EA에서 호출한 이 표시기가 있지만 올바르게 설정하는 방법을 모르겠습니다. 그림을 참조하십시오.

두 개의 라인만 있고 Blue가 변경되고 다른 라인과 정렬되면 Long 신호가 생성됩니다(Red와 동일한 아이디어).

VQ 표시기와 함께 사용한 것과 같은 몇 가지 다른 코드를 시도했습니다.

이중 항목1 = iCustom(NULL, 0, "VQ", 24, 30....., 0, 1);

이중 항목2 = iCustom(NULL, 0, "VQ", 24, 30....., 0, 2);

이중 Up2 = iCustom(NULL, 0, "VQ", 24, 30....., 1, 2);

더블 다운2 = iCustom(NULL, 0, "VQ", 24, 30....., 2, 2);

거래를 제대로 하지 않았을 뿐입니다.

감사해요

"#MTF CI"라는 이름의 아래쪽 표시기를 참조하는 경우 해당 표시기에는 4개의 버퍼가 있을 수 있다고 생각합니다. 각 줄의 두 가지 색상에 대해 각각 하나씩입니다. 데이터 창(ctrl-D)을 불러와 표시기에 있는 버퍼와 해당 인덱스( iCustom 호출 에 대한 MODE 인수)를 확인할 수 있습니다.

 
matrixebiz:
좋아, 나는 Shift를 얻었고 모드에 대해 더 읽어야 할 것이다.

당신은 코딩합니까?

감사해요

나는 내 시간에 지표 또는 2 ( HUNDREDS )를 코딩하는 것으로 알려져 있습니다 ....LOL!

 
ralph.ronnquist:
"#MTF CI"라는 이름의 아래쪽 표시기를 참조하는 경우 해당 표시기에는 4개의 버퍼가 있을 수 있다고 생각합니다. 각 줄의 두 가지 색상에 대해 각각 하나씩입니다. 데이터 창(ctrl-D)을 불러와 표시기에 있는 버퍼와 해당 인덱스(iCustom 호출에 대한 MODE 인수)를 확인할 수 있습니다.

예, 맞습니다. 어떻게 iCustom하고 Trade를 생성합니까?

작동하는 다른 두 개(QQEA 4 버퍼 및 VQ 2 버퍼)에 대해 이것을 사용합니다.

double Entry1 = iCustom(NULL, 0, "VQ", Crash,TimeFrame,Length,Method,Smoothing,Filter,RealTime,Steady,Colors,Alerts,EmailON,SignalPrice,CountBars, 0, 1);

double Entry2 = iCustom(NULL, 0, "VQ", Crash,TimeFrame,Length,Method,Smoothing,Filter,RealTime,Steady,Colors,Alerts,EmailON,SignalPrice,CountBars, 0, 2);

double Up2 = iCustom(NULL, 0, "VQ", Crash,TimeFrame,Length,Method,Smoothing,Filter,RealTime,Steady,Colors,Alerts,EmailON,SignalPrice,CountBars, 1, 2);

double Down2 = iCustom(NULL, 0, "VQ", Crash,TimeFrame,Length,Method,Smoothing,Filter,RealTime,Steady,Colors,Alerts,EmailON,SignalPrice,CountBars, 2, 2);

double qqe0_0=iCustom(Symbol(),0,"QQEA",QQEA_SF,RSI_Period,DARFACTOR,0,1);

double qqe0_1=iCustom(Symbol(),0,"QQEA",QQEA_SF,RSI_Period,DARFACTOR,0,2);

double qqe1_0=iCustom(Symbol(),0,"QQEA",QQEA_SF,RSI_Period,DARFACTOR,1,1);

double qqe1_1=iCustom(Symbol(),0,"QQEA",QQEA_SF,RSI_Period,DARFACTOR,1,2);

//구입하다

qqe0_0>qqe1_0 && qqe0_1Entry2 && ....

감사합니다 랄프

파일:
data.jpg  24 kb
 
matrixebiz:
예, 맞습니다. 어떻게 iCustom하고 Trade를 생성합니까?

작동하는 다른 두 개(QQEA 4 버퍼 및 VQ 2 버퍼)에 대해 이것을 사용합니다.

double Entry1 = iCustom(NULL, 0, "VQ", Crash,TimeFrame,Length,Method,Smoothing,Filter,RealTime,Steady,Colors,Alerts,EmailON,SignalPrice,CountBars, 0, 1);

double Entry2 = iCustom(NULL, 0, "VQ", Crash,TimeFrame,Length,Method,Smoothing,Filter,RealTime,Steady,Colors,Alerts,EmailON,SignalPrice,CountBars, 0, 2);

double Up2 = iCustom(NULL, 0, "VQ", Crash,TimeFrame,Length,Method,Smoothing,Filter,RealTime,Steady,Colors,Alerts,EmailON,SignalPrice,CountBars, 1, 2);

double Down2 = iCustom(NULL, 0, "VQ", Crash,TimeFrame,Length,Method,Smoothing,Filter,RealTime,Steady,Colors,Alerts,EmailON,SignalPrice,CountBars, 2, 2);

double qqe0_0=iCustom(Symbol(),0,"QQEA",QQEA_SF,RSI_Period,DARFACTOR,0,1);

double qqe0_1=iCustom(Symbol(),0,"QQEA",QQEA_SF,RSI_Period,DARFACTOR,0,2);

double qqe1_0=iCustom(Symbol(),0,"QQEA",QQEA_SF,RSI_Period,DARFACTOR,1,1);

double qqe1_1=iCustom(Symbol(),0,"QQEA",QQEA_SF,RSI_Period,DARFACTOR,1,2);

//구입하다

qqe0_0>qqe1_0 && qqe0_1Entry2 && ....

감사합니다 랄프

일반적으로 여러 색상의 표시줄이 표시되면 일반적으로 여러 버퍼에 의해 구현됩니다. 색상별로 하나씩. 그런 다음 상단 버퍼의 인덱스가 0이고 아래쪽으로 증가하는 데이터 창에서 버퍼 인덱스를 계산할 수 있습니다. 버퍼는 값이 있을 때 플롯됩니다(또는 LINE 그리기 스타일인 경우 플롯하려면 두 개 이상의 연속 값이 필요함).

표시기 소스 코드가 있는 경우 때때로 이를 들여다보고 SetIndexBuffer 함수 호출에서 버퍼 인덱스를 배우는 것이 더 쉽습니다.

측면의 포인트: 표시기는 디스플레이에 "객체"를 표시할 수도 있으며 iCustom 호출을 통해 액세스할 수 없습니다. 대신 "객체 이름"을 알아야 하며 해당 속성을 읽을 수 있습니다.

따라서 읽을 표시기 버퍼에 대해 항상 명확해야 하고 해당 인덱스를 iCustom에 대한 두 번째 마지막 인수로 사용해야 합니다.

예를 들어, VQ 표시기의 사용은 매우 옳지 않은 것 같습니다. 왜냐하면 (내가 본 출처에 따르면), 버퍼 [1]과 [2]는 각각 녹색과 빨간색 선에 사용되며 결코 둘 다 비어 있지 않은 경우입니다. 즉, "Up2==Down2"는 둘 다 "비어 있는" 경우를 제외하고는 항상 거짓이며 VQ 라인이 녹색도 빨간색도 아닌 노란색인 경우입니다.

그 외에는 당신이 올바른 방식으로 일을하고 있다고 생각합니다. 물론 변수 이름의 선택에 대해 논의할 수 있지만 그것은 학문적입니다. 갈 길은 iCustom 호출을 사용하여 관심 가치를 선택한 다음 거래 조건에서 특정 필수 가치 관계를 표현하는 것입니다.

 
ralph.ronnquist:
일반적으로 여러 색상의 표시줄이 표시되면 일반적으로 여러 버퍼에 의해 구현됩니다. 색상별로 하나씩. 그런 다음 상단 버퍼의 인덱스가 0이고 아래쪽으로 증가하는 데이터 창에서 버퍼 인덱스를 계산할 수 있습니다. 버퍼는 값이 있을 때 플롯됩니다(또는 LINE 그리기 스타일인 경우 플롯하려면 두 개 이상의 연속 값이 필요함).

표시기 소스 코드가 있는 경우 때때로 이를 들여다보고 SetIndexBuffer 함수 호출에서 버퍼 인덱스를 배우는 것이 더 쉽습니다.

측면의 포인트: 표시기는 디스플레이에 "객체"를 표시할 수도 있으며 iCustom 호출을 통해 액세스할 수 없습니다. 대신 "객체 이름"을 알아야 하며 해당 속성을 읽을 수 있습니다.

따라서 읽을 표시기 버퍼에 대해 항상 명확해야 하고 해당 인덱스를 iCustom에 대한 두 번째 마지막 인수로 사용해야 합니다.

예를 들어, VQ 표시기의 사용은 아주 옳지 않은 것 같습니다. 왜냐하면 (내가 본 소스에 따르면), 버퍼 [1]과 [2]는 각각 녹색과 빨간색 라인에 사용되며, 둘 다 비어 있지 않은 경우입니다. 즉, "Up2==Down2"는 둘 다 "비어 있는" 경우를 제외하고는 항상 거짓이며 VQ 라인이 녹색도 빨간색도 아닌 노란색인 경우입니다.

그 외에는 당신이 올바른 방식으로 일을하고 있다고 생각합니다. 물론 변수 이름의 선택에 대해 논의할 수 있지만 그것은 학문적입니다. 갈 길은 iCustom 호출을 사용하여 관심 가치를 선택한 다음 거래 조건에서 특정 필수 가치 관계를 표현하는 것입니다.

불행히도 위에서 언급한 세 가지 지표에 대한 출처가 없습니다. 각 지표에 대해 동시에 색상이 변경되는 정확한 순간에만 매수 또는 매도 조건을 확인 하도록 하려면 이들에 대한 코드를 어떻게 작성하시겠습니까?

감사해요

 

소스 부족은 문제가 되지 않습니다. 4개의 버퍼가 있는 표시기를 보여주는 이미지의 표시기 창 2에 초점을 맞춰 보겠습니다. 표시기 위에서 마우스를 좌우로 움직이면 어떤 색에 어떤 버퍼가 사용되는지 알 수 있습니다.

첫 번째 버퍼([0])는 맨 위 라인의 파란색 표시용이고 두 번째 버퍼([1])는 맨 위 라인의 빨간색 표시용이며 [2]와 [3]도 마찬가지로 하단 라인 의 파란색과 빨간색. 그런 다음 다음과 같이 표시기를 읽을 수 있습니다.

double top_is_blue = iCustom( ..., 0, 1 );

double top_was_blue = iCustom( ..., 0, 2 );

double top_is_red = iCustom( ..., 1, 1 );

double top_was_red = iCustom( ..., 1, 2 );

double bot_is_blue = iCustom( ..., 2, 1 );

double bot_was_blue = iCustom( ..., 2, 2 );

double bot_is_red = iCustom( ..., 3, 1 );

double bot_was_red = iCustom( ..., 3, 2 );

[/PHP]

Then you can summarise them as follows:

[PHP]bool top_goes_blue = ( top_is_blue == top_was_red );

bool top_goes_red = ( top_is_red == top_was_blue );

bool bot_goes_blue = ( top_is_blue == top_was_red );

bool bot_goes_red = ( top_is_red == top_was_blue );

bool both_go_blue = ( top_goes_blue && bot_goes_blue );

bool both_go_red = ( top_goes_red && bot_goes_red );

당신이 그것을하는 방법은 당신이 찾고있는 것에 달려 있습니다. 특히,

두 줄의 비동시 판독값을 결합하려는 경우 코딩이 더 복잡해질 수 있습니다. 예를 들어, 부울 변수 "both_go_blue"는 두 줄의 동시 판독값을 참조하며 "한 줄은 파란색이 되고 다른 줄은 잠시 후에 파란색이 됨"을 캡처하지 않습니다.