코딩 도움말 - 페이지 96

 

안녕하세요 믈라덴입니다.

내 코드에서 몇 가지 사항을 추적하고 싶습니다. 그 중 하나는 동일한 쌍의 다른 매직 번호와 다른 주석을 가진 공개 거래의 수이므로 이 코드를 사용하고 있습니다. 일부 코드 내부에서 실수를 범하고 있습니다. CPU가 100%이므로 기능 을 개선하려고 합니다. 다음은 그 중 하나입니다. 제 방법에 대한 더 나은 대안을 제안해 주시겠습니까?

x=OrdersTotal(); xx=x; //-- Count How magic number && comment are open for the same pair for( i=0;i<x;i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if( OrderSymbol() == Sym /*&& OrderCloseTime()==0 */){

TemMagic= OrderMagicNumber(); TemOrdComment= OrderComment(); OrdOpenPrice= OrderOpenPrice(); OrdType= OrderType(); iSameSymTotal++; // count all oopen trades from the same Symbol for( i=0;i<xx;i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if( OrderSymbol() == Sym ){ if ( TemMagic!= OrderMagicNumber())CounTMagic++; if (TemOrdComment!= OrderComment())CounTComment++; }} }}
 
MiniMe:
안녕하세요 믈라덴입니다.

내 코드에서 몇 가지 사항을 추적하고 싶습니다. 그 중 하나는 동일한 쌍의 다른 매직 번호와 다른 주석을 가진 공개 거래의 수이므로 이 코드를 사용하고 있습니다. 일부 코드 내부에서 실수를 범하고 있습니다. CPU가 100%이므로 기능을 개선하려고 합니다. 다음은 그 중 하나입니다. 제 방법에 대한 더 나은 대안을 제안해 주시겠습니까?

x=OrdersTotal(); xx=x; //-- Count How magic number && comment are open for the same pair for( i=0;i<x;i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if( OrderSymbol() == Sym /*&& OrderCloseTime()==0 */){

TemMagic= OrderMagicNumber(); TemOrdComment= OrderComment(); OrdOpenPrice= OrderOpenPrice(); OrdType= OrderType(); iSameSymTotal++; // count all oopen trades from the same Symbol for( i=0;i<xx;i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if( OrderSymbol() == Sym ){ if ( TemMagic!= OrderMagicNumber())CounTMagic++; if (TemOrdComment!= OrderComment())CounTComment++; }} }}[/PHP]

다음과 같은 코드를 사용하십시오(어디에 무엇이 저장되어 있는지 명확히 하기 위해 몇 가지 주석을 추가했습니다).

[PHP] 문자열 고유[][4]; ArrayResize(고유,0);

// //

// //

// 고유[][0] -> 기호

// unique[][1] -> 매직넘버

// 고유[][2] -> 주석

// uniques[][3] -> 발생 횟수

// StrToInt()를 사용하여 int로 변환해야 합니다.

// //

// //

for( int i=OrdersTotal()-1; i>=0; i--)

{

주문 선택(i,SELECT_BY_POS, MODE_TRADES);

부울 발견=거짓;

for (int k=ArrayRange(uniques,0)-1; k>=0 && !found; k--)

if (OrderSymbol() == uniques[k][0] && OrderMagicNumber() == StrToInteger(uniques[k][1]) && OrderComment() == uniques[k][2]) { uniques[k][ 3] = StrToInteger(uniques[k][3])+1; 발견 = 사실; }

만약 (! 발견)

{

k = ArrayRange(고유,0);

ArrayResize(고유, k+1);

고유[k][0] = OrderSymbol();

고유[k][1] = OrderMagicNumber();

고유[k][2] = OrderComment();

고유[k][3] = 1;

}

}

추신: 배열 자체의 크기(ArrayRange(uniques,0))는 고유한 기호 + 매직 번호 + 주석 조합의 수이고 uniques[nn][3]은 해당 특정 조합에 대한 발생 횟수를 보여줍니다. 주문 대기열

 

Mladen님, 감사합니다.

if (uniques[1][3] == 1) , 맞습니까 ?

하지만 이것은 컴파일되지 않습니다. uniques[1][3]이 문자열 배열이기 때문입니까?

해야 하나

if (StrToInteger(uniques[1][3])==1) ?

 
MiniMe:
Mladen님, 감사합니다.

if (uniques[1][3] == 1) , 맞습니까 ?

하지만 이것은 컴파일되지 않습니다. uniques[1][3]이 문자열 배열이기 때문입니까?

해야 하나

if (StrToInteger(uniques[1][3])==1) ?

예, 먼저 정수로 변환해야 합니다. 그러나 조건은 다음과 같습니다. if (StrToInteger(uniques[1][3])>1) 두 번째로 발견된 기호 + 매직 번호 + 주석 고유 조합에 대한 것입니다.

 

안녕 믈라덴

나는 이 Demark의 순차를 가지고 있다. 그러나 그것은 카운트다운 단계에서 틀리다.

이것은 Jason Perl의 책에 있는 정확한 설명입니다.

tD 설정 대 tD 순차 카운트다운

TD 설정이 완료되면 닫기부터 TD 카운트다운을 시작할 수 있습니다.

TD 설정(포함)의 9번째 마디부터. 의 구별

두 가지 전략은 다음과 같습니다.

• TD 설정은 현재 종가를 해당 종가와 비교합니다.

네 마디 이전에,

반면

• TD 카운트다운은 현재 종가를 낮은 두 막대와 비교합니다.

잠재적인 구매를 위해 더 일찍, 현재 종가를 다음과 비교합니다.

예상 판매를 위해 두 막대를 먼저 높입니다. 이 가격 관계는 다음과 같습니다.

TD Setup과의 중요한 차이점은 시장이

가능성을 객관적으로 식별하기 위해 TD 카운트다운에 대한 추세

추세 반전의 소진점.

TD 구매 카운트다운의 첫 번째 막대를 찾기 시작할 수 있습니다.

TD Buy 설정이 있을 때.

■ TD 구매 카운트다운 시작

후에

TD Buy 설정이 완료되었으며 TD Buy 카운트다운이 시작되었는지 확인합니다.

만약에

TD 매수 설정의 9번 막대도 종가가 낮은 2개 막대보다 작거나 같습니다.

더 일찍

그 다음에,

TD 매수 설정의 9번째 마디는 TD 매수 카운트다운의 1번째 마디가 됩니다.

만약에

그 조건이 충족되지 않고,

그 다음에

TD 매수 카운트다운 막대 1은 연기될 때까지 연기되고 TD 매수 카운트다운

총 13개의 마감이 있을 때까지 계속됩니다. 각 마감은 다음보다 작거나 같습니다.

낮은 두 막대 이전.

tD 매도 카운트다운

TD 판매 설정이 완료되는 즉시 첫 번째 항목을 찾을 수 있습니다.

TD 판매 카운트다운 막대; TD Sell 설정의 9번 막대도 막대가 될 수 있습니다.

다음 조건을 충족하는 경우 TD Sell Countdown 중 하나입니다.

■ TD 매도 카운트다운 요건

TD 매도 설정의 9번째 막대가 있는 상태에서 다음보다 큰 종가가 있어야 합니다.

이전의 높은 두 막대와 동일합니다.

내 이미지에서 (카운트다운 판매의 경우) 6번 막대가 이전에 높은 2개 막대보다 더 크지 않은 것을 볼 수 있습니다....그래서 그것은 틀렸습니다!

카운트다운 구매 및 판매에 대한 이 오류를 수정할 수 있습니까?

미리 감사합니다

파일:
 

실수를 발견했습니다(mt4의 500 버전은 ex4 파일을 생성하지 않음). 이제 작동합니다. 글 지우려고 했는데 안되네요

marley60:
안녕하세요,

도움이 되셨으면 합니다. 창 2에서 인디의 점(화살표; 아쿠아&노랑)이 창 1(메인 차트 창)에서 종가(또는 매수 신호의 경우 높음/매도 신호의 경우 낮은)에 점(화살표)으로 표시되기를 원합니다. 나는 몇 시간 동안 시도했지만 결코 코더가되지 않을 것입니다 ;-)

 
marley60:
실수를 발견했습니다(mt4의 500 버전은 ex4 파일을 생성하지 않음). 이제 작동합니다. 글 지우려고 했는데 안되네요

이전글 걱정마세요

적어도 우리는 빌드 500의 버그에 대해 하나 더 알고 있습니다.

 

모두 안녕!

도움을 요청하면서 더 간결하고 강력하게 문제를 설명하는 3분짜리 비디오를 만들었습니다!

비디오: 2013-06-13_1517 - D.Gilberto의 라이브러리 - 명확하게 설명해야 합니다!

나는 누군가의 제안이나 도움을 대단히 감사하겠습니다. 저는 기본적으로 모든 이동 평균이 교차할 때 막대가 무엇인지, 이 막대를 따르는 다음 막대가 21 EMA를 터치하기 위해 다시 올 때까지를 알고 싶습니다. 이 막대 범위의 높음/낮음. 60 EMA를 지나 마감하려면 첫 번째 막대에서 주문을 당겨야 합니다...

나는 이것이 너무 많은 질문이 아니기를 바라며 나에게 도움을 주는 밝은 불꽃에 크게 감사할 것입니다!

고맙습니다!

 

코더

나는 그림의 RSI를 기반으로 한 이 간단한 전략을 좋아합니다(TS에서 가져온 것일 수 있음).

멋지고 간단하면서도 효과적인 더 명확하게 설명할 필요가 없습니다. 그림은 천 마디 말의 가치가 있습니다!

MT4에 대해 이러한 표시기(RSI 캔들 및 오실레이터)를 코딩할 수 있습니까? 또는 우리는 이미 그러한 지표를 가지고 있습니다!

감사해요

파일:
 
marley60:
실수를 발견했습니다(mt4의 500 버전은 ex4 파일을 생성하지 않음). 이제 작동합니다. 글 지우려고 했는데 안되네요

말리,

Metatrader 알려진 버그에서 내 게시물을 참조하십시오. 나와 다른 여러 사람들이 같은 문제를 겪었습니다

쯔만