KimIV의 유용한 기능 - 페이지 60

 

친애하는 김, 당신의 노고에 진심으로 감사드립니다. 당신이 작성한 기능은 내 삶을 더 쉽게 만듭니다.

모든 연속 마감 손실 거래의 총 손실을 반환하는 기능이 무기고에 있습니까? 마지막 3개의 거래가 손실로 마감되었다고 가정해 보겠습니다. 예치 통화 로 해당 거래의 총 손실을 확인해야 합니다. 나는 명확히 할 것입니다 - 그것은 마지막 연속 손실 거래입니다.

도움을 주시면 감사하겠습니다. 다른 사람들도 이 기능을 사용할 수 있을 것 같습니다.

 

KimIV

나는 당신의 기능을 고문에 연결하려고했습니다. 컴파일러는 다음과 같이 작성합니다. "ClosePositions" 함수 는 참조되지 않으며 exp 파일에서 제거됩니다.

"ExistPositions" 기능은 참조되지 않으며 exp 파일에서 제거됩니다.

"ManagePositions" 기능이 참조되지 않고 exp-file에서 제거됩니다 ...........................

잼이 될 수있는 것은 무엇입니까?




 
WroC писал(а) >>
컴파일러는 다음과 같이 작성합니다. "ClosePositions" 함수는 참조되지 않으며 exp 파일에서 제거됩니다.

잼이 될 수있는 것은 무엇입니까?

관절이 아닙니다. 이것은 함수가 사용되지 않으므로 코드를 컴파일할 필요가 없다는 경고입니다.

 

이고르!

시간 필터 의 기능에 대한 개발이나 생각이 있습니까?

예를 들어: 현재 월, 일, 주...

또는 거기: 지난 달, 일, 주, 분기에 대해...

*

이상적으로는 다음과 같습니다.

// FuncStPeriod(int Per, int Val)
// Где:
// Per = 0-день, 1-неделя, и т.д...
// Val = 0-текущие, 1-прошедший

// пример использования для выбора ордеров за период
if(FuncStPeriod(1, 0)) ...

죄송하지만 작동하지 않는 것을 볼 수 있습니다 ...

아니면 필터링 모델이 잘못 선택되었을 수도 있습니다 ...

일반적으로 지금까지 막 다른 골목에 ... 그리고 모든 의미에서 ... :)))

 

당신, Vasily는 정치적으로 올바르지 않습니다! 입구는 표시했는데 출구는 어디인가요?

 

예, 0.5 + 0.5는 리터가 될 것이라고 직감합니다!

하지만 문제를 해결할 수 없습니다 ... (c))))

*

나는 시대별로 역사에서 주문을 샘플링 하는 예에 대해 매우 감사할 것입니다.

*

이:

// FuncStPeriod(int Per, int Val)
// 어디에:
// Per = 0일, 1주 등...
// Val = 0-현재, 1-과거


// 기간에 대한 주문을 선택하는 사용 예
if(FuncStPeriod(1, 0)) ...
*

내가 잘못 쓴, 더 정확하게 설명없이 ...

강조 표시된 것은 함수가 가질 수 있는 매개변수일 뿐입니다.

다음은 이 기능을 사용하는 예입니다...

주문 시간이 FILTER 기간과 동일(적중)인 경우

...

 

Vasily, 당신은 다시 입구에 대해 이야기하고 있습니다. 결과적으로 당신은 무엇을, 어떤 형태로 갖고 싶습니까?

 

아...

바로... 거기가 내 논리 오류의 위치...

함수는 SOMETHING을 반환합니다(예: 숫자 123456).

그리고 C와 ON을 필터링해야 합니다.

*

일반적으로 MT4의 계정 내역 필터와 동일합니다.

예를 들어 다음과 같은 주기로 구성된 목록이 있습니다.

을 위한( ...

if(VALUE1 > OrderCloseTime () > VALUE2)

...

*

함수는 if() 필터에서 대체를 위해 문자열(?) 값을 반환해야 합니다.

을 위한( ...

if(FuncStPeriod(1, 0))

...

*

쓰레기. 설명하기 어려운...

나는 혼란스러워서 당신을 긴장시켰습니다.

:(

 

글쎄, 당신은 거의 모든 것을했습니다! 필터가 필요하지 않습니다. dt1 및 dt2와 같은 두 개의 datetime 형 값을 준비하기만 하면 됩니다. 마감된 거래의 주기를 구성합니다. 선택으로 주문을 선택하고 마감 시간을 확인하여 다음을 수행하십시오.

 if ( OrderCloseTime ( ) > dt1 & & OrderCloseTime ( ) < dt2 ) {
   // что-то делаете с выбранным ордером
}
 

이고르" 네, 이해가 됩니다...

그때부터 이 문제를 다루기 시작했습니다. ***

*

그러나 작업은 동일한 dt1 및 dt2 를 올바른 값으로 "채우는" 것입니다!

예를 들어 분기, 현재. 이론적으로 함수는 다음과 같은 것을 반환해야 합니다.

OrderCloseTime ()>"01.10.2008" && OrderCloseTime()<"04.12.2008"

오늘 을 시작일로 삼습니다.

*

FuncStPeriod(int Per, int Val) 함수의 끝은 다음과 같습니다.

FuncStPeriod(int Per, int Val)
{
string fsp;

//...
fsp="OrderCloseTime()>"+"dt1+" && OrderCloseTime()<"+dt2;
return(fsp);
}

***

예를 들어, 현재 날짜를 기준으로 전 개월 수를 "계산"합니다.

 int KM ( )
{
int kolm ;
kolm = ( TimeLocal ( ) - StrToTime ( "2007.10.01" ) ) / 2592000 ;
return ( kolm - 1 ) ;
} 

그러나 이러한 단순화된 접근 방식에는 자체 오류가 있습니다.

이는 잘못된 정의가 가능하다는 사실에서 나타납니다.

다음 달 초에...

사유: