MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 47

 
Artyom Trishkin :

각 줄에 주석을 추가하면 더 재미있을 것입니다.

input     int       MetaQuotes1    =   30 ;         // Описание входного параметра 1
input     bool      MetaQuotes2    =   true ;       // Описание входного параметра 2
input     double    MetaQuotes3    =   20.3 ;       // Описание входного параметра 3
input     string    MetaQuotes4    =   "Corp" ;     // Описание входного параметра 4

다른 열거를 만들고 bool 대신 사용하면 훨씬 더 흥미로울 것입니다.

enum enumYN
  {
   enYes =   1 ,     // Да
   enNo  =   0 ,     // Нет
  };

input     int       MetaQuotes1    =   30 ;         // Описание входного параметра 1
input     enumYN   MetaQuotes2    =  enYes;       // Описание входного параметра 2
input     double    MetaQuotes3    =   20.3 ;       // Описание входного параметра 3
input     string    MetaQuotes4    =   "Corp" ;     // Описание входного параметра 4

그리고 sinput 을 사용하면 최적화를 위해 변수 목록에서 변수를 제외할 수 있습니다. 예를 들어 이 컨텍스트의 MetaQuotes4 변수는 최적화에 필요하지 않으며 제외할 수 있습니다.

enum enumYN
  {
   enYes =   1 ,     // Да
   enNo  =   0 ,     // Нет
  };

input      int       MetaQuotes1    =   30 ;         // Описание входного параметра 1
input     enumYN   MetaQuotes2    =  enYes;       // Описание входного параметра 2
input      double    MetaQuotes3    =   20.3 ;       // Описание входного параметра 3
sinput    string    MetaQuotes4    =   "Corp" ;     // Описание входного параметра 4

이것으로 모든 것이 순조로웠고, 어떤 매개변수와 단계에서 그리고 어느 쪽으로 최적화할 때 명확할 수 있도록 텍스트만 추가해야 했습니다.

 
Mikhail Goryunov :
이것으로 모든 것이 순조로웠고, 어떤 매개변수와 단계에서 그리고 어느 쪽으로 최적화할 때 명확할 수 있도록 텍스트만 추가해야 했습니다.
좋은. 하지만 모르시는 분들도 계시더라구요 ^^;;
 
그들은 왜 그렇게 쓰는가, 무엇이 충당되는가? int tik=주문 보내기
 
wishmast :
그들은 왜 그렇게 쓰는가, 무엇이 충당되는가? int tik=주문 보내기
왜냐하면
Возвращаемое значение

Возвращает номер тикета, который назначен ордеру торговым сервером или - 1 в случае неудачи. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError ().

따라서 추가 조치는 이 변수의 값에 따라 달라집니다. 예를 들어

       double ask= NormalizeDouble ( SymbolInfoDouble ( _Symbol , SYMBOL_ASK ),digits);
      price=NormalizePrice( _Symbol ,ask+Distance* _Point );
      t= OrderSend ( _Symbol , OP_BUYSTOP ,volume,price,Slippage, 0 , 0 ,CommentOrder,Magic, 0 , clrBlue );
       if (t< 0 )
        {
         error= GetLastError ();
         rezult= StringConcatenate ( _Symbol , ": error open order " , DoubleToString (volume, 2 ), " " ,TypeToStr(type), " №- " ,error, " " ,ErrorDescription(error));
         Print (rezult);
        }
       else
        {
         tiket=t;
         rezult= StringConcatenate ( _Symbol , ": open order " ,t, " " , DoubleToString (volume, 2 ), " " ,TypeToStr(type));
         Print (rezult);
         SendNotification (rezult);
        }


....

 
Artyom Trishkin :

그리고 sinput 을 사용하면 최적화를 위해 변수 목록에서 변수를 제외할 수 있습니다. 예를 들어 이 컨텍스트의 MetaQuotes4 변수는 최적화에 필요하지 않으며 제외할 수 있습니다.


sinput    string    MetaQuotes4    =   "Corp" ;     // Описание входного параметра 4
실패한 예인 라인 매개변수는 어떤 식으로든 최적화에 참여하지 않습니다.
 
Vitalie Postolache :
실패한 예인 라인 매개변수는 어떤 식으로든 최적화에 참여하지 않습니다.
나는 운/불운으로 선택하지 않았다. 위의 특정 코드의 예에서 보여주었습니다. 그 예는 분명했습니다. 이것이 그가 추구했던 것입니다.
 
Artyom Trishkin :
나는 운/불운으로 선택하지 않았습니다. 위의 특정 코드의 예에서 보여주었습니다. 그 예는 분명했습니다. 이것이 그가 추구했던 것입니다.

맞아요, 당신은 할 수 있습니다

input string    MetaQuotes4    =   "Corp" ;
 
Mikhail Goryunov :

맞아요, 당신은 할 수 있습니다

input string    MetaQuotes4    =   "Corp" ;
할 수 있다. 누가 간섭합니까? 내 목표는 죄에 대해 이야기하는 것이 었습니다. 나는 말했다. 글쎄요, 이 예는 약간 실패했지만 본질을 바꾸지는 않습니다.
 

그런 디자인이 있습니다.

더블   iLowest ( 문자열 기호, ENUM_TIMEFRAMES 시간 프레임, int ne)

질문: ENUM_TIMEFRAMES 유형은 무엇이며 int 에 대해 맹세합니다 .

 
Vitaly Muzichenko :

그런 디자인이 있습니다.

더블   iLowest ( 문자열 기호, ENUM_TIMEFRAMES 시간 프레임, int ne)

질문: ENUM_TIMEFRAMES 유형은 무엇이며 int 에 대해 맹세합니다 .

이 열거형: 열거형