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

 
vld :
그것은 터미널 데이터 창 에 관한 것이었고 나머지는 다소 명확했습니다)

즉, 촛불 위로 마우스를 가져가면 촛불의 날짜와 시간과 표시기가 읽히는 ?
 
AlexeyVik :

즉, 초 위에 마우스를 가져가면 초의 날짜와 시간과 표시기 판독값을 볼 수 있습니까?

쿨, 오 글쎄)

마우스를 가져가면 이미 촛불의 날짜와 시간이 표시됩니다. 내가 있는 시간 간격 의 경계 표시기의 표시 ,

일 수 등, 끝날 때까지의 기간 막대(이것도 초 단위로 계산 및 표시됨).

그리고 나는 따옴표 Time[0], Time[Bars-1]의 날짜에 무엇을 가지고 있습니까?

너무 쳐지지 않게)

 
vld :

쿨, 오 글쎄)

마우스를 가져가면 이미 촛불의 날짜와 시간이 표시됩니다. 내가 있는 시간 간격의 경계 표시기의 표시,

일 수 등, 끝날 때까지의 기간 막대(이것도 초 단위로 계산 및 표시됨).

그리고 나는 따옴표 Time[0], Time[Bars-1]의 날짜에 무엇을 가지고 있습니까?

너무 쳐지지 않게)


농담이 아니라 오해에서 비롯된 놀라움이지만 나는 아무것도 이해하지 못했습니다.
 

이전에 start() 함수는 int 유형이었습니다. 현재 void 유형입니다. 그런 순간이 있습니다. 이전에는 함수 스레드가 실패하면 시작을 종료하는 것이 편리했습니다. 그리고 schyas는 특히 편리하지 않습니다. 나는 고대 올빼미 중 하나를 가져갔습니다. 이전에 어떻게 썼는지 볼 수 있습니다.

 void OnTick ()
{
//---
   if (gdt_lastBarTime != Time[ 0 ])       // Если открылся новый бар, отрабатываем требуемые действия
   {
       int signal = GetGeneralSignal();
   
       if (signal != SIGNAL_NO)
           if (!Trade(signal))
               return ( 0 );
          
       // Блок управления позициями   
       for ( int li_Ord = OrdersTotal ()- 1 ; li_Ord >= 0 ; li_Ord--)
      {
         if (! OrderSelect (li_Ord, SELECT_BY_POS)) continue ;
         if (OrderMagicNumber() != ii_Magic) continue ;
         if (OrderSymbol() != Symbol ()) continue ;
       
          SPos.gi_CurTicket = OrderTicket();
          SPos.gi_Type = OrderType();
       
           // Блок модификации ордеров       
           if (id_SL != 0 || id_TP != 0 )
          {
             if (OrderStopLoss() == 0 && OrderTakeProfit() == 0 )
             {
                OrdersModifyer (ticket);
             }
          }
           // Блок перевода ордеров в б.у.
           if (OrderStopLoss() <= gd_PriceBU)
          {
             if (OrderType() > 1 ) continue ;
             MovingStopLossToBU();
          }
           // Блок траала открытых ордеров
           if (OrderStopLoss() > gd_PriceBU)
          {
             TrailingStop();
          }

           // Удаление просроченных отложенных ордеров
           if (OrderOpenPrice() < Time[ 0 ])
          {
             DeletePendingOrders();
          }
      }
      
      gdt_lastBarTime = Time[ 0 ];     // На текущем баре все необходимые действия..
                                     // .. успешно выполнены
   }
}

일반적으로 gdt_LastBarTime 변수를 사용하여 새 막대를 여는 것을 제어합니다. 예전에는 달랐습니다. 나는 다음과 같이 썼다.

 if (gdt_lastBarTime == Time[ 0 ]) return ( 0 )

그런 다음 모든 작업을 건너뛰었습니다. 지금 구현하는 것이 더 편리한 방법은 무엇입니까? 결국 값을 반환할 방법이 없습니다. 조건을 입력하면 거기에서 무슨 일이 일어나든 함수가 끝에 도달하고 gdt_lastBarTime 변수에 새 값이 할당됩니다. 결론은 매 틱마다 터미널에 요청을 보내는 것은 옵션이 아니라는 것입니다. 따라서 이 문제를 보다 적절하게 제한할 필요가 있습니다. 예를 들어 int나 boolean처럼 함수를 종료할 수 없다면 어떤 식으로든 잘 작동한다는 의미입니다.

 
hoz :

이전에 start() 함수는 int 유형이었습니다. 현재 void 유형입니다. 그런 순간이 있습니다. 이전에는 함수 스레드가 실패하면 시작을 종료하는 것이 편리했습니다. 그리고 schyas는 특히 편리하지 않습니다. 나는 고대 올빼미 중 하나를 가져갔습니다. 이전에 어떻게 썼는지 볼 수 있습니다.

일반적으로 gdt_LastBarTime 변수를 사용하여 새 막대를 여는 것을 제어합니다. 예전에는 달랐습니다. 나는 다음과 같이 썼다.

그런 다음 모든 작업을 건너뛰었습니다. 지금 구현하는 것이 더 편리한 방법은 무엇입니까? 결국 값을 반환할 방법이 없습니다. 조건을 입력하면 거기에서 무슨 일이 일어나든 함수가 끝에 도달하고 gdt_lastBarTime 변수에 새 값이 할당됩니다. 결론은 매 틱마다 터미널에 요청을 보내는 것은 옵션이 아니라는 것입니다. 따라서 이 문제를 보다 유능하게 제한할 필요가 있습니다. 예를 들어 int나 boolean처럼 함수를 종료할 수 없다면 어떤 식으로든 잘 작동한다는 의미입니다.

적합하지 않은 것보다 매개 변수 없이 반환 합니까?
 
evillive :
적합하지 않은 것보다 매개변수 없이 반환 합니까?
나는 이미 거기에서 멈췄다.
 

표시기 버퍼 사용에 대한 질문이 있었습니다. 두 개의 버퍼가 있는 별도의 창에 히스토그램이 그려졌다고 가정해 보겠습니다. 첫 번째는 일부 공칭 값을 보여주고 두 번째는 피크 값을 보여줍니다.
외부 표시기(손 등)에 의한 두 번째 버퍼의 사용을 프로그래밍 방식으로 금지할 수 있습니까? 차트에 필요한 값을 표시하는 데만 사용되지만 차트에 사용자가 중첩하는 외부 지표에는 표시되지 않습니까?

 
atztek :

외부 표시기(손 등)에 의한 두 번째 버퍼의 사용을 프로그래밍 방식으로 금지할 수 있습니까? 차트에 필요한 값을 표시하는 데만 사용되지만 차트에 사용자가 중첩하는 외부 지표에는 표시되지 않습니까?

아니요. 볼 수 있는 모든 것은 프로그래밍 방식으로 계산할 수 있습니다.
 
TheXpert :
아니요. 볼 수 있는 모든 것은 프로그래밍 방식으로 계산할 수 있습니다.

분명한.
고맙습니다!
 

말해봐, 2차원의 크기를 상수가 아닌 변수로 설정해서 2차원 배열을 만들 수 있을까?