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

 
Krokus :

어쩌면 그렇게:

다른 생각이 떠오르지 않는다...




당신은 줄 사이를 읽습니다. 일반적으로 주기에 일반적으로 배치한 것을 보십시오. 주기의 범위 ..
 
안녕하세요 태블릿용 MT4 안드로이드에서는 서버별로 단말을 따로 다운받아야 하나요? 파일 로그인을 통해 PC에 로그인하려면 어떻게 해야 합니까? 또한 mt4에서 거래하기 위해 Android 태블릿에 autoclick을 설치할 수 있다는 것을 아는 사람이 누구인지 알려주십시오.
 

좋은 오후에요! 나는이 조건을 얻을 수 없습니다 :

OrderCloseTime()!=시간()

나는 시간당 하나 이상의 주문을 열지 않기를 원합니다!

하지만 주문은 아직 열려 있습니다! 무엇이 잘못될 수 있습니까?

 
lowech :

좋은 오후에요! 나는이 조건을 얻을 수 없습니다 :

OrderCloseTime()!=시간()

나는 시간당 하나 이상의 주문을 열지 않기를 원합니다!

하지만 주문은 아직 열려 있습니다! 무엇이 잘못될 수 있습니까?

첫 번째: OrderCloseTime() - 주문 마감 시간입니다. 주문이 마감되지 않은 경우 0과 같습니다. 개장시간을 잘 지켜봐야 합니다.

두 번째: Hour()는 Expert Advisor가 실행되는 시간이며 이 시간은 프로그램 실행 중에 변경되지 않습니다. 마지막 견적이 도착한 시간과 비교해야 합니다 - TimeCurrent()

이 함수는 현재 기호의 마지막 위치를 연 후의 시간(초)을 반환합니다.

 //+----------------------------------------------------------------------------+
datetime SecondsAfterOpenLastPos( int op, int mn) {
   datetime t= 0 ;
   int       i, k= OrdersTotal ();

   for (i= 0 ; i<k; i++) {
       if ( OrderSelect (i, SELECT_BY_POS)) {
         if (OrderSymbol()!=Symbol())  continue ;
         if (OrderType()!=op)           continue ;
         if (OrderMagicNumber()!=mn)   continue ;
         if (t<OrderOpenTime()) t=OrderOpenTime();
         }
      }
   return ( TimeCurrent ()-t);
}
//+----------------------------------------------------------------------------+

즉, Magic으로 마지막 매수 포지션을 연 후 시간(초)을 확인하려면 다음을 수행해야 합니다.

 if (SecondsAfterOpenLastPos(OP_BUY, Magic)> 3600 ) {
   // Можно открывать следующий
   }
 
안녕하세요, 다음 터미널 개통 시 주말 이후 센트 계정에서 어드바이저와 작업 중인 차트를 포함하여 모든 차트가 사라졌습니다. 차트 대신 회색 필드가 있지만 미결 포지션, 잔액 및 자금이 아래에 유지됩니다. 터미널을 다시 다운로드하고 어드바이저와 함께 작업 차트를 다시 설치해야 했습니다. 그러면 모든 것이 제대로 작동합니다. 그 이유는 무엇이며 앞으로 이러한 결함을 가장 고통스러운 방법으로 제거하는 방법을 알려주십시오.
 

첫 번째: OrderCloseTime() - 주문 마감 시간입니다. 주문이 마감되지 않은 경우 0과 같습니다. 개장시간을 잘 지켜봐야 합니다.

두 번째: Hour()는 Expert Advisor가 실행되는 시간이며 이 시간은 프로그램 실행 중에 변경되지 않습니다. 마지막 견적이 도착한 시간과 비교해야 합니다 - TimeCurrent()

이 함수는 현재 기호의 마지막 위치를 연 후의 시간(초)을 반환합니다.

 //+----------------------------------------------------------------------------+
datetime SecondsAfterOpenLastPos( int op, int mn) {
   datetime t= 0 ;
   int       i, k= OrdersTotal ();

   for (i= 0 ; i<k; i++) {
       if ( OrderSelect (i, SELECT_BY_POS)) {
         if (OrderSymbol()!=Symbol())  continue ;
         if (OrderType()!=op)           continue ;
         if (OrderMagicNumber()!=mn)   continue ;
         if (t<OrderOpenTime()) t=OrderOpenTime();
         }
      }
   return ( TimeCurrent ()-t);
}
//+----------------------------------------------------------------------------+

즉, Magic으로 마지막 매수 포지션을 연 후 시간(초)을 확인하려면 다음을 수행해야 합니다.

 if (SecondsAfterOpenLastPos(OP_BUY, Magic)> 3600 ) {
   // Можно открывать следующий
   }
기능에 감사드립니다! 다른거 없나요?! 막대당 하나의 주문만 열려면?!
 
lowech :
기능에 감사드립니다! 다른거 없나요?! 막대당 하나의 주문만 열려면?!
 //+----------------------------------------------------------------------------+
datetime BarsAfterOpenLastPos( int op, int mn) {
   datetime t= 0 ;
   int       i, k= OrdersTotal ();

   for (i= 0 ; i<k; i++) {
       if ( OrderSelect (i, SELECT_BY_POS)) {
         if (OrderSymbol()!= Symbol ())   continue ;
         if (OrderType()!=op)           continue ;
         if (OrderMagicNumber()!=mn)   continue ;
         if (t<OrderOpenTime()) t=OrderOpenTime();
         }
      }
   return (( TimeCurrent ()-t)/ 60 / Period ());
}
//+----------------------------------------------------------------------------+

동일한 쓰레기, 초가 아닌 막대 수만 확인하십시오.

 
//+----------------------------------------------------------------------------+
datetime BarsAfterOpenLastPos( int op, int mn) {
   datetime t= 0 ;
   int       i, k= OrdersTotal ();

   for (i= 0 ; i<k; i++) {
       if ( OrderSelect (i, SELECT_BY_POS)) {
         if (OrderSymbol()!= Symbol ())   continue ;
         if (OrderType()!=op)           continue ;
         if (OrderMagicNumber()!=mn)   continue ;
         if (t<OrderOpenTime()) t=OrderOpenTime();
         }
      }
   return (( TimeCurrent ()-t)/ 60 / Period ());
}
//+----------------------------------------------------------------------------+

동일한 쓰레기, 초가 아닌 막대 수만 확인하십시오.


공장! TP가 주문을 마감한 경우에만 새 주문이 즉시 열립니다! 이것은 어떻게 고칠 수 있습니까?
 
거래 레이어가 플랫폼에 표시되지 않고 어드바이저가 작동하지 않는 이유는 무엇입니까?
 
lowech :

동일한 쓰레기, 초가 아닌 막대 수만 확인하십시오.


공장! TP가 주문을 마감한 경우에만 새 주문이 즉시 열립니다! 이것은 어떻게 고칠 수 있습니까?

따라서 마지막 주문이 완료된 후 막대 수에 대해 한 번 더 확인해야 합니다.

 //+----------------------------------------------------------------------------+
int BarsAfterCloseLastPos ( int fi_MG, int fi_Type = - 1 )
{
     datetime ldt_Time = 0 ;
     int       li_Total = OrdersTotal ();
//----
     for ( int li_pos = 0 ; li_pos < li_Total; li_pos++)
    {
         if (! OrderSelect (li_pos, SELECT_BY_POS, MODE_HISTORY)) continue ;
         if (OrderSymbol() != Symbol ()) continue ;
         if (fi_Type >= 0 ) if (OrderType() != fi_Type) continue ;
         if (OrderMagicNumber() != fi_MG) continue ;
         if (ldt_Time >= OrderCloseTime()) continue ;
        ldt_Time = OrderCloseTime();
    }
    //---- Обрабатываем событие - отсутствие своих ордеров
    if (ldt_Time == 0) return (-1);
//----
     return (iBarShift ( NULL , 0 , ldt_Time));
}
//+----------------------------------------------------------------------------+