[경고, 주제 닫힘!] 포럼을 어지럽히지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 당신 없이는 어디에도 없습니다. - 페이지 255

 
NEKSUS_ >> :

안녕하세요, 여러분. 다시 한 번 개체 제거 스크립트에 도움을 요청합니다.

스크립트는 이름으로 여러 개체를 삭제하지만 시작 시 수백 개의 오류가 나타납니다(더 정확하게는 동일한 오류이지만 여러 번). 도와주세요.


내가 알기로는 이 복잡한 코드는 차트에서 이름에 숫자가 포함된 모든 개체를 제거하도록 설계되었습니다. 그렇다면 첫 번째를 제외하고 else도 if 앞에 두십시오. 그런 다음 첫 번째 반복에서 이미 인덱스 x가 음수 값 영역에 속합니다.

 
NEKSUS_ >> :

좋은 오후입니다. 다시 한 번 개체 제거 스크립트에 도움을 요청합니다.

스크립트는 이름으로 여러 개체를 삭제하지만 시작 시 수백 개의 오류가 나타납니다(더 정확하게는 동일한 오류이지만 여러 번). 도와주세요.


루프를 for (int x = ObjectsTotal(); x>0 ; x--)(개체 수에서 1을 빼거나 크거나 같은 버그만 수정)으로 교체하고 모든 "x-- ;" 이파스에서

 
dmmikl86 >> :

표시기를 장식하는 데 도움이 됩니다. 값이 녹색으로 증가하면 빨간색으로 떨어지기를 원합니다.

코드는 다음과 같습니다.


여기 당신을 돕기 위해

https://www.mql5.com/en/articles/1451

3색 표시기 및 쓰기 표시기의 단순화를 위한 일부 기능 구현

 
alsu >> :

내가 알기로는 이 복잡한 코드는 차트에서 이름에 숫자가 포함된 모든 개체를 제거하도록 설계되었습니다. 글쎄, 첫 번째를 제외하고 if, else 및 else를 모든 것 앞에 두십시오. 그런 다음 첫 번째 반복에서 이미 인덱스 x가 음수 값 영역에 속합니다.


그것은 실패하지 않을 것입니다. 음수 색인으로 개체를 찾는 것은 매우 어렵습니다. 더 정확하게는 실패할 수 있지만 최대 1까지입니다.
 

친애하는 PROS 도움. 이론적으로 어드바이저는 주문을 생성하고 이 주문이 존재하지 않는 경우 동일한 주문을 다시 생성해야 합니다. 하지만 그런 일은 일어나지 않는다?

//------------------------------------------------ --------------- 0----------------

정수 시작() // 특수 함수 시작

{

정수 H = 100; // 시간 설정 - 초

정수 거리 = 10; // 주어진 TP 그리고 SL

더블로트=1; // 주어진 많은

//------------------------------------------------ --------------- 하나 ----------------

이중 i=0.001;

더블 시나=NormalizeDouble(Ask,3); // 가격 정규화

더블 가격=NormalizeDouble(Cena+i,5); // 찾기 가격

이중 TP=가격+거리*포인트; // TR 찾기

이중 SL=가격-거리*포인트; // SL 찾기

정수 x = 1; // 첫 번째 조건

정수 y = 1; // 두 번째 조건

//------------------------------------------------ --------------- 2----------------

(int pos=1; pos<=OrdersTotal(); pos++) // 모든 주문을 순환

{ if (OrderSelect(pos-1,SELECT_BY_POS)==true) // 주문 선택

{ if (OrderTakeProfit()==TP)

{ 경고(" 작동했습니다 x ");

x=2;

부서지다;

}

}

else Print(" 오류 ", GetLastError(), " 선택 명령 번호 ", 위치);

}

//------------------------------------------------ --------------- 삼----------------

(pos=1; pos<=OrdersTotal(); pos++) // 모든 주문을 순환

{ if (OrderSelect(pos-1,SELECT_BY_POS)==true) // 주문 선택

{ if (OrderOpenPrice()==가격)

{ Alert(" Y 작동 ");

y=2;

부서지다;

}

}

else Print(" 오류 ", GetLastError(), " 선택 명령 번호 ", 위치);

}

//------------------------------------------------ --------------- 4 ----------------

경우 ( x ==2&& y ==2)

{ Alert ("이미 해당 주문이 있습니다!!!"); }

또 다른 { Alert (" 주문 전송 됨 ", Symbol ()," BUYSTOP ", Price ,"Waiting for response...");

OrderSend(Symbol(), OP_BUYSTOP, 로트, 가격, 0, SL, TP);

}

수면(H*60); // 60 대기

새로 고침();

//------------------------------------------------ --------------- 5 -------------------

Alert ("스크립트 완료 ------------------------------");

반환 ; // 시작에서 종료 ( )

}

 

여러분, MT4(forex4you에서)를 설치하고 전략을 테스트하고 2009년 9월 2일부터 M1 견적만 가지고 있습니다. 서비스 아카이브를 통해 견적을 다운로드할 수 없습니다.

적어도 2009년에 대한 견적 아카이브를 어디에서 다운로드할 수 있습니까? 전략 테스터 에서 날짜를 설정하는 또 다른 순간에는 견적이 자동으로 로드되지 않습니다.

 
albon >> :

여러분, MT4(forex4you에서)를 설치하고 전략을 테스트하고 2009년 9월 2일부터 M1 견적만 가지고 있습니다. 서비스 아카이브를 통해 견적을 다운로드할 수 없습니다.

적어도 2009년에 대한 견적 아카이브를 어디에서 다운로드할 수 있습니까? 전략 테스터에서 날짜를 설정하는 또 다른 순간에는 견적이 자동으로 로드되지 않습니다.

다른 DC에서 MT4를 설치해 보십시오. (즉, 다른 MT4)

 

친애하는 PROS 도움. 이론적으로 어드바이저는 주문을 생성하고 이 주문이 존재하지 않는 경우 동일한 주문을 다시 생성해야 합니다. 하지만 그런 일은 일어나지 않는다?

그는 끊임없이 - 끝없이 주문을 만듭니다.


 
VII >> :

친애하는 PROS 도움. 이론적으로 어드바이저는 주문을 생성하고 이 주문이 존재하지 않는 경우 동일한 주문을 다시 생성해야 합니다. 하지만 그런 일은 일어나지 않는다?

//------------------------------------------------ --------------- 0----------------


더블 시나=NormalizeDouble(Ask,3); // 가격 정규화

Ask는 매 틱마다 계속 바뀌기 때문에 그는 같은 주문을 만들 수 없습니다. 그리고 다른 모든 매개변수와 조건에서의 비교는 이 변수에서 계산됩니다.

 
VII >> :

친애하는 PROS 도움. 이론적으로 어드바이저는 주문을 생성하고 이 주문이 존재하지 않는 경우 동일한 주문을 다시 생성해야 합니다. 하지만 그런 일은 일어나지 않는다?


EA/스크립트가 한 세트와 정확히 동일한 순서를 여는 데에는 두 가지 방법이 있습니다. 먼저 주문을 하고 모든 매개변수를 저장할 변수에 입력합니다. 주문이 없으면 대기 모드를 켜십시오. 이러한 매개변수로 주문할 수 있는 조건이 오면 바로 주문을 엽니다.

두번째. 시장에 주문이 없으면 히스토리를 살펴보고 가장 최근 주문을 찾습니다. 매개 변수를 기록하고 첫 번째 경우와 마찬가지로 대기 모드를 켭니다.

제가 하고 싶은 말은 바로 이것입니다. 프로그램의 로직이 당신이 설명하고 내가 여기에서 설명한 대로 정확하게 구축된다면, 모든 주문은 동일한 수평 레벨을 기다릴 것입니다. 필요하세요?