마침내 성공했습니다! 원칙적으로 작동했으며 마지막 버전입니다. 주요 캔트는 함수 자체가 아니라 함수 호출에 있었습니다.
전문가의 관점에서 함수를 입력할 때 모든 변수는 정적이 아닌 경우 0으로 설정해야 합니다. 의미를 구체적으로 유지할 필요는 없겠죠?
함수의 오작동을 일으키지 않거나 가장 찾기 힘든 버그를 일으키지 않는 값으로 함수의 변수를 초기화하십시오.
나는 일반적으로 변수의 목적에 따라 0 또는 -1을 사용합니다. 함수의 변수가 찾은 위치의 인덱스를 저장할 경우 -1로 초기화해야 합니다. 0으로 초기화하면 원하는 위치와 그 부재를 검색한 후 인덱스 0으로 위치를 선택할 수 있지만 원하는 위치는 아니지만 -1에서는 위치가 선택되지 않습니다. 이것은 오류를 찾기 어려울 때 가능한 모든 예 중 하나입니다. 함수에서 모든 것이 올바른 것처럼 보이지만 출력이 전혀 아닙니다... 그리고 어드바이저가 예상한 순서/위치로 작동하지 않습니다.. .
기능은 짧고(선택 사항이지만 바람직함) 매우 명확해야 합니다(목적). 2*2=4처럼. 즉, 프로그래머는 목적과 수행하는 작업을 명확하게 이해해야 합니다. 그런 다음 그는 그녀를 머리에서 꺼내고 그녀가 안에 있는 것을 잊어버리고 "블랙박스"로 사용해야 합니다.
함수가 사용하는 모든 변수는 인수로 전달되어야 합니다. 인수 목록을 전달하지 않고 전역 변수 를 사용하는 것은 예를 들어 Externs(MT의 경우)인 경우에만 정당화됩니다. 함수에서 전역을 변경하는 것은 허용되지 않습니다. 하나의 반환 값이 누락된 경우 인수 목록에서 참조로 변수를 전달합니다.
즉, 이 함수를 버려야 하는 경우 이 함수의 일부 전역이 수정되었기 때문에 잘린 버전이 작동하지 않는 이유를 기억할 필요가 없습니다. 이 모든 것은 다시 실행해야 하는 경우 연쇄 반응을 일으키지 않는다는 사실을 목표로 합니다.
기능은 짧고(선택 사항이지만 바람직함) 매우 명확해야 합니다(목적). 2*2=4처럼. 즉, 프로그래머는 목적과 수행하는 작업을 명확하게 이해해야 합니다. 그런 다음 그는 그녀를 머리에서 꺼내고 그녀가 안에 있는 것을 잊어버리고 "블랙박스"로 사용해야 합니다.
함수가 사용하는 모든 변수는 인수로 전달되어야 합니다. 인수 목록을 전달하지 않고 전역 변수를 사용하는 것은 예를 들어 Externs(MT의 경우)인 경우에만 정당화됩니다. 함수에서 전역을 변경하는 것은 허용되지 않습니다. 하나의 반환 값이 누락된 경우 인수 목록에서 참조로 변수를 전달합니다.
즉, 이 함수를 버려야 하는 경우 이 함수의 일부 전역이 수정되었기 때문에 잘린 버전이 작동하지 않는 이유를 기억할 필요가 없습니다. 이 모든 것은 다시 실행해야 하는 경우 연쇄 반응을 일으키지 않는다는 사실을 목표로 합니다.
감사합니다. 물론 Artem도 마찬가지입니다! 당신은 원칙적으로 논리적이지만 때로는 경험 부족으로 인해 눈에 띄지 않는 순간에 눈을 뜨게했습니다.
몇 가지 오해가 더 있습니다. Expert Advisor에 전역 변수 가 있으면 인수로 전달하여 함수에서 사용하는 것이 좋습니다.
나는 단지 전역 변수(externs가 아님)를 시작해야 하는 이유가 있는지 알아 내려고 노력 중입니다 ... 결국, 인수를 통해서만 전달해야 하는 경우 종속 함수의 긴 체인과 함께 꽤 많은 인수 누적될 수 있으며 인수가 있는 함수의 이름은 상당히 길 것입니다.
그리고 다시 전역 변수를 만들고 함수에 참조로 전달하여 필요한 작업을 수행하고 참조에 의해 전역 변수로 되돌릴 수 있습니다. 그렇죠?
오늘, 당신의 메시지를 읽은 후, 그것에 대해 생각하고 일부 변수를 전역에서 함수로 옮겼습니다. 그런 다음 나는 이러한 변수가 내가 선언한 것과 관련이 없는 다른 함수에서 필요하다는 것을 깨달았습니다. 여기에서 "전역 및 함수 변경은 허용되지 않습니다"라는 말을 들으면 다른 위치에서 필요한 변수를 직접 수신하는 함수를 호출해야 한다는 것이 밝혀졌습니다. 그러나 이것은 이미 코드를 아름답지 않게 만듭니다. 결국, 필요할 때만 함수를 호출하고 필요 이상으로 자주 호출하지 않기를 원합니다. 예를 들어, 모든 주문에 대한 검색 기능, 예치금 매수 및 예치금 매도. 틱당 한 번만 호출하고 더 이상 호출하지 않는 것이 적절하다고 가정하는 것이 합리적입니다. 그러나 시작할 때 호출되는 경우 주문 검색 함수에서 반환된 이러한 변수를 사용하는 모든 함수가 매개변수를 통해 이러한 변수를 전달할 수 있는 것은 아닙니다. 그렇다면 우리는 전역 변수로 돌아오거나 어떻게 해야 합니까?
주문 티켓과 그 위치를 기억하지 못하는 이유는 무엇입니까? 그러한 주문이 없으면 직접 송금은 어떻게 됩니까? 제로 오더를 삭제하시겠습니까?
이미 시도했습니다. 이것은 또한 작동하는 방식입니다:
이미 시도했습니다. 작동 방식도 다음과 같습니다.
마침내 작동했습니다! 원칙적으로 작동했으며 마지막 버전입니다. 주요 캔트는 함수 자체가 아니라 함수 호출 에 있었습니다.
전문가의 관점에서 함수를 입력할 때 모든 변수는 정적이 아닌 경우 0으로 설정해야 합니다. 그 의미를 구체적으로 유지할 필요는 없겠죠?
마침내 성공했습니다! 원칙적으로 작동했으며 마지막 버전입니다. 주요 캔트는 함수 자체가 아니라 함수 호출에 있었습니다.
전문가의 관점에서 함수를 입력할 때 모든 변수는 정적이 아닌 경우 0으로 설정해야 합니다. 의미를 구체적으로 유지할 필요는 없겠죠?
함수의 오작동을 일으키지 않거나 가장 찾기 힘든 버그를 일으키지 않는 값으로 함수의 변수를 초기화하십시오.
나는 일반적으로 변수의 목적에 따라 0 또는 -1을 사용합니다. 함수의 변수가 찾은 위치의 인덱스를 저장할 경우 -1로 초기화해야 합니다. 0으로 초기화하면 원하는 위치와 그 부재를 검색한 후 인덱스 0으로 위치를 선택할 수 있지만 원하는 위치는 아니지만 -1에서는 위치가 선택되지 않습니다. 이것은 오류를 찾기 어려울 때 가능한 모든 예 중 하나입니다. 함수에서 모든 것이 올바른 것처럼 보이지만 출력이 전혀 아닙니다... 그리고 어드바이저가 예상한 순서/위치로 작동하지 않습니다.. .
기능은 짧고(선택 사항이지만 바람직함) 매우 명확해야 합니다(목적). 2*2=4처럼. 즉, 프로그래머는 목적과 수행하는 작업을 명확하게 이해해야 합니다. 그런 다음 그는 그녀를 머리에서 꺼내고 그녀가 안에 있는 것을 잊어버리고 "블랙박스"로 사용해야 합니다.
함수가 사용하는 모든 변수는 인수로 전달되어야 합니다. 인수 목록을 전달하지 않고 전역 변수 를 사용하는 것은 예를 들어 Externs(MT의 경우)인 경우에만 정당화됩니다. 함수에서 전역을 변경하는 것은 허용되지 않습니다. 하나의 반환 값이 누락된 경우 인수 목록에서 참조로 변수를 전달합니다.
즉, 이 함수를 버려야 하는 경우 이 함수의 일부 전역이 수정되었기 때문에 잘린 버전이 작동하지 않는 이유를 기억할 필요가 없습니다. 이 모든 것은 다시 실행해야 하는 경우 연쇄 반응을 일으키지 않는다는 사실을 목표로 합니다.
안녕하세요!
파운드-엔 테스트
주문은 STOP LOSS보다 먼저 TAKE PROFIT으로 마감되어야 합니다.
그러나 TAKE-PROFIT에 따르면 어떤 이유로 주문이 마감되지 않았습니다.
질문: 거래 기능 에 등록된 이익 실현으로 주문이 마감되지 않은 이유
시뮬레이션 방법은 모두 틱입니다.
링크의 예
http://clip2net.com/s/55pdDU
참고 이러한 경우는 자주 발생하지 않으며 대부분의 경우 10포인트 스탑에서 거래가 종료됩니다. 적시에.
저것들. 이것은 아마도 가격과 정류장 사이의 최소 허용 거리와 관련이없는 것 같습니다.
이유는 또 무엇이 있을까요?
고맙습니다.
지표에서 전역 변수 로 데이터를 가져오는 데 도움이 됩니다.
에 대한:
USD 6.5
6.6유로
3.3파운드
등.
도움을 주셔서 미리 감사드립니다!
/*디컴파일 제거됨. 경고*/
기능은 짧고(선택 사항이지만 바람직함) 매우 명확해야 합니다(목적). 2*2=4처럼. 즉, 프로그래머는 목적과 수행하는 작업을 명확하게 이해해야 합니다. 그런 다음 그는 그녀를 머리에서 꺼내고 그녀가 안에 있는 것을 잊어버리고 "블랙박스"로 사용해야 합니다.
함수가 사용하는 모든 변수는 인수로 전달되어야 합니다. 인수 목록을 전달하지 않고 전역 변수를 사용하는 것은 예를 들어 Externs(MT의 경우)인 경우에만 정당화됩니다. 함수에서 전역을 변경하는 것은 허용되지 않습니다. 하나의 반환 값이 누락된 경우 인수 목록에서 참조로 변수를 전달합니다.
즉, 이 함수를 버려야 하는 경우 이 함수의 일부 전역이 수정되었기 때문에 잘린 버전이 작동하지 않는 이유를 기억할 필요가 없습니다. 이 모든 것은 다시 실행해야 하는 경우 연쇄 반응을 일으키지 않는다는 사실을 목표로 합니다.
감사합니다. 물론 Artem도 마찬가지입니다! 당신은 원칙적으로 논리적이지만 때로는 경험 부족으로 인해 눈에 띄지 않는 순간에 눈을 뜨게했습니다.
몇 가지 오해가 더 있습니다. Expert Advisor에 전역 변수 가 있으면 인수로 전달하여 함수에서 사용하는 것이 좋습니다.
나는 단지 전역 변수(externs가 아님)를 시작해야 하는 이유가 있는지 알아 내려고 노력 중입니다 ... 결국, 인수를 통해서만 전달해야 하는 경우 종속 함수의 긴 체인과 함께 꽤 많은 인수 누적될 수 있으며 인수가 있는 함수의 이름은 상당히 길 것입니다.
그리고 다시 전역 변수를 만들고 함수에 참조로 전달하여 필요한 작업을 수행하고 참조에 의해 전역 변수로 되돌릴 수 있습니다. 그렇죠?
오늘, 당신의 메시지를 읽은 후, 그것에 대해 생각하고 일부 변수를 전역에서 함수로 옮겼습니다. 그런 다음 나는 이러한 변수가 내가 선언한 것과 관련이 없는 다른 함수에서 필요하다는 것을 깨달았습니다. 여기에서 "전역 및 함수 변경은 허용되지 않습니다"라는 말을 들으면 다른 위치에서 필요한 변수를 직접 수신하는 함수를 호출해야 한다는 것이 밝혀졌습니다. 그러나 이것은 이미 코드를 아름답지 않게 만듭니다. 결국, 필요할 때만 함수를 호출하고 필요 이상으로 자주 호출하지 않기를 원합니다. 예를 들어, 모든 주문에 대한 검색 기능, 예치금 매수 및 예치금 매도. 틱당 한 번만 호출하고 더 이상 호출하지 않는 것이 적절하다고 가정하는 것이 합리적입니다. 그러나 시작할 때 호출되는 경우 주문 검색 함수에서 반환된 이러한 변수를 사용하는 모든 함수가 매개변수를 통해 이러한 변수를 전달할 수 있는 것은 아닙니다. 그렇다면 우리는 전역 변수로 돌아오거나 어떻게 해야 합니까?
iHigh( Symbol() , timeframe ,shift) 의 shift 값 제한 문제를 해결하도록 도와주세요 . 이 제한은 1000으로 제한됩니다.
iTime(Symbol(), timeframe , 1001 )은 1970.01.01 00:00을 제공합니다.