전략이 필요한 사람은 누구입니까? 많은 무료 - 페이지 52

 
Miroslav_Popov писал(а) >>

발전기를 수리했습니다. exe를 이것으로 교체하십시오.


생성기는 때때로 Indicator Period + Shift > Bar Count를 설정합니다.

나는 이미 혼란스러워. :)

새 버전

그러나 막대의 수를 300으로 줄이면 발전기가 작동하고 중지 버튼으로 멈출 수 있습니다

'

이전 버전(사이트에서 빠르게 다운로드)

그러나 막대 수가 1000개 미만이면 발전기가 중단됩니다.

'

IMHO 테스터에 대한 1000bar 제한 요구 사항에 익숙해지는 것이 좋지만 간격을 선택하는 것이 편리합니다.

'

 
SergNF писал(а) >>

나는 이미 혼란스러워. :)

'

이전 버전(사이트에서 빠르게 다운로드)

그러나 막대 수가 1000개 미만이면 발전기가 중단됩니다.

'

"구 버전"에 대한 무지개 빛깔의 생각은 잘못된 것으로 판명되었습니다.

저것들. 새 버전과 같은 그림. (즉, 막대의 수가 날짜보다 우선순위가 높습니다!!!!)

'

'

죄송합니다

 if ( bUseStartDate & & aBar [ iTempStartBar ] . Time < dtStartingDate )
{    // We need to cut out the oldest bars
 for ( int iBar = iTempStartBar ; iBar < iTempBars - MINIMUMBARS ; iBar + + )
 {

루프가 iTempBars - MINIMUMBARS 까지 올라가는 것이 맞습니까? 최대 막대 수 iTempBars = iMaxBars ; 역사의 시작 부터 ?

내 히스토리 파일에는 50,000개 이상의 라인이 있으며 iTempStartBar = iBars - iMaxBars 에서 iMaxBars - MINIMUMBARS까지 이 간격에서 단순히 주문 날짜가 없을 수도 있습니다!

논리적으로 종료 날짜와 시작 날짜는 전체 스토리가 끝날 때까지 검색해야 합니다. 아이바에???

그러나 끝 막대가 올바르게 위치합니다.

 int   iTempEndBar   = iBars - 1 ;
for ( int iBar = iTempStartBar + MINIMUMBARS ; iBar < iTempEndBar ; iBar + +
 
SergNF >> :

스크린샷 정보:

1. "2008년 9월 1일 이전 데이터 제거" 는 2009년 1월 1일까지 막대가 300개 미만이므로 무시 됩니다.

2. "2009년 1월 1일 이후의 데이터 제거" - 1월 1 일에 대한 데이터가 없는 것으로 표시됩니다. FSB는 01.01.08부터 . 이것이 FSB가 막대를 31.12.08까지 제한하는 이유입니다.


(즉, 막대의 수가 날짜보다 우선순위가 높습니다!!!!)

정확히.

 
Miroslav_Popov писал(а) >>

1. "2008년 9월 1일 이전 데이터 제거" 는 2009년 1월 1일까지 막대가 300개 미만이므로 무시 됩니다.

2. "2009년 1월 1일 이후의 데이터 제거" - 1월 1일에 대한 데이터가 없는 것으로 표시됩니다. 이것이 FSB가 바를 2008년 12월 31일까지로 제한하는 이유입니다.

더 이상은 아닙니다.

이제 시계를 보여줍니다.

1999-01-04에서 2009-03-18 사이의 파일 63291( iBars) 라인에서

날짜 2008-09-01은 문자열 59 973입니다.

날짜 2009-01-02는 문자열 62 021입니다.

저것들. 프로그램이 시작 날짜를 찾을 때 루프는 막대 63,291 - 50,000 = 13,291 ( iTempStartBar = iBars - iMaxBars ; ) 에서 막대 50,000 - 300 = 49,700 ( iTempBars - my date 찾기 실패)까지 "실행"됩니다. " (막대 59 973 ), ( iTempStartBar = iBars - iMaxBars ; ) 시작 막대 = 63 290 - 50 000 = 13 290 .

내 파일에는 2001-02-21 12:00입니다(그림과 일치하는 +/- 300).

파일을 첨부파일로.

파일:
eurusd60.rar  702 kb
 

iBar <= 50,000

FSB는 데이터 파일에서 최신 50000개의 막대를 가져옵니다.

그래서:

날짜 2008-09-01은 문자열 59 973입니다.

날짜 2009-01-02는 문자열 62 021입니다.

로드된 데이터 외부에 있습니다. Data Horizon은 이를 고려하지 않습니다.



작전 내가 틀렸다.

 
Miroslav_Popov писал(а) >>

iBar <= 50,000

FSB는 데이터 파일에서 최신 50000개의 막대를 가져옵니다.

그래서:

날짜 2008-09-01은 문자열 59 973입니다.

날짜 2009-01-02는 문자열 62 021입니다.

로드된 데이터 외부에 있습니다. Data Horizon은 이를 고려하지 않습니다.

최신 !!!!, 즉 13,291 에서 63,291 로!!!!! 이제 검색이 0에서 50,000(반올림 ;)으로 이동합니다.

우리는 동의하지 않았습니다. :( 불쌍해 :(

iTempBars - MINIMUMBARS 대신 에 iTempEndBar를 삽입하는 것이 더 정확한 것 같지만 ( int iBar = iTempStartBar ; iBar < iTempBars - MINIMUMBARS ; iBar + + ). AND bUseStartDate=True AND bUseEndDate=True 이면 전체 " // 최대 막대 수 설정 " 블록이 불필요합니다.

'

그러나 다시 말하지만, 나는 주장하지 않습니다. :(파일을 자르는 중입니다. 몇 분 동안 이전 50,000개 막대에서 전략을 최적화하고 다음 10,000개 막대를 확인하는 것이 좋습니다.

:(

추신. 역시, 코드에 오류가 있고 구성표와 일치하지 않습니다 !!!!! (내 간격은 왼쪽이 아니라 오른쪽에 있습니다) :(

 

생각 해봐..


원하시면 코드를 주세요. 프로그램에 넣고 테스트 해보겠습니다.

 
Miroslav_Popov писал(а) >>

생각 해봐..

원하시면 코드를 주세요. 프로그램에 넣고 테스트 해보겠습니다.

이전 페이지의 코드 스니펫

 // Set the maximum nuber of bars
// if (iBars > iMaxBars && iMaxBars >= MINIMUMBARS)
// {   // We need to cut out the oldest bars
//  iTempBars     = iMaxBars;
//  iTempStartBar = iBars - iMaxBars;
//  bChange       = true;
// }
// Или оставить 
// только если && bUseStartDate=False && bUseEndDate=False 
// или && (bUseStartDate=False || bUseEndDate=False)
// сам не представляю, но весь блок "сбивает"



// Set the starting date
DateTime dtStartingDate = new DateTime ( iStartYear , iStartMonth , iStartDay ) ;
if ( bUseStartDate & & aBar [ iTempStartBar ] . Time < dtStartingDate )
{    // We need to cut out the oldest bars
 for ( int iBar = iTempStartBar ; iBar < iTempEndBar ; iBar + + )
 {
  if ( aBar [ iBar ] . Time > = dtStartingDate )
  {
   iTempStartBar = iBar ;
   iTempBars     = iTempEndBar - iTempStartBar + 1 ;
   bChange       = true ;
   break ;
  }
 }
}

Как вариант, после
 // Set the maximum nuber of bars
if ( iBars > iMaxBars & & iMaxBars > = MINIMUMBARS )
{    // We need to cut out the oldest bars
 iTempBars     = iMaxBars ;
 iTempStartBar = iBars - iMaxBars ;
 bChange       = true ;
}

추가하다

 if (bUseStartDate)
{   
 iTempStartBar = 0; 
}
그러나 시작 날짜를 위해서는 iTempStartBar를 재설정해야 합니다!!!!
 
if (bUseStartDate)
{   
    iTempStartBar = 0; 
}
dtStartingDate가 iMaxBars보다 이전이면 dtStartingDate를 무시하고 iMaxBars로 제한합니다.
 
Miroslav_Popov писал(а) >>
dtStartingDate가 iMaxBars보다 이전이면 dtStartingDate를 무시하고 iMaxBars로 제한합니다.

그리고 파일 전체에서 iMaxBars 크기 창을 이동할 수 있도록 dtStartingDate에서 "오른쪽으로" iMaxBars가 있어야 한다고 생각합니다!

그러나 오른쪽의 경우 dtStartingDate 막대가 iMaxBars보다 작습니다. dtStartingDate가 우선순위를 가져야 합니다. 날짜는 막대보다 직관적입니다. 임호.

그리고 일반적으로 사용자는 의식적으로 "틱"을 표시하고 막대는 기본적으로 특히 시스템에 연결된 막대(iMaxBars)

'

추신. 재미있는 점은 프로그램을 사용하지 않을 가능성이 높다는 것입니다. :)