묻다! - 페이지 163

 
jizhong68:
친애하는 전문가,

ZigZag[2][100]와 같은 2차원 배열을 사용하고 있습니다. 첫 번째 차원을 기준으로 정렬하고 싶습니다. 다음 기능을 사용합니다.

ArraySort(지그재그,WHOLE_ARRAY,0,MODE_DESCEND);

그러나 그것은 1차원이나 2차원으로 분류되지 않는 것 같습니다. 여기 아무도 나를 도울 수 있습니까?

정말 감사합니다

MQL 문서에는 ArraySort가 첫 번째 차원을 기준으로 정렬 한다고 나와 있습니다. 올바른 결과를 얻지 못하면 배열의 입력 및 출력을 게시하십시오.

간단한 퀵소트 함수를 작성하는 데 너무 많은 시간이 걸리지는 않을 것입니다. 새 배열을 만들고 정렬된 결과를 저장한 다음 for 루프를 수행하여 ZigZag를 찾고 두 번째 차원을 복사합니다. 비효율적일 수 있지만 작동합니다.

 

여기 코드가 있습니다

beckham.is.619:
MQL 문서에는 ArraySort가 첫 번째 차원을 기준으로 정렬한다고 나와 있습니다. 올바른 결과를 얻지 못하면 배열의 입력 및 출력을 게시하십시오. 간단한 퀵소트 함수를 작성하는 데 너무 많은 시간이 걸리지는 않을 것입니다. 새 배열을 만들고 정렬된 결과를 저장한 다음 for 루프를 수행하여 ZigZag를 찾고 두 번째 차원을 복사합니다. 비효율적일 수 있지만 작동합니다.

답장을 보내 주셔서 감사합니다.

지지선과 저항선을 차트에 계산하여 표시하고 싶습니다. 그 알고리즘은 히스토리에서 100개의 지그재그를 찾아 각 지그재그의 무게를 세는 것입니다. 각 지그재그의 무게를 계산하는 방법? 각 ZigZag에 대해 모든 배열을 검색하여 값이 이 특정 ZigZag에 가까운 5포인트인 다른 ZigZag의 수량을 찾으려고 합니다. 예를 들어, 특정 ZigZag가 1.5000인 경우, 이 두 ZigZag의 거리는 5 Points 이내입니다. 그렇다면이 특정 ZigZag에 1 카운트를 추가하고 100 ZigZag 전체에 대해 그렇게합니다.

이 작업을 마치면 이 모든 지그재그를 카운터 차원으로 정렬하려고 합니다. 표시기에서 찾을 수 있습니다. 하지만 ArraySort(0 함수가 실행된 전후에 값을 인쇄하여 많은 시도를 했습니다. 차이점을 찾지 못했습니다.

나는 당신의 참조를 위해 지표를 게시합니다.

미리 감사드립니다.

표시기의 코드는 다음과 같습니다.

//+----------------------------------------------- -------------------+

//| 저항 및 지원.mq4 |

//| 저작권 ?200 |

//+----------------------------------------------- -------------------+

#property copyright "Copyright ?2006, Nick Bilak"

// 채널 ind에 해킹되었습니다. 2007년 초 t_david 작성

#속성 표시기_차트_창

외부 정수 간격 = 5;

외부 정수 깊이 = 24;

extern int 편차=5;

extern int BackStep=3;

외부 정수 BackStart=288;

정수 ZigN=100;

이중 지그재그[2][100];

정수 표시줄 = 500;

정수 dist=24;

정수 초기화() {

리턴(0);

}

정수 시작() {

int k,i,j,limit,hhb,llb;

int counted_bars=IndicatorCounted();

//---- 마지막으로 계산된 막대가 다시 계산됩니다.

if(counted_bars>0) counted_bars--;

ShowBars=막대-counted_bars;

지그재그 찾기();

저항 지원();

// for(i=0;i<10;i++)

{

// ObjectDelete("P_Line");

// ObjectCreate("P_Line", OBJ_HLINE,0, CurTime(),Close[0]);

ObjectDelete("RS0");

ObjectCreate("RS0",OBJ_HLINE,0,CurTime(),ZigZag[1][0]);

ObjectDelete("RS1");

ObjectCreate("RS1",OBJ_HLINE,0,CurTime(),ZigZag[1][1]);

ObjectDelete("RS2");

ObjectCreate("RS2",OBJ_HLINE,0,CurTime(),ZigZag[1][2]);

ObjectDelete("RS3");

ObjectCreate("RS3",OBJ_HLINE,0,CurTime(),ZigZag[1][3]);

ObjectDelete("RS4");

ObjectCreate("RS4",OBJ_HLINE,0,CurTime(),ZigZag[1][4]);

ObjectDelete("RS5");

ObjectCreate("RS5",OBJ_HLINE,0,CurTime(),ZigZag[1][5]);

ObjectDelete("RS6");

ObjectCreate("RS6",OBJ_HLINE,0,CurTime(),ZigZag[1][6]);

ObjectDelete("RS7");

ObjectCreate("RS7",OBJ_HLINE,0,CurTime(),ZigZag[1][7]);

ObjectDelete("RS8");

ObjectCreate("RS8",OBJ_HLINE,0,CurTime(),ZigZag[1][8]);

ObjectDelete("RS9");

ObjectCreate("RS9",OBJ_HLINE,0,CurTime(),ZigZag[1][9]);

}

// if (ShowBars >= Bars) ShowBars = Bars;

/*

(i=0;i<ShowBars;i++) {

b1=0;

b2=0;

b3=0;

b4=0;

b5=0;

b6=0;

b8=0;

hhb = iHighest(Symbol(),0,MODE_HIGH,dist,i-dist/2);

llb = iLowest(Symbol(),0,MODE_LOW,dist,i-dist/2);

만약 (i==hhb)

b3=하이+시그널갭*포인트;

만약 (i==llb)

b4=낮음[llb]-SignalGap*포인트;

b1=높음;//+SignalGap*포인트;

b2=낮음[llb];//-SignalGap*포인트;

}

*/

리턴(0);

}

//10개의 지그재그 찾기,

무효 FindZigZag()

{

int i=백스타트;

정수 ii=0;

정수 m=0;

정수 n=0;

동안(ii<ZigN)

{

if(iCustom(NULL,0,"지그재그",Depth,Deviation,BackStep,0,i)>0.1) //1=높음

{

지그재그[0]=0;

ZigZag[1]=iCustom(NULL,0,"지그재그",깊이,편차,백스텝,0,i);

// Print("지그재그: ",지그재그[1]);

ii++;

}

나는 ++;

}

}

// 저항 및 지원 찾기

무효 저항 지원()

{

정수 i,n;

for(i=0;i<ZigN;i++)

{

for(n=0;n<ZigN;n++)

{

if(MathAbs(지그재그[1]-지그재그[1][n])<포인트*갭)

{

지그재그[0]++;

}

// Print(i+":ZigNumber: "+ZigZag[0]+" ZigZag: "+ZigZag[1]);

}

// Print("종료");

}

ArraySort(지그재그, WHOLE_ARRAY ,0,MODE_DESCEND);

for(i=0;i<ZigN;i++)

{

// Print(i+":ZigNumber: "+ZigZag[0]+" ZigZag: "+ZigZag[1]);

}

// Print("종료");

}

 

그녀에게 MQL4에 대해 질문해도 될까요?

베를린에서 안녕하세요.

저는 이 포럼에서 처음이고 Coders의 전문가로부터 MQL4 과정을 읽었습니다. 가르쳐 주셔서 대단히 감사합니다! 이제 쉬운 프로그램을 시도하고 싶지만 이미 실패했습니다. MA 라인이 메인 차트에 표시되지 않는 이유는 무엇입니까? 당신의 도움을 주셔서 감사합니다.

#속성 표시기_차트_창

#property indicator_color1 빨간색

외부 정수 Period_MA = 21;

bool Fact_Up = 참;

부울 Fact_Dn = 참;

정수 시작()

{

이중 MA;

MA=iMA(NULL,0,Period_MA,0,MODE_SMA,PRICE_CLOSE,0);

if (입찰가 > MA && Fact_Up == true)

{

Fact_Dn = 사실;

Fact_Up = 거짓;

Alert("가격이 MA(",Period_MA,") 이상입니다.");

}

if (입찰가 < MA && Fact_Dn == true)

{

Fact_Up = 사실;

Fact_Dn = 거짓;

Alert("가격이 MA(",Period_MA,") 미만입니다.");

}

리턴(0);

}

 

안녕,

맞춤형 지표에 대한 아이디어를 구상 중입니다. 이것이 스크립트에서 가능한지 알아야 합니다.

MT4는 언제든지 내 마우스 아래에 있는 촛불을 인식할 수 있습니까? 그래서 특정 양초(클릭하거나 마우스를 올려서 선택)의 시작 또는 종료에 수평선 을 그리고 싶습니다. 이것이 가능합니까?

이에 대한 정보를 찾을 수 없었습니다.

큰 도움이 될 것입니다. 감사합니다!

 

EA의 주문/거래 관리자

안녕하세요,

EA의 주문/트랜잭션 관리를 위한 MQ4 라이브러리에 익숙한 사람이 있습니까? 저는 주로 다음 두 가지 기능에 관심이 있습니다.

1. 가상 스탑 오더 배치: 스탑 오더 와 함께 적용된 OrderSend(...)를 사용하는 대신 동일한 매개변수로 MyOrderSend(...)를 사용하면 관리자가 가격과 장소를 추적하면서 모든 것을 처리합니다. 가격이 스탑에 닿았을 때의 시장가 주문.

이것의 주요 목적은 불필요한 STOPLEVEL 부담을 극복하는 것이지만 "그림자" 주문도 허용합니다.

2. 관리자는 보류, 실행 및 종료된 주문에 대한 상태 및 통계를 수집합니다. 이 정보를 사용하여 멋진 MM 전략과 멋진 중지 전략을 구현할 수 있습니다(예: 라이브 포지션이 내가격인 횟수는 이익 보존 또는 중지 메커니즘에 사용될 수 있음).

나는 꽤 오랫동안 주위를 검색했기 때문에 그러한 라이브러리가 완전히 존재할 것이라고 기대하지는 않지만 부분 솔루션과 관련 코드 조각에 익숙하다면 훌륭할 것입니다.

건배,

트렌디

 

EA의 주문/거래 관리자

헤지 포지션을 허용하기 위해 mql5에서 아주 훌륭한 주문 관리자가 개발되었다는 것을 방금 발견했습니다. paulsfxrandomwalk blogspot을 참조하십시오(아직 링크 게시가 허용되지 않음).

완전하지는 않지만 아주 좋은 코드입니다.

C++ OOP 코드를 극도로 제한된 mql4로 다운그레이드해야 하므로 쉽지는 않지만 여전히 mql4로 변환하는 것이 가능합니다. 큰 낭비인듯

그래서 당신의 링크에 대한 나의 호출은 여전히 중입니다 ...

 

차트의 MA 라인

ssh95:
베를린에서 안녕하세요.

저는 이 포럼에서 처음이고 Coders의 전문가로부터 MQL4 과정을 읽었습니다. 가르쳐 주셔서 대단히 감사합니다! 이제 쉬운 프로그램을 시도하고 싶지만 이미 실패했습니다. MA 라인이 메인 차트에 표시되지 않는 이유는 무엇입니까? 당신의 도움을 주셔서 감사합니다.

#속성 표시기_차트_창

#property indicator_color1 빨간색

외부 정수 Period_MA = 21;

bool Fact_Up = 참;

부울 Fact_Dn = 참;

정수 시작()

{

이중 MA;

MA=iMA(NULL,0,Period_MA,0,MODE_SMA,PRICE_CLOSE,0);

if (입찰가 > MA && Fact_Up == true)

{

Fact_Dn = 사실;

Fact_Up = 거짓;

Alert("가격이 MA(",Period_MA,") 이상입니다.");

}

if (입찰가 < MA && Fact_Dn == true)

{

Fact_Up = 사실;

Fact_Dn = 거짓;

Alert("가격이 MA(",Period_MA,") 미만입니다.");

}

리턴(0);

}

안녕하세요 베를리너님

차트에 MA 선을 그리는 루틴이 위의 코드에서 누락된 것 같습니다.

이 TSD 포럼에서 많은 MA 지표의 좋은 예를 빠르게 검색하여 차트에 MA 선을 그리는 방법을 배우기 위해 코드를 볼 수 있습니다.

행운을 빕니다... 그리고 계속 배우십시오!

로버트

 

MTF 표시기의 새로 고침 문제

여보세요,

이 지표에 대한 도움이 필요합니다. MTF MACD 기울기가 있지만 새로 고침에 문제가 있습니다. 수정하려면 TF를 전환해야 합니다.

이미 변경 시도

limit=막대-counted_bars; 제한하기 = Bars-counted_bars/Period();

또한 Refreshrates()를 추가합니다.

결과가 없습니다.

죄송합니다. 코드를 .mql에 업로드해야 하고 php 태그를 사용하여 업로드를 시도했지만 너무 길었습니다.

MTF 스레드 에도 사진을 업로드합니다.

감사합니다.

파일:
 
codersguru:
안녕 여러분,

코드의 일부를 도와달라는 개인적인 메시지를 많이 받았습니다.

여기에 MQL4와 관련된 질문을 게시할 수 있습니다. 최선을 다해 답변해 드리겠습니다.

코드 전문가,

프로그래밍에 대한 지식이 전혀 없습니다. 그리고 이 execute_line indi에 경보 및 경고(외부 표시기로서)를 넣어 저를 도와줄 당신이나 누군가가 필요합니다.

미리 감사드립니다.

건배, 테리

파일:
 

와다 아타르 스캘핑

안녕하세요!

나는 스캘핑을 지향하는 흥미로운 지표를 발견했습니다.

나는 그것을 백 테스트하고 싶지만 며칠 후 막대가 인쇄되지 않습니다.

수천 개의 막대를 인쇄하려면 코드에서 무엇을 편집해야 하는지 알 수 있습니까? 메타 편집기에 숫자를 입력할 수 있는 옵션이 있으면 알려주세요. 나는 뭔가를 찾을 수 없습니다.

시간 내 줘서 고마워

잰더

waddah_attar_scalping.ex4

waddah_attar_scalping.mq4