또 다른 문제는 블록 닫기 위치 에서 발생합니다. 저는 이 블록을 제가 가장 좋아하는 Expert Advisor에 삽입했습니다. 어느 쪽은 추세의 방향으로만 엄격하게 거래를 엽니다(그에게 고개를 숙입니다...)
그러나 추세의 강도에 따라 Expert Advisor는 여러 거래를 지속적으로 열 수 있습니다. 이것은 표시기의 신호에서 포지션을 닫기 위해 블록이 필요한 곳입니다. 그러나 여기에 문제가 있습니다! - 추세를 따라 여러 위치가 열리고 추세에 대한 수정이 시작되면 마감 블록의 표시기가 - 신호를 제공합니다. 내가 필요로 하는 대로.
그러나 동시에 어떤 이유로 인해 ALL OPEN 위치가 전혀 닫히지 않습니다. 그리고 기본적으로 - 가장 이른 것뿐입니다. 나중에 열린 것은 닫는 신호에 반응하지 않고 계속 움직입니다. 그리고 더 나아가 - "역사는 희극처럼 반복된다"! 각 닫기 신호와 함께 하나만 닫힙니다. 가장 빠른 오픈 위치와 나머지는 계속 움직입니다! 모든 직책의 제비는 영구적입니다.
다음은 비주얼 모드 그래프입니다. 표시기의 신호가 닫히면 녹색 삼각형으로 표시됩니다. 신호에서 한 위치만 닫힐 때마다 분명히 알 수 있습니다. 그리고 나는 모든 열린 문을 닫고 싶습니다! 말씀해 주세요. 여기서 문제가 무엇입니까?
나는 코드를 기억한다:
/********* Закрытие позиций ****************************************
if (AutoClose) {
//----------------------------------------------------------------------
if (ExpertOrder(MagicLong)) { //есть открытые ордера на покупку
if(Stochast_1>=Up_lim && Stochast_0<Up_lim) {
OrderClose(OrderTicket(),OrderLots(),Bid,3,Green);//закрываем позицию
return(0); // выходим
} }
//--------------------------------------------------------
if (ExpertOrder(MagicShort)) { //есть открытые ордера на продажу
if(Stochast_1<=Low_lim && Stochast_0>Low_lim) {
OrderClose(OrderTicket(),OrderLots(),Ask,3,Green);//закрываем позицию
return(0); // выходим
} }
//-------------------------------------------------------
} //if (AutoClose)
IMHO, 첫째, 실제 Stochast_와 정수 75를 비교하는 것이 옳지 않고, 둘째, 그 차이를 0과 비교하는 것이 더 정확합니다.
또 다른 문제는 블록 닫기 위치 에서 발생합니다. 저는 이 블록을 제가 가장 좋아하는 Expert Advisor에 삽입했습니다. 어느 쪽은 추세의 방향으로만 엄격하게 거래를 엽니다(그에게 고개를 숙입니다...)
그러나 추세의 강도에 따라 Expert Advisor는 여러 거래를 지속적으로 열 수 있습니다. 이것은 표시기의 신호에서 포지션을 닫기 위해 블록이 필요한 곳입니다. 그러나 여기에 문제가 있습니다! - 추세를 따라 여러 위치가 열리고 추세에 대한 수정이 시작되면 마감 블록의 표시기가 - 신호를 제공합니다. 내가 필요로 하는 대로.
그러나 동시에 어떤 이유로 인해 ALL OPEN 위치가 전혀 닫히지 않습니다. 그리고 기본적으로 - 가장 이른 것뿐입니다. 나중에 열린 것은 닫는 신호에 반응하지 않고 계속 움직입니다. 그리고 더 나아가 - "역사는 희극처럼 반복된다"! 각 닫기 신호와 함께 하나만 닫힙니다. 가장 빠른 오픈 위치와 나머지는 계속 움직입니다! 모든 직책의 제비는 영구적입니다.
다음은 비주얼 모드 그래프입니다. 표시기의 신호가 닫히면 녹색 삼각형으로 표시됩니다. 신호에서 한 위치만 닫힐 때마다 분명히 알 수 있습니다. 그리고 나는 모든 열린 문을 닫고 싶습니다! 말씀해 주세요. 여기서 문제가 무엇입니까?
나는 코드를 기억한다:
/********* Закрытие позиций **************************************** if (AutoClose) { //---------------------------------------------------------------------- if (ExpertOrder(MagicLong)) { //есть открытые ордера на покупку if(Stochast_1>=Up_lim && Stochast_0<Up_lim) { OrderClose(OrderTicket(),OrderLots(),Bid,3,Green);//закрываем позицию return(0); // выходим } } //-------------------------------------------------------- if (ExpertOrder(MagicShort)) { //есть открытые ордера на продажу if(Stochast_1<=Low_lim && Stochast_0>Low_lim) { OrderClose(OrderTicket(),OrderLots(),Ask,3,Green);//закрываем позицию return(0); // выходим } } //------------------------------------------------------- } //if (AutoClose)
포지션 클로징 블록에 또 다른 문제가 발생합니다...
그리고 OrdersTotal ()의 루프는 어디에 있습니까?
아니요, 여기가 아닙니다. 주문이 정의됩니다. 그렇지 않은 경우:
그리고 이 버전의 코드가 더 편리합니다! 나는 길고 짧은 위치를 가지고 있기 때문에 서로 독립적으로 열립니다.
그러나 표준 마감 시 - 모두 동일한 기록입니다. ...
그러나 표준 마감 시 - 모두 동일한 기록입니다. ...
그러나 여전히 OrdersTotal 에서 0으로 반대로 순환할 수 있습니다. 도움이 될 것입니다.
하지만 어떻게 해야 할까요? 별로 부담이 되지 않는다면 적어주세요. 그건 그렇고, 여기 차트가 있습니다 - 위의 "표준": 모든 것이 동일합니다. 칠면조 신호에서 단 하나의 위치만 닫힙니다.
하지만 어떻게 해야 할까요?
for (int v=0; v< OrdersTotal (); v++)
쓰다:
(int v=OrdersTotal()-1; v>0; v--)
나를 위해 작동합니다.
하지만 어떻게 해야 할까요?
for (int v=0; v< OrdersTotal (); v++)
쓰다:
(int v=OrdersTotal()-1; v>0; v--)
나를 위해 작동합니다.
맞아요. KimV에는 이 모든 것을 구현하는 스크립트와 라이브러리가 있습니다. 살펴볼 가치가 있습니다. 그리고 아마도 그의 포럼에서.