묻다! - 페이지 176

 

추신: 참고로 iCustom() 호출의 세 번째 매개변수 는 표시기 이름입니다. 첫 번째 매개변수는 기호이고 두 번째 매개변수는 원하는 시간 프레임입니다.

mladen:
다음과 같이 하십시오.
array[0]=iClose("EURUSD",0,0); [/PHP]

and so on. That way array will be filled with close prices for symbols you select. If you are using a custom indicator then the form is the following :

[PHP]array[0]=iCustom("EURUSD",0,"indicator name",0,0);
 

믈라덴

여러 쌍에 대한 루프에서 icustom을 사용하여 사용자 지정 표시기 를 호출하고 있습니다. 전문가 탭에서 표시기가 언로드되고 다음 쌍을 위해 다시 로드되는 것을 볼 수 있습니다. 이것은 iCustom 호출이 로드될 때마다 차트의 전체 최대 막대 값을 다시 계산한다는 것을 의미합니까? 또한 Bar N에 대해 호출한 다음 Bar N+1을 별도의 연속 호출로 호출하면 두 번째 호출에 완전한 재계산이 필요합니까? 그리고 마지막으로, 연속적인 호출이 다른 버퍼에 대한 것이라면 각각 다시 계산됩니다.

각 iCustom 호출이 별도의 인스턴스를 생성한다고 말한 것을 기억합니다. 따라서 각각이 전체적으로 다시 계산될 것이라고 가정합니다.

답변 감사합니다.

쯔만

 

쯔만,

Metatrader는 각각의 새로운 매개변수 값 세트에 대한 지표의 새 인스턴스를 생성합니다(예외는 버퍼 번호 및 인덱스).

예 - 다음 두 호출:

iCustom(NULL,0,"이름",1,0,0);

iCustom(NULL,0,"이름",2,0,0);

(예를 들어 1과 2 대신 "n"을 사용하고 iCustom()을 새로 호출하기 전에 n에 다른 값을 할당하더라도 표시기의 두 인스턴스를 생성합니다. 따라서 일부 적응형 표시기는 iCustom()을 사용하여 작성되지 않지만 함수의 형태로 수행되어야 함)

이제 인스턴스에 관한 것입니다. 그러나 표시기가 로드된 다음 언로드되면 일반적으로 매개변수에 문제가 있습니다(언로딩 부분은 일반적으로 이를 나타냄). 매개변수 유형이 일치하지 않으면 "로드 - 언로드" 스턴을 수행합니다. 실수로 iCustom에 전달된 일부 매개변수가 예상 유형이 아닌지 확인합니다(또는 일부 매개변수가 실수로 생략되어 매개변수 유형이 혼동될 수 있음).

Tzuman:
믈라덴

여러 쌍에 대한 루프에서 icustom을 사용하여 사용자 지정 표시기를 호출하고 있습니다. 전문가 탭에서 표시기가 언로드되고 다음 쌍을 위해 다시 로드되는 것을 볼 수 있습니다. 이것은 iCustom 호출이 로드될 때마다 차트의 전체 최대 막대 값을 다시 계산한다는 것을 의미합니까? 또한 Bar N에 대해 호출한 다음 Bar N+1을 별도의 연속 호출로 호출하면 두 번째 호출에 완전한 재계산이 필요합니까? 그리고 마지막으로, 연속적인 호출이 다른 버퍼에 대한 것이라면 각각 다시 계산됩니다.

각 iCustom 호출이 별도의 인스턴스를 생성한다고 말한 것을 기억합니다. 따라서 각각이 전체적으로 다시 계산될 것이라고 가정합니다.

답변 감사합니다.

쯔만
 

나는 당신의 최근 토론을 방해하고 싶지 않았습니다

이 새로운 스레드를 봐주세요

https://www.mql5.com/en/forum/182212

 

내가 볼 수 있듯이 mrtools는 이미 그것을 해결했습니다.

MaaTini:
나는 당신의 최근 토론을 방해하고 싶지 않았습니다

이 새로운 스레드를 봐주세요

https://www.mql5.com/en/forum/182212
 
mladen:
쯔만,

Metatrader는 각각의 새로운 매개변수 값 세트에 대한 지표의 새 인스턴스를 생성합니다(예외는 버퍼 번호 및 인덱스).

예 - 다음 두 호출:

iCustom(NULL,0,"이름",1,0,0);

iCustom(NULL,0,"이름",2,0,0);

(예를 들어 1과 2 대신 "n"을 사용하고 iCustom()을 새로 호출하기 전에 n에 다른 값을 할당하더라도 표시기의 두 인스턴스를 생성합니다. 따라서 일부 적응형 표시기는 iCustom()을 사용하여 작성되지 않지만 함수의 형태로 수행되어야 함)

이제 인스턴스에 관한 것입니다. 그러나 표시기가 로드된 다음 언로드되면 일반적으로 매개변수에 문제가 있습니다(언로딩 부분은 일반적으로 이를 나타냄). 매개변수 유형이 일치하지 않으면 "로드 - 언로드" 스턴을 수행합니다. 실수로 iCustom에 전달된 일부 매개변수가 예상 유형이 아닌지 확인합니다(또는 일부 매개변수가 실수로 생략되어 매개변수 유형이 혼동될 수 있음).

설명 정말 감사합니다. 나는 로드/언로드가 루프의 각 반복에서 심볼이 변경되어 모든 새 데이터 값을 로드해야 했기 때문에 발생했다고 가정했습니다.

예: iCustom("EURUSD",0,"이름",1,0,0); & iCustom("GBPUSD",0,이름",1,0,0);

매개변수를 주의 깊게 확인하겠지만 일부 표절을 포함하여 나만의 MA 평균 함수 를 작성했습니다. 작업 관리자에서 프로세서 사용률을 보면 CPU 사용률이 90-95% 감소한 것 같습니다. 나는 행복하다

 

안녕하세요, 코딩의 새내기 전문가입니다. "이익을 얻을 때 여러 주문 열기를 중지"하는 데 도움을 줄 수 있습니까? 나는 이와 같은 코드를 시도하지만 작동하지 않습니다. 도와주세요.

정적 날짜/시간 closeT;

for ( int a=OrdersHistoryTotal()- 1 ; a>= 0 ; a--) { if ( OrderSelect (a,SELECT_BY_POS,MODE_HISTORY)== true ) { if (OrderMagicNumber()==magic && OrderSymbol()== 기호 && closeT<OrderCloseTime()) { closeT=OrderCloseTime(); if ((구매== || 판매== ) && 닫기T==시간[ 0 ]){구매= 거짓 ; 판매 = 거짓 ;} } } }

 

mladen 감사합니다. 코드를 시도해 보겠습니다.

 
RBarias:
안녕하세요, 코딩의 새내기 전문가입니다. "이익을 얻을 때 여러 주문 열기를 중지"하는 데 도움을 줄 수 있습니까? 나는 이와 같은 코드를 시도하지만 작동하지 않습니다. 도와주세요.

정적 날짜/시간 closeT;

for ( int a=OrdersHistoryTotal()- 1 ; a>= 0 ; a--) { if ( OrderSelect (a,SELECT_BY_POS,MODE_HISTORY)== true ) { if (OrderMagicNumber()==magic && OrderSymbol()== 기호 && closeT<OrderCloseTime()) { closeT=OrderCloseTime(); if ((구매== || 판매== ) && 닫기T==시간[ 0 ]){구매= 거짓 ; 판매 = 거짓 ;} } } }

다음과 같이 시도할 수 있습니다(마지막으로 마감된 주문이 현재 바에서 마감되었는지와 이익 실현 이 적중되었는지 확인합니다).

datetime closeT= 0;

int ticket=-1;

for(int a=OrdersHistoryTotal()-1; a>=0; a--)

{

if(OrderSelect(a,SELECT_BY_POS,MODE_HISTORY))

if(OrderMagicNumber()==magic && OrderSymbol()==symb && closeT<OrderCloseTime())

{

closeT=OrderCloseTime();

ticket=OrderTicket();

}

}

if (ticket>-1)

{

OrderSelect(ticket,SELECT_BY_TICKET,MODE_HISTORY);

if(iBarShift(symb,0,closeT)==0 && OrderClosePrice()==OrderTakeProfit())

{

buy =false;

sell=false;

}

}
 

안녕하세요 mladen님

Symbols.mq4 스크립트는 MT4 빌드 509에서 완벽하게 작동했지만 빌드 636에서 파일 오류가 발생했습니다(symbols.raw를 열 때).

MT4 빌드 636의 업데이트된 버전을 공유해 주시겠습니까?

미리 감사드립니다.

문안 인사,

티모.