[아카이브!] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 2. - 페이지 485 1...478479480481482483484485486487488489490491492...537 새 코멘트 Andrey F. Zelinsky 2011.07.03 18:52 #4841 FOReignEXchange : 이해하지 못하셨나요? 도움말을 보면 OrderSelect()가 조건을 사용합니다. 그리고 사실이 없으면 어디에서도 본 적이 없습니다. if는 조건문입니다. 그리고 괄호 안에 조건이 있어야 합니다. 그게 더 논리적으로 보입니다. 차이가 없더라도. 사양: bool OrderSelect( int index, int select , int pool=MODE_TRADES) 참 또는 거짓을 반환 도움말 읽기 https://docs.mql4.com/ru/basis/operators/if 표현식이 참이면 명령문1이 실행되고 명령문2 다음의 명령문으로 제어가 넘어갑니다(즉, 명령문2는 실행되지 않음). 표현식이 거짓이면 statement2가 실행됩니다. if (표현식) 연산자1 또 다른 연산자2 if 문의 else 부분은 생략할 수 있습니다. 따라서 else 부분이 생략된 중첩된 if 문 은 모호할 수 있습니다. 이 경우 else 는 else 부분이 없는 동일한 블록의 가장 가까운 이전 if 문 에 연결됩니다. 즉, OrderSelect()==true 비교가 필요하지 않습니다. OrderSelect ()==false 대신 OrderSelect () 또는 !OrderSelect() 를 사용하면 됩니다. Денис 2011.07.03 18:57 #4842 예, 나는 그것에 대해 말하는 것이 아닙니다. 나는 주문을 선택할 때 항상 전체를 씁니다. if ( OrderSelect (count,SELECT_BY_POS,MODE_TRADES)==true) 나는 진실이 없는 것을 본 적이 없다. abolk : то есть сравнение OrderSelect ()==true делать не обязательно - достаточно просто использовать OrderSelect () или ! OrderSelect () вместо OrderSelect ()==false 이해합니다 --- 2011.07.03 19:01 #4843 FOReignEXchange : 나는 진실이 없는 것을 본 적이 없다. 잘못된 사람들의 코드를 보십시오. Andrey F. Zelinsky 2011.07.03 19:02 #4844 FOReignEXchange : 예, 나는 그것에 대해 말하는 것이 아닙니다. 나는 주문을 선택할 때 항상 전체를 씁니다. 나는 진실이 없는 것을 본 적이 없다. 이해합니다 완전히 동등한 두 개의 녹음 - 하나의 녹음은 다른 것보다 나쁘지도 않고 더 좋지도 않습니다. Andrey F. Zelinsky 2011.07.03 19:05 #4845 sergeev : 잘못된 사람들의 코드를 보십시오. 그건 그렇고, 우리는 FOReignEXchange 에 경의를 표해야 합니다. 일반 " 이동 평균 .mq4"를 열고 다음을 보았습니다. if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)== false ) break ; Anatoli Kazharski 2011.07.03 19:11 #4846 abolk : 제공한 함수에서 직접 global_trailing_SP 변수의 값을 Print() 합니다. 이 변수의 값을 어디에서 읽고 있습니까? 블라미! )) Print()를 통해 제공된 함수의 global_trailing_SP 변수 값을 표시하면 로그에서 완전히 예상치 못한 값(노란색으로 강조 표시됨)을 볼 수 있습니다. 그 전에는 이 기능 외부에서 올바르게 표시됩니다(빨간 점 반대). global_trailing_SP 전역 변수. Start() 함수 외부에서 선언된, double global_trailing_SP = 0.0 ; 후행 정지 기능이 주 위치 값을 성공적으로 변경한 후 별도의 루프에서 global_trailing_SP 변수가 주 위치의 정지 손실 값으로 설정됩니다. for (count = OrdersTotal ()- 1 ; count >= 0 ; count--) { OrderSelect (count,SELECT_BY_POS,MODE_TRADES); if (OrderType() == OP_SELL && OrderMagicNumber() == Magic_Source_SP) { global_trailing_SP = NormalizeDouble (OrderStopLoss(),dgt); Print ( "global_trailing_SP: " ,DoubleToStr(global_trailing_SP, 5 )); } } 이 값은 위의 빨간색 점으로 표시됩니다. 그런 다음 이 값은 다양한 주문 수정이 발생하는 함수로 전달됩니다. 하지만 결과적으로 나에게 예측할 수 없는 값이 로그에 표시되고 손절매 값은 물론 수정되지 않습니다. 이 문제를 어떻게 해결할 수 있습니까? 언뜻보기에 모든 것이 항상 논리적 인 것은 아닙니다.))) [ARCHIVE] 포럼을 어지럽히 지 포럼을 어지럽히 지 않도록 FORTS: 초보자를 돕기 위해 Денис 2011.07.03 19:11 #4847 하지만 여기서 SELLSTOP을 하는 것이 좋지 않을까요? if ((global_trailing_SP < Stp_Loss && global_trailing_SP > High_1)) { OrderModify(OrderTicket(),OrderOpenPrice(),global_trailing_SP, 0 , 0 , DeepPink ); Print ( "Условие ModifyOrder исполнилось: global_trailing_SP: " ,global_trailing_SP, ", Stop Loss: " ,OrderStopLoss()); } else Print ( "Условие не выполняется!" ); 모든 것이 SELL에서와 절대적으로 동일합니다. Anatoli Kazharski 2011.07.03 19:14 #4848 FOReignEXchange : 근데 여기서 하는게 낫지않나, SELLSTOP이 어딨어? 모든 것이 SELL에서와 절대적으로 동일합니다. 이 경우 문제가 발생하지 않습니다. 자세한 내용은 위. Andrey F. Zelinsky 2011.07.03 19:21 #4849 tol64 : 블라미! )) Print()를 통해 제공된 함수의 global_trailing_SP 변수 값을 표시하면 로그에서 완전히 예상치 못한 값(노란색으로 강조 표시됨)을 볼 수 있습니다. 그 전에는 이 기능 외부에서 올바르게 표시됩니다(빨간 점 반대). global_trailing_SP 전역 변수. Start() 함수 외부에서 선언된, 후행 정지 기능이 주 위치 값을 성공적으로 변경한 후 별도의 루프에서 global_trailing_SP 변수가 주 위치의 정지 손실 값으로 설정됩니다. 이 값은 위의 빨간색 점으로 표시됩니다. 그런 다음 이 값은 다양한 주문 수정이 발생하는 함수로 전달됩니다. 하지만 결과적으로 나에게 예측할 수 없는 값이 로그에 표시되고 손절매 값은 물론 수정되지 않습니다. 이 문제를 어떻게 해결할 수 있습니까? 언뜻보기에 모든 것이 항상 논리적 인 것은 아닙니다.))) 전역 변수 global_trailing_SP 를 읽는 방법을 보여줍니다. Денис 2011.07.03 19:27 #4850 그래서 나는 이해하지 못했다. 메인 오더 수정 시 대기 중인 오더가 존재합니까 ? 존재한다면 주 주문의 수정과 보류 중인 주문의 수정이 한 블록에서 발생합니다. 주 주문이 수정된 경우 의도한 경우 보류 중인 주문도 수정되어야 합니다. 또 한 가지는 계획했던 일이 잘 풀리지 않는다는 것입니다. 따라서 조건에 오류가 있습니다. 위에서 보여드린 것처럼 메인 오더를 수정하는 조건과 동일하게 해보세요. 제가 보기에는 논리상의 오류인 것 같습니다. 놀랍지 않습니다. 뭔가 어렵습니다. 하기가 더 쉽습니다. 1...478479480481482483484485486487488489490491492...537 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
이해하지 못하셨나요? 도움말을 보면 OrderSelect()가 조건을 사용합니다. 그리고 사실이 없으면 어디에서도 본 적이 없습니다.
if는 조건문입니다. 그리고 괄호 안에 조건이 있어야 합니다. 그게 더 논리적으로 보입니다. 차이가 없더라도.
사양:
참 또는 거짓을 반환
도움말 읽기 https://docs.mql4.com/ru/basis/operators/if
표현식이 참이면 명령문1이 실행되고 명령문2 다음의 명령문으로 제어가 넘어갑니다(즉, 명령문2는 실행되지 않음). 표현식이 거짓이면 statement2가 실행됩니다.
if 문의 else 부분은 생략할 수 있습니다. 따라서 else 부분이 생략된 중첩된 if 문 은 모호할 수 있습니다. 이 경우 else 는 else 부분이 없는 동일한 블록의 가장 가까운 이전 if 문 에 연결됩니다.
즉, OrderSelect()==true 비교가 필요하지 않습니다. OrderSelect ()==false 대신 OrderSelect () 또는 !OrderSelect() 를 사용하면 됩니다.
예, 나는 그것에 대해 말하는 것이 아닙니다.
나는 주문을 선택할 때 항상 전체를 씁니다.
나는 진실이 없는 것을 본 적이 없다.
이해합니다
나는 진실이 없는 것을 본 적이 없다.
잘못된 사람들의 코드를 보십시오.
예, 나는 그것에 대해 말하는 것이 아닙니다.
나는 주문을 선택할 때 항상 전체를 씁니다.
나는 진실이 없는 것을 본 적이 없다.
이해합니다
완전히 동등한 두 개의 녹음 - 하나의 녹음은 다른 것보다 나쁘지도 않고 더 좋지도 않습니다.
잘못된 사람들의 코드를 보십시오.
그건 그렇고, 우리는 FOReignEXchange 에 경의를 표해야 합니다.
일반 " 이동 평균 .mq4"를 열고 다음을 보았습니다.
제공한 함수에서 직접 global_trailing_SP 변수의 값을 Print() 합니다.
이 변수의 값을 어디에서 읽고 있습니까?
블라미! )) Print()를 통해 제공된 함수의 global_trailing_SP 변수 값을 표시하면 로그에서 완전히 예상치 못한 값(노란색으로 강조 표시됨)을 볼 수 있습니다. 그 전에는 이 기능 외부에서 올바르게 표시됩니다(빨간 점 반대).
global_trailing_SP 전역 변수. Start() 함수 외부에서 선언된,
후행 정지 기능이 주 위치 값을 성공적으로 변경한 후 별도의 루프에서 global_trailing_SP 변수가 주 위치의 정지 손실 값으로 설정됩니다.
이 값은 위의 빨간색 점으로 표시됩니다.그런 다음 이 값은 다양한 주문 수정이 발생하는 함수로 전달됩니다. 하지만 결과적으로 나에게 예측할 수 없는 값이 로그에 표시되고 손절매 값은 물론 수정되지 않습니다. 이 문제를 어떻게 해결할 수 있습니까? 언뜻보기에 모든 것이 항상 논리적 인 것은 아닙니다.)))
하지만 여기서 SELLSTOP을 하는 것이 좋지 않을까요?
모든 것이 SELL에서와 절대적으로 동일합니다.
근데 여기서 하는게 낫지않나, SELLSTOP이 어딨어?
모든 것이 SELL에서와 절대적으로 동일합니다.
이 경우 문제가 발생하지 않습니다. 자세한 내용은 위.
블라미! )) Print()를 통해 제공된 함수의 global_trailing_SP 변수 값을 표시하면 로그에서 완전히 예상치 못한 값(노란색으로 강조 표시됨)을 볼 수 있습니다. 그 전에는 이 기능 외부에서 올바르게 표시됩니다(빨간 점 반대).
global_trailing_SP 전역 변수. Start() 함수 외부에서 선언된,
후행 정지 기능이 주 위치 값을 성공적으로 변경한 후 별도의 루프에서 global_trailing_SP 변수가 주 위치의 정지 손실 값으로 설정됩니다.
이 값은 위의 빨간색 점으로 표시됩니다.그런 다음 이 값은 다양한 주문 수정이 발생하는 함수로 전달됩니다. 하지만 결과적으로 나에게 예측할 수 없는 값이 로그에 표시되고 손절매 값은 물론 수정되지 않습니다. 이 문제를 어떻게 해결할 수 있습니까? 언뜻보기에 모든 것이 항상 논리적 인 것은 아닙니다.)))
전역 변수 global_trailing_SP 를 읽는 방법을 보여줍니다.
그래서 나는 이해하지 못했다. 메인 오더 수정 시 대기 중인 오더가 존재합니까 ?
존재한다면 주 주문의 수정과 보류 중인 주문의 수정이 한 블록에서 발생합니다. 주 주문이 수정된 경우 의도한 경우 보류 중인 주문도 수정되어야 합니다.
또 한 가지는 계획했던 일이 잘 풀리지 않는다는 것입니다. 따라서 조건에 오류가 있습니다. 위에서 보여드린 것처럼 메인 오더를 수정하는 조건과 동일하게 해보세요. 제가 보기에는 논리상의 오류인 것 같습니다. 놀랍지 않습니다. 뭔가 어렵습니다. 하기가 더 쉽습니다.