초보자의 질문 MQL5 MT5 MetaTrader 5 - 페이지 587

 
Karputov Vladimir :
드림11 :

좋은 하루, 그런 문제 .. 후행 정지 기능이 있습니다 ...

하나가 아닌 무제한의 주문이 추적되도록 리메이크하는 방법 ...


이런게 하나 있는데 다 엉망입니다.
 extern int              TrailingStep = 10 ;     //Шаг трейлинга
extern int              TrailingStop = 30 ;     //Трейлинг стоп
//+------------------------------------------------------------------+
//Трейлинг стоп
void Trailing()
{
 int err = GetLastError ();
 err = 0 ;
 
 for ( int i = OrdersTotal ()- 1 ; i>= 0 ; i--)
 {
   if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES ))
  {
   if ( OrderSymbol () == Symbol () && OrderMagicNumber () == Magic)
   {
     if ( OrderType () == OP_BUY )
    {     
     if ( Ask - OrderOpenPrice () > TrailingStop* Point )
     {
       if ( OrderStopLoss () < Ask - (TrailingStep + TrailingStop)* Point )
      {
       if (! OrderModify ( OrderTicket (), OrderOpenPrice (), NormalizeDouble ( Ask - TrailingStop* Point , Digits ), OrderTakeProfit (), 0 , clrGreen ))
       {
        err = GetLastError ();
         if (err != 0 ) Print ( "Ошибка модификации ордера № " , OrderTicket (), " на покупку! Код ошибки: " ,err, "." );
       }
      }
     }
    }
     if ( OrderType () == OP_SELL )
    {
     if ( OrderOpenPrice () - Bid > TrailingStop* Point )
     {
       if ( OrderStopLoss () > Bid + (TrailingStep + TrailingStop)* Point )
      {
       if (! OrderModify ( OrderTicket (), OrderOpenPrice (), NormalizeDouble ( Bid + TrailingStop* Point , Digits ), OrderTakeProfit (), 0 , clrRed ))
       {
        err = GetLastError ();
         if (err != 0 ) Print ( "Ошибка модификации ордера № " , OrderTicket (), " на продажу! Код ошибки: " ,err, "." );
       }
      }
     }
    }
   }
  }
 }
}
//+------------------------------------------------------------------+
 
barudkinarseniy :
이런게 하나 있는데 다 엉망입니다.
원리는 똑같아, 혹시 엉뚱한 곳에서 부르는 건 아닐까!?
 
Alexey Viktorov :
OnTimer()를 통해 가능하지 않습니까?

타이머로 해요. 나는 이미 그것을 알아 냈습니다. 덕분에 그래픽을 업데이트하기 위해 매번 그리기주기에 ChartRedraw 기능 을 추가해야했습니다. 젠장, mql4 이후에 mql5에 많은 복잡성이 추가되었지만 더 나은 방법일 수 있습니다...

 
또 다른 질문은 날짜-시간 변수(날짜/시간 유형)가 1970년 이후에 NUMBER초로 변환될 수 있다는 것입니다. 결국, 시간 값을 일반 정수와 동일시하면 이 int-변수는 실제로 이 초 수와 동일하지만 "유형 변환으로 인한 데이터 손실 가능성 " 경고가 표시됩니다. 약간 성가신 일입니다. , 어떻게든 문제를 해결할 수 있습니까?

 
loleg1991 :
또 다른 질문은 날짜-시간 변수(날짜/시간 유형)가 1970년 이후에 NUMBER초로 변환될 수 있다는 것입니다. 결국, 시간 값을 일반 정수와 동일시하면 이 int-변수는 실제로 이 초 수와 동일하지만 "유형 변환으로 인한 데이터 손실 가능성 " 경고가 표시됩니다. 약간 성가신 일입니다. , 어떻게든 문제를 해결할 수 있습니까?

"숫자 유형 캐스트" 문서 읽기
Документация по MQL5: Основы языка / Типы данных / Приведение типов
Документация по MQL5: Основы языка / Типы данных / Приведение типов
  • www.mql5.com
Основы языка / Типы данных / Приведение типов - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
loleg1991 :
또 다른 질문은 날짜-시간 변수(날짜/시간 유형)가 1970년 이후에 NUMBER초로 변환될 수 있다는 것입니다. 결국, 시간 값을 일반 정수와 동일시하면 이 int-변수는 실제로 이 초 수와 동일하지만 "유형 변환으로 인한 데이터 손실 가능성 " 경고가 표시됩니다. 약간 성가신 일입니다. , 어떻게든 문제를 해결할 수 있습니까?

datetime은 초 수입니다.

https://www.mql5.com/ru/docs/basis/types/integer/datetime

.

https://www.mql5.com/ru/docs/convert/stringtotime

Документация по MQL5: Основы языка / Типы данных / Целые типы / Тип datetime
Документация по MQL5: Основы языка / Типы данных / Целые типы / Тип datetime
  • www.mql5.com
Основы языка / Типы данных / Целые типы / Тип datetime - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
loleg1991 :
또 다른 질문은 날짜-시간 변수(날짜/시간 유형)가 1970년 이후에 NUMBER초로 변환될 수 있다는 것입니다. 결국, 시간 값을 일반 정수와 동일시하면 이 int-변수는 실제로 이 초 수와 동일하지만 "유형 변환으로 인한 데이터 손실 가능성 " 경고가 표시됩니다. 약간 성가신 일입니다. , 어떻게든 문제를 해결할 수 있습니까?

날짜가 아닌 초 단위로 반영해야 하는 경우 명시적으로 long 유형으로 캐스트하십시오.
 
Alexey Kozitsyn :
날짜가 아닌 초 단위로 반영해야 하는 경우 명시적으로 long 유형으로 캐스트하십시오.
예, 디스플레이에 대해 이야기했습니다. 감사합니다. 도움이 되었습니다.
 
loleg1991 :
네, 디스플레이에 대해 말씀드린 것입니다. 감사합니다. 도움이 되었습니다.
물론이죠)
 

안녕하세요 ! EA가 버튼이나 토글 스위치와 같은 개체를 차트에 추가할 수 있는지 알려주십시오. 그렇다면 어떻게 해야 합니까?

사유: