[ARCHIVE] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 3. - 페이지 270

 
Solree :
아 아 아. 글쎄, 나는 그렇게 새롭지 않다 ...

그럼, 스튜디오나 텔레파시에 대한 코드입니다.
 

내가 모든 코드를 던질 수는 없지만 고객은 맹세할 것입니다. 그리고 실패한 부분은 이미 throw됩니다. 나머지는 이 문제와 관련이 없습니다. 어째서인지 더 일찍 칠면조를 걸고 MT를 시작하면 잘못된 값을 주는 주기입니다. 모든 코드를 제공하지 않고 아이디어가 없다면 스스로 생각해야 합니다 :(

 
방금 MT를 다시 시작하면 올바르게 작동한다는 것을 알았습니다 ...
 
Solree :

내가 모든 코드를 던질 수는 없지만 고객은 맹세할 것입니다. 그리고 실패한 부분은 이미 throw됩니다. 나머지는 이 문제와 관련이 없습니다. 어째서인지 더 일찍 칠면조를 걸고 MT를 시작하면 잘못된 값을 주는 주기입니다. 모든 코드를 제공하지 않고 아이디어가 없다면 스스로 생각해야 합니다 :(


인쇄물을 더 자주 정렬하고 로그를 분석합니다.

그건 그렇고, 그 코드에서 "count" 변수에 어떤 값이 있는지 명확하지 않습니다.

 
count - 나중에 분석할 막대의 수입니다 . 그러나 어떤 이유에서인지 지금의 첫 번째 막대에서 시작하는 것이 아니라 칠면조와 MT가 끝나는 첫 번째 막대에서 시작하는 것은 y입니다. i = 시작할 위치, y는 나중에 중간 루프에서 사용되므로 일부러 만들었습니다. z는 모든 것이 계산되는 막대입니다. 여기서 y는 MT가 종료되기 전의 이전 막대를 제공하고 다른 모든 것은 그것에서 계산을 시작합니다.
 

안녕하세요! 제발, 어떻게 이럴 수 있나요??

i = 2, 열기[i-2] = 1.5715
14:21:15 2011.01.12 18:08 나의 Fr Chekulaeva1 GBPUSD,M1: 낮음[i] = 1.5713, 낮음[i-1] = 1.5714
14:21:15 2011.01.12 18:08 나의 Fr Chekulaeva1 GBPUSD,M1: 낮음[i+1] = 1.5714, 낮음[i-2] = 1.5715
14:21:15 2011.01.12 18:08 나의 Fr Chekulaeva1 GBPUSD,M1: Open[i-2]-(Low[i]-1*PointX) = 0.0004
14:21:15 2011.01.12 18:08 나의 신부 Chekulaeva1 GBPUSD,M1: 1*PointX = 0.0001

이것은 테스트 로그 데이터에서 발췌한 것입니다. 15-(13-1)은 3이어야 합니다. 그리고 테스터에서 4가 나옵니다. 무엇이 잘못되었나요?

 

안녕하세요 여러분, 다시 한번 MACD 관련 도움을 요청드립니다. 특정 MACD 히스토그램 값(막대 크기)을 찾을 수 없는 것 같습니다. 현재(예: =-0.001131) 열의 값을 계산해야 합니다. 이전 - 모두 ... 예를 들어 현재와 이전 열 간의 차이를 찾아야 합니다 .

 
Ivan1 :

안녕하세요 여러분, 다시 한번 MACD 관련 도움을 요청드립니다. 특정 MACD 히스토그램 값(막대 크기)을 찾을 수 없는 것 같습니다. 현재(예: =-0.001131) 열의 값을 계산해야 합니다. 이전 - 모두 ... 예를 들어 현재와 이전 열 간의 차이를 찾아야 합니다 .

https://www.mql5.com/ru/forum/134688/page256
 
Solree :
방금 MT를 다시 시작하면 올바르게 작동한다는 것을 알았습니다 ...

표시기는 원하는 상태로 수정하기가 매우 쉽습니다. 그리고 대부분의 문제는 사라질 것입니다. 그러나 문제 영역이 거의 없습니다. 문제는 좀 더 넓다
 

그럼 다음과 같습니다.

 #property indicator_chart_window

extern int count = 1500 ;

color colors[ 4 ];
bool check = true;
int tempCount;

int init()
{
    colors[ 0 ] = Blue ;
    colors[ 1 ] = Purple ;
    colors[ 2 ] = Orange ;
    colors[ 3 ] = Red ;

    tempCount = count;

     return ;
}

int deinit()
{
     ObjectDelete ( "ResistLine0" );
     ObjectDelete ( "ResistLine1" );
     ObjectDelete ( "ResistLine2" );
     ObjectDelete ( "ResistLine3" );

     return ;
}

int start()
{
     if ( Period () != 60 )
    {
         ObjectDelete ( "ResistLine0" );
         ObjectDelete ( "ResistLine1" );
         ObjectDelete ( "ResistLine2" );
         ObjectDelete ( "ResistLine3" );
        
        check = true;
    }
    
     if ( TimeHour (Time[ 1 ]) == 8 && !check)
        check = true;
    
     if (count != tempCount)
    {
        tempCount = count;
        check = true;
    }

     if (check && Period () == 60 )
    {
         ObjectDelete ( "ResistLine0" );
         ObjectDelete ( "ResistLine1" );
         ObjectDelete ( "ResistLine2" );
         ObjectDelete ( "ResistLine3" );
    
         int temp[ 20 ];
         int i, y, x, z;
         double price; //Она нужна для заполнения и выбора
        
         for (y = 1 ; y <= 24 ; y++)
             if ( TimeHour (Time[y]) == 8 )
            { //Тут y будет не корректным, когда запускаешь МТ с уже повешенным индюком
                i = y;
                z = y;
                x = i+count;
                
                 break ;
            }

         for (; i <= x; i++)
        {
             //Тут заполняется temp
        }
        
         double levels[ 4 ];
        i = z;
        
         //Тут выбираются нужные элементы из temp

         for (y = 0 ; y < 4 ; y++)
            createLine( "ResistLine" +y, levels[y], colors[y], i);
        
        check = false;
    }

     return ;
}

void createLine( string name, double price, color c, int i)
{
     ObjectCreate (name, OBJ_TREND , 0 , Time[i], NormalizeDouble (price, Digits ), Time[i]+( 24 * 3600 ), NormalizeDouble (price, Digits ));
     ObjectSet (name, OBJPROP_COLOR , c);
     ObjectSet (name, OBJPROP_WIDTH , 2 );
     ObjectSet (name, OBJPROP_BACK , true);
     ObjectSet (name, OBJPROP_RAY, false);
}

글쎄, 실제로 원하는 요소를 선택하고 결정하기 위한 알고리즘만 제거했습니다.