for ( int i= 0 ;i< OrdersTotal ();i++)
{
if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES))
{
if (OrderType()==OP_BUY)
OrderClose(OrderTicket(),OrderLots(),Bid, 3 , White );
if (OrderType()==OP_SELL)
OrderClose(OrderTicket(),OrderLots(),Ask, 3 , White );
}
}
그러나 모든 것이 닫힌 것은 아니지만 한 후에 닫힙니다. 실제로 2,4,6,7과 같은 숫자가 있다고 가정해 보겠습니다. 따라서 2번째와 6번째 위치는 닫힙니다.
포지션이 닫힌 후 OrderSelect(i,SELECT_BY_POS,MODE_TRADES)의 번호가 변경되고 동시에 모두 닫힐 수 없다는 점에서
추신: I. Kim의 기능이 많은 도움이 되었습니다. 약간 변경했습니다. 여분의 괄호를 제거하고 한 줄로 정리했습니다.
포럼 검색 - 원본을 찾을 수 있습니다
팁과 예시에 감사드립니다. 나는 이것을 정리할 것이다.
도중에 한 가지 더 질문하겠습니다.
작업은 다음과 같습니다. 손절매로 마감된 미래 주문을 이전 주문과 비교하기 위해 손절매로 인해 마감된 주문 유형을 결정해야 합니다(읽기 - 유형 비교). 문서를 살펴보니 마지막 이벤트 처리와 관련된 내용을 찾을 수 없었습니다.
이 시점에서 이 작업은 지정된 경계에 도달하면 주문을 닫는 것으로 구현했습니다(Bid-OrderOpenPrice()>=TP*Point). 그것은 나에게 마지막으로 마감된 주문의 유형을 변수에 저장할 수 있는 기회를 주었습니다. 테스트에서는 모든 것이 잘 작동하지만 여전히 정지 손실을 사용하여 이것을 구현하고 싶습니다.
OrderSelect() 및 MODE_HISTORY 인수를 사용하여 기록에서 마감된 주문을 선택하려고 했습니다. 왜냐하면 주문 마감에 대한 조건이 없는 경우 OrdersTotal() 변수를 변경하는 것은 손절매를 유발하는 것과 동일하게 간주될 수 있습니다. 하지만 문제가 발생했습니다. 마지막으로 마감된 주문의 번호를 확인할 수 없거나(번호가 계속 변경되기 때문에) 어떻게 해야 하는지 몰랐습니다.
문제는 정지 손실을 사용하여 이것을 구현하는 방법입니다. 훨씬 더 쉬운 방법이 있지 않을까요? 글쎄, 생각의 방향이 맞다면 마지막으로 닫힌 주문을 찾는 방법은 무엇입니까?
주문 그룹에서 테이크 또는 스톱을 변경/제거하려고 시도합니다. 작업은 간단하지만 OrderSelect(i, SELECT_BY_PO S,MODE_TRADES)로 주문을 선택할 때 주문 번호가 본문에서 직접 변경되었다는 사실을 발견했습니다. 주기 및 그것은 이미 수정 된 것을 여러 번 수정하는 것으로 나타났습니다 (take 없이) 주문 - 실수 번호 1, 그래서 usver가 비슷한 문제가 있다고 가정 한 이유
말해 주세요. 여러 막대를 닫은 후 표시기를 다시 계산하는 방법을 알려주세요. 예를 들면 다음과 같습니다. 표시기를 5개의 새 막대마다 다시 그리거나 다시 계산하고 싶습니다.
간단한 질문인데 생각이 안나네요.
특정 시점에 4개의 열린 위치 가 있습니다. 다음과 같이 모든 것을 닫으려고 합니다.
그러나 모든 것이 닫힌 것은 아니지만 한 후에 닫힙니다. 실제로 2,4,6,7과 같은 숫자가 있다고 가정해 보겠습니다. 따라서 2번째와 6번째 위치는 닫힙니다.
캐치 뭔데?
간단한 질문인데 생각이 안나네요.
특정 시점에 4개의 열린 위치가 있습니다. 다음과 같이 모든 것을 닫으려고 합니다.
그러나 모든 것이 닫힌 것은 아니지만 한 후에 닫힙니다. 실제로 2,4,6,7과 같은 숫자가 있다고 가정해 보겠습니다. 따라서 2번째와 6번째 위치는 닫힙니다.
캐치 뭔데?
포지션이 닫힌 후 OrderSelect(i,SELECT_BY_POS,MODE_TRADES)의 번호가 변경되고 동시에 모두 닫힐 수 없다는 점에서
추신: I. Kim의 기능이 많은 도움이 되었습니다. 약간 변경했습니다. 여분의 괄호를 제거하고 한 줄로 정리했습니다.
포럼 검색 - 원본을 찾을 수 있습니다
포지션이 닫힌 후 OrderSelect(i,SELECT_BY_POS,MODE_TRADES)의 번호가 변경되고 동시에 모두 닫힐 수 없다는 점에서
추신: I. Kim의 기능이 많은 도움이 되었습니다. 약간 변경했습니다. 여분의 괄호를 제거하고 한 줄로 정리했습니다.
포럼 검색 - 원본을 찾을 수 있습니다
팁과 예시에 감사드립니다. 나는 이것을 정리할 것이다.
도중에 한 가지 더 질문하겠습니다.
작업은 다음과 같습니다. 손절매로 마감된 미래 주문을 이전 주문과 비교하기 위해 손절매로 인해 마감된 주문 유형을 결정해야 합니다(읽기 - 유형 비교). 문서를 살펴보니 마지막 이벤트 처리와 관련된 내용을 찾을 수 없었습니다.
이 시점에서 이 작업은 지정된 경계에 도달하면 주문을 닫는 것으로 구현했습니다(Bid-OrderOpenPrice()>=TP*Point). 그것은 나에게 마지막으로 마감된 주문의 유형을 변수에 저장할 수 있는 기회를 주었습니다. 테스트에서는 모든 것이 잘 작동하지만 여전히 정지 손실을 사용하여 이것을 구현하고 싶습니다.
OrderSelect() 및 MODE_HISTORY 인수를 사용하여 기록에서 마감된 주문을 선택하려고 했습니다. 왜냐하면 주문 마감에 대한 조건이 없는 경우 OrdersTotal() 변수를 변경하는 것은 손절매를 유발하는 것과 동일하게 간주될 수 있습니다. 하지만 문제가 발생했습니다. 마지막으로 마감된 주문의 번호를 확인할 수 없거나(번호가 계속 변경되기 때문에) 어떻게 해야 하는지 몰랐습니다.
문제는 정지 손실을 사용하여 이것을 구현하는 방법입니다. 훨씬 더 쉬운 방법이 있지 않을까요? 글쎄, 생각의 방향이 맞다면 마지막으로 닫힌 주문을 찾는 방법은 무엇입니까?
포지션이 닫힌 후 OrderSelect(i,SELECT_BY_POS,MODE_TRADES)의 번호가 변경 되고 동시에 모두 닫힐 수 없다는 점에서
추신: I. Kim의 기능이 많은 도움이 되었습니다. 약간 변경했습니다. 여분의 괄호를 제거하고 한 줄로 정리했습니다.
포럼 검색 - 원본을 찾을 수 있습니다
https://docs.mql4.com/ru/trading/OrderSelect
간단한 질문인데 생각이 안나네요.
특정 시점에 4개의 열린 위치가 있습니다. 다음과 같이 모든 것을 닫으려고 합니다.
그러나 모든 것이 닫힌 것은 아니지만 한 후에 닫힙니다. 실제로 2,4,6,7 이라는 숫자가 있다고 가정해 보겠습니다. 따라서 2번째와 6번째 위치는 닫힙니다.
캐치 뭔데?
숫자 순서대로 말씀하시는건가요? 또는 티켓?
숫자 순서대로 말씀하시는건가요? 또는 티켓?
난 이미 혼란스러워. 티켓이지만 상황을 명확히 하기 위해 가져왔습니다. 그들은 하나로 닫힙니다.
만세, 모든 것이 나를 위해 일했습니다!!!
빅터님, 감사합니다. 제가 실수를 했습니다. 표시기 이름을 잘못 썼습니다.
글쎄, 당신은 말했어요 ... 한 더미에서
https://docs.mql4.com/en/trading/OrderSelect
주문 그룹에서 테이크 또는 스톱을 변경/제거하려고 시도합니다. 작업은 간단하지만 OrderSelect(i, SELECT_BY_PO S,MODE_TRADES)로 주문을 선택할 때 주문 번호가 본문에서 직접 변경되었다는 사실을 발견했습니다. 주기 및 그것은 이미 수정 된 것을 여러 번 수정하는 것으로 나타났습니다 (take 없이) 주문 - 실수 번호 1, 그래서 usver가 비슷한 문제가 있다고 가정 한 이유
말해 주세요. 여러 막대를 닫은 후 표시기를 다시 계산하는 방법을 알려주세요. 예를 들면 다음과 같습니다. 표시기를 5개의 새 막대마다 다시 그리거나 다시 계산하고 싶습니다.
말해 주세요. 여러 막대를 닫은 후 표시기를 다시 계산하는 방법을 알려주세요. 예를 들면 다음과 같습니다. 표시기를 5개의 새 막대마다 다시 그리거나 다시 계산하고 싶습니다.
당신은 프로그래밍을 잘합니다.
이것은 논리적인 문제이며 이를 해결하기 위해 글을 잘 읽을 필요는 없습니다. 머리로 생각하십시오.
경우가 다릅니다. 다시 그리기가 정확히 어디에 있어야 하는지, 어떤 TF에서 다시 그리기를 수행해야 하는지 등. 귀하의 질문에 어떻게 대답할 수 있습니까?
막대의 시간을 기억하고 5개의 막대가 이 시간을 재설정하고 다시 기억하십시오. 시간 영점화 시 재계산 조건을 설정할 수 있습니다. iTime (NULL,0,0) 함수가 도움이 될 것입니다. 나머지는 모두 논리입니다.
말해 주세요. 여러 막대를 닫은 후 표시기를 다시 계산하는 방법을 알려주세요. 예를 들면 다음과 같습니다. 표시기를 5개의 새 막대마다 다시 그리거나 다시 계산하고 싶습니다.
이 방법은 아마도 가장 신뢰할 수는 없지만 아이디어(초안 버전)를 시도하는 것은 괜찮을 것입니다.
Bars 변수를 사용하고 변경 사항을 추적합니다. 5 증가, 기억 등