포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 6. - 페이지 128

 

안녕하세요! 3바(3,2,1) 의 시가를 비교하고 있습니다. 가격이 같은 막대를 어떻게 셀 수 없습니까?

 for ( x=< 3 ;x--)
{
 if ( Open[x]==Open[x] )
  {
    x+ 1 ;
   }
   if ( Open[x]<Open[x] )
   {
   ,,,
   }
 
skyjet :

안녕하세요! 3개 바(3,2,1)의 시가를 비교하고 있습니다. 가격이 같은 막대를 어떻게 셀 수 없습니까?

 for ( int x= 1 ; x< 3 ; x++)
{
 if (Open[x]==Open[x+ 1 ]) continue ;
 if (Open[x]<Open[x+ 1 ])
   {
   //--- action
   }
}
 
안녕하세요, 도와주세요. 나는 H1에서 플레이하고 H4 표시기가 있습니다. 그는 올바르게 보여줍니다. 그러나 예를 들어 연초에 시각화와 함께 테스터에서 실행하면 현재 시장에 나와 있는 현재 정보를 보여줍니다. 일반적으로 테스터에서는 작동하지 않습니다. 작동시키는 방법. 또는 문제가 해결된 주제를 던집니다.
 
artmedia70 :
글쎄, 얼마나 비어? 아무 것도 출력하지 않거나 배열 셀에 여전히 0이 있습니까?


전혀..

개체 가도 화살표와 추세선 빼고는 개체가 전혀 없습니다..

아트미디어70 :

루프 본문에서 i를 증가시키는 이유는 무엇입니까?

그리고 이것은: i<=p, 왜 "또는 같음"입니까?


나는 이미 피로에 지쳤다. 다음과 같이 수정되었습니다.

 for (i= 0 ; i<p; i++)
      {
          pr( "a[i][1] = " + a[i][ 1 ]);
      }

이 코드 조각은 그 자체로 함수에 있습니다.

 //+-------------------------------------------------------------------------------------+
//| Закрытие ордеров, отсортированных по размеру лотов                                  |
//+-------------------------------------------------------------------------------------+
void ClosePosBySortLots()
{
   double a[][ 2 ];
   int p = 0 ;
   
   for ( int i= OrdersTotal ()- 1 ; i>= 0 ; i--)
   {
       if (! OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) continue ;
       if (OrderMagicNumber() != i_magic) continue ;
       if (OrderSymbol() != Symbol ()) continue ;
       if (OrderType() < 2 )
      {
         p++;
         ArrayResize (a, p);
         a[p- 1 ][ 0 ] = OrderLots();
         a[p- 1 ][ 1 ] = OrderTicket();
      }
   }
//   pr ("ClosePosBySortLots(): " + "p = " + p);
   if (p > 0 )
   {
       ArraySort (a, WHOLE_ARRAY , 0 , MODE_DESCEND);
      
       for (i= 0 ; i<p; i++)
      {
          pr( "a[i][1] = " + a[i][ 1 ]);
      }
      
       for (i= 0 ; i<p; i++)
      {
         if ( OrderSelect (a[i][ 1 ], SELECT_BY_TICKET, MODE_TRADES))
         {
             if (OrderCloseTime() == 0 ) ClosePosBySelect();
         }
      }
   }
}
 
hoz :


전혀..

개체 가도 화살표와 추세선 빼고는 개체가 전혀 없습니다..


나는 이미 피로에 지쳤다. 다음과 같이 수정되었습니다.

이 코드 조각은 그 자체로 함수에 있습니다.

이전과 이후

 if (p > 0 )

p 값을 인쇄

내가 당신을 위해 오류 검색 순서를 작성해야 합니까?

 
artmedia70 :

이전과 이후

p 값을 인쇄

내가 당신을 위해 오류 검색 순서를 작성해야 합니까?



사실 맞아요. 일반적으로 상황은 다음과 같습니다.

 void ClosePosBySortLots()
{
   double a[][ 2 ];
   int p = 0 ;
   
   for ( int i= OrdersTotal ()- 1 ; i>= 0 ; i--)
   {
       if (! OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) continue ;
       if (OrderMagicNumber() != i_magic) continue ;
       if (OrderSymbol() != Symbol ()) continue ;
       if (OrderType() < 2 )
      {
         p++;
         ArrayResize (a, p);
         a[p- 1 ][ 0 ] = OrderLots();
         a[p- 1 ][ 1 ] = OrderTicket();
      }
   }
//   pr ("ClosePosBySortLots(): " + "p = " + p);
   pr( "___p = " + p);   // Значение кол-ва позиций до if..
   
   if (p > 0 )
   {
      pr( "p = " + p);   // Значение кол-ва позиций после if..
      
       ArraySort (a, WHOLE_ARRAY , 0 , MODE_DESCEND);
      
       for (i= 0 ; i<p; i++)
      {
          pr( "a[i][1] = " + a[i][ 1 ]);
      }
      
       for (i= 0 ; i<p; i++)
      {
         if ( OrderSelect (a[i][ 1 ], SELECT_BY_TICKET, MODE_TRADES))
         {
             if (OrderCloseTime() == 0 ) ClosePosBySelect();
         }
      }
   }
}

나는 이것을 이렇게 실행하는데, 그래프의 이 섹션에서도 아무 것도 주지 않는다. 다른 곳에서는 0을 출력했지만, 한 위치가 열리면 테이크에 의해 즉시 닫힙니다. 저것들. 이 분야에서 특히 Kosyakova는 마치 ...

다음은 스크린샷입니다.

이 모든 값을 인쇄하시겠습니까?

p++;
ArrayResize (a, p);
a[p- 1 ][ 0 ] = OrderLots();
a[p- 1 ][ 1 ] = OrderTicket();

훨씬 더 멀리 있는 것 같습니다. 결국 모든 것이 명확하고 일반적으로 거기에 기록됩니다.

 
hoz :


사실 맞아요. 일반적으로 상황은 다음과 같습니다.

나는 이것을 이렇게 실행하는데, 그래프의 이 섹션에서도 아무 것도 주지 않는다. 다른 곳에서는 0을 출력했지만, 한 위치가 열리면 테이크에 의해 즉시 닫힙니다. 저것들. 이 분야에서 특히 Kosyakova는 마치 ...

다음은 스크린샷입니다.

이 모든 값을 인쇄하시겠습니까?

훨씬 더 멀리 있는 것 같습니다. 결국 모든 것이 명확하고 일반적으로 거기에 기록됩니다.

주문에 대한 데이터로 "채워진" 직후 어레이에 포함된 내용을 이해하고 확인합니까? 아니요. 당신은 모른다, 당신은 단지 추측합니다. pr()이 아니라 표준 Print()가 아닌 배열의 모든 셀의 내용을 인쇄 해제하고 테스터 로그를 살펴보고 배열 직후에 배열의 각 셀에 무엇이 있는지 확인하십시오. 채우는. 그 때 배열의 내용이 내용에 대한 생각과 일치하는지 확인한 다음 pr()을 사용하여 인쇄합니다. 동일한 결과를 제공하지 않으면 pr()에 데이터가 일치하고 다음 단계에서 오류를 추가로 찾으십시오.
 
로트 크기와 관련된 로그에 오류가 있습니다( OrderSend 오류 4051). 이 문제를 해결하겠습니다. 도움이 될 수 있습니다. 그럼 지켜보겠습니다.
 
hoz :
로그에는 로트 크기와 관련된 오류가 포함되어 있습니다(OrderSend 오류 4051). 이 문제를 해결하겠습니다. 도움이 될 수 있습니다. 그럼 지켜보겠습니다.

탱크를보고 다시로드하십시오. 아마도 도움이 될 것입니다 ... :-)

추신 지금은 괜찮아

 
이러한 문제는 크기가 변경될 수 있는 1차원 배열이 있습니다.
루프에서 배열 요소의 가능한 모든 조합을 서로 반복하는 방법은 무엇입니까?
요소의 순서는 중요하지 않습니다. 123==213==321..

다음은 4개의 요소가 있는 배열의 예입니다.
[ 4 ] <=> { 1 2 3 4 }

1 , 12 , 13 , 14 , 123 , 124 , 134 , 1234 , 
2 , 23 , 24 , 234 , 
3 , 34 ,
4
사유: