[ARCHIVE] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 5. - 페이지 398

 
solnce600 :

모든 것을 올바르게 한 것 같습니다 .... 여전히 열리지 않습니다 (테스터에서)

로그 http://clip2net.com/s/5aLodh에도 오류 정보가 없습니다.

나는 이해할 수 없다 - 무슨 일이야?

가격을 정상화해야 합니다.

 double Price= NormalizeDouble ( 0.9022 , Digits );
 
PapaYozh :

가격을 정상화해야 합니다.

아빠! 정말 감사합니다..... 그리고 작은 질문 하나 더.....

다음 경우에만 주문을 열고 싶습니다.

1. 캔들 N 30의 시가와 캔들 N 1의 최고가 사이의 거리는 150p 이상 입니다.


2. 양초 N 30의 시작 시간은 - 모든 시간, 모든 날짜와 동일 하지만 분 값은 15와 같아야 합니다( 예: 0:15, 1:15, .... 23:15).

if ((High[1]-Open[30])> 1500*Point) && (????????????????????)

//오픈 오더

Time [30] 함수를 사용하여 두 번째 조건을 발행하고 싶었지만 이 함수는 분 뿐만 아니라 시, 일, 년의 값을 반환 하고 분만 반환해야 합니다.

내가 필요한 촛불을 위해. Minute() 함수는 제로 캔들에 대해서만 분 값을 반환하기 때문에 나에게 적합하지 않습니다.

이 순간을 인코딩하는 가장 좋은 방법을 알려주세요.



 
solnce600 :

아빠! 정말 감사합니다..... 그리고 작은 질문 하나 더....

다음 경우에만 주문을 열고 싶습니다.

1. 캔들 N 30의 시가와 캔들 N 1의 최고가 사이의 거리는 150p 이상 입니다.


2. 양초 N 30의 시작 시간은 - ANY TIME, ANY DATE, 그러나 분 값은 15와 같아야 합니다( 즉, 0:15;1:15;....23:15).

if ((High[1]-Open[30])> 1500*Point) && (????????????????????)

//오픈 오더

Time [30] 함수를 사용하여 두 번째 조건을 발행하고 싶었지만 이 함수는 분 뿐만 아니라 시, 일, 년의 값을 반환 하고 분만 반환해야 합니다.

내가 필요한 촛불을 위해. Minute() 함수는 제로 캔들에 대해서만 분 값을 반환하기 때문에 나에게 적합하지 않습니다.

이 순간을 인코딩하는 가장 좋은 방법을 알려주세요.

https://docs.mql4.com/ru/dateandtime/TimeMinute

 
PapaYozh :

가격을 정상화해야 합니다.

정상화됐는데 아직도 안열림...

다른 코드에서는 정규화 없이 열리지만....

 int start()
 {
 double Price= NormalizeDouble ( 0.9022 , Digits ); 
 if   ((iTime( NULL , 0 , 0 ) )== D'14.08.2000 14 00' )
 if (Bid == Price)
if ( NormalizeDouble ( MathAbs (Bid - Price ), Digits ) <= 0.0005 )  
 int Ticket= OrderSend ( Symbol (),OP_SELL, 0.1 ,Bid, 1 ,Ask+ 1490 * Point ,Ask- 110 * Point , "jfh" , 123 );
}
return ( 0 );
 
 
solnce600 :

정상화됐는데 아직도 안열림...

다른 코드에서는 정규화 없이 열리지만....

Print() 함수 를 사용하고 어떤 조건이 실패하는지 확인하십시오.
 
모두에게 좋은 하루. 이 지표를 살펴보십시오. 제대로 작동하게 할 수 있습니까?
가격이 하락할 때 빨간색 라인 외에도 이미 하나의 파란색 라인이 있습니다(빨간색 라인이 추가됨, 첨부 파일 참조). 그런 다음 추세가 바뀌고 모든 것이 정확합니다. 파란색 만 있습니다.

미리 감사합니다


/* 디컴파일러 제거 */


 
solnce600 :

아빠! 정말 감사합니다..... 그리고 작은 질문 하나 더....

다음 경우에만 주문을 열고 싶습니다.

1. 캔들 N 30의 시가와 캔들 N 1의 최고가 사이의 거리는 150p 이상 입니다.


2. 양초 N 30의 시작 시간은 - 모든 시간, 모든 날짜와 동일 하지만 분 값은 15와 같아야 합니다( 예: 0:15, 1:15, .... 23:15).

if ((High[1]-Open[30])> 1500*Point) && (????????????????????)

//오픈 오더

Time [30] 함수를 사용하여 두 번째 조건을 발행하고 싶었지만 이 함수는 분 뿐만 아니라 시, 일, 년의 값을 반환 하고 분만 반환해야 합니다.

내가 필요한 촛불을 위해. Minute() 함수는 제로 캔들에 대해서만 분 값을 반환하기 때문에 나에게 적합하지 않습니다.

이 순간을 인코딩하는 가장 좋은 방법을 알려주세요.

모든 촛불의 시작부터 시간을 수정(계산 시 고려) 하려면 iBarShift(Symbol(), 1, Reference Point)를 사용 하는 것이 편리합니다. 그리고 시작점은 우리가 추적하고 있는 기간 막대의 시작점입니다. 귀하의 경우:

     if (iBarShift ( Symbol (), 1 , iOpen ( Symbol (), PERIOD_M30 , 0) ) == 15 ) //что-то делаем

코드의 한 부분을 간단히 살펴보면 작성하는 내용에 대해 전혀 생각하지 않는다고 말할 수 있습니다. 그리고 그것에 대해 생각해 보십시오(발췌).

 if ((Minute( ) == 45 )&&(Minute( ) < 50 ))

...

 
TarasBY :


코드의 한 부분을 간단히 살펴보면 작성하는 내용에 대해 전혀 생각하지 않는다고 말할 수 있습니다. 그리고 그것에 대해 생각해 보십시오(발췌).

...


답변 감사합니다 댓글 없이 코드를 올려서 죄송합니다.

무의미해 보였던 그 속에 통하는 의미가 있어

if(Bid==Price) // 시간이 양초 의 개장 시간 과 같은 경우, 즉 새로운 양초 형성

if((Minute( ) ==45)&&(Minute( ) <50)) // 새 양초를 열 때의 분 값이 45 에서 50 사이인 경우(사실 일부 양초는 45분 은 정확히 45분에 열리는 것이 아니라 지연이 있어서, 공식적으로는 45분에 열리는 양초를 놓치지 않기 위해 실제로 1,2,3,4분 뒤에 &&(Minute( ) <50))

int Ticket=OrderSend(Symbol(),OP_BUY,0.1,Ask,1,Bid-1500*Point,Bid+150*Point,"jfh",123);

}

반품;

따라서 주문은 공식적으로 45분에 열리는 각 15분 또는 5분 또는 1분 양초의 시작 부분에 열립니다.(+ 4분 이내, 즉 늦게)
 
solnce600 :

나는 당신 에게 조금 가져 가려고 노력하고 있습니다. 그러나 매우 중요한 생각: "당신이 처방하고 싶은 것"과 "당신이 처방한 것"은 완전히 다른 것입니다!!! 조건에 있는 경우:

 if ((Minute( ) == 45 )&&(Minute( ) < 50 ))

Minute() == 46이면 일반 조건이 작동하지 않습니다!!! 어쩌면 그렇게:

 if ((Minute() >= 45 ) && (Minute() < 50 ))

??? :-[