구조에 입력 매개변수를 넣지 않는 이유는 무엇입니까? - 페이지 5

 

그래서 우리는 여전히 실제 입력 변수가 필요합니다!

옵션

이름

【인】 입력 또는 입력 변수 의 식별자입니다. 이러한 변수는 프로그램의 외부 매개변수이며 시작 시 값을 설정할 수 있습니다.

 
Alexey Volchanskiy :

나는 지금 미쳐가고 있어, 그들은 고집스럽게 내 말을 듣지 않는다. .mqh에서도 가능합니다. 차이점은 무엇 이며 알고리즘 클래스로 전송하는 방법은 무엇입니까?


다음은 예입니다.

파일:
test.zip  8 kb
 
Alexey Volchanskiy :

그래서 우리는 여전히 실제 입력 변수가 필요합니다!

아무도 그것들을 소스 코드에 등록하는 것을 귀찮게 하지 않습니다.

 
fxsaber :

아무도 그것들을 소스 코드에 등록하는 것을 귀찮게 하지 않습니다.


흰 황소 이야기 )) 일반 거래에서 알고리즘 클래스로 전송하는 방법은 무엇입니까?

 
Alexey Volchanskiy :

흰 황소 이야기 )) 일반 거래에서 알고리즘 클래스로 전송하는 방법은 무엇입니까?

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

구조에 입력 매개변수를 넣지 않는 이유는 무엇입니까?

fxsaber , 2017.10.02 20:15

 // Begin: mqh-файл
class CLASS_EXPERT
{
public :  
   template < typename T>
   void Set( void );
};
// End: mqh-файл

input int inNum = 0 ;

struct INPUTS
{
   const int Num;
  
  INPUTS( void ) : Num(inNum)
  {
  }
};

CLASS_EXPERT Experts[ 10 ];

void OnInit ()
{
   for ( int i = ArraySize (Experts) - 1 ; i >= 0 ; i--)
     Experts[i].Set<INPUTS>();
}
 
fxsaber :

편리함의 예를 보여줄 수 있습니까? 무슨 내용인지 이해할 수가 없습니다.


다음은 첫 번째 페이지의 예입니다.

 struct VolumeParams                              
{
     double lot;         //Лоты
     double LotRatio;     //Множитель
     int tp;             //ТП
     int sl;             //СЛ
     int orders;         //Количество ордеров
};
VolumeParams ParamBuf[ 5 ];

input ParamBuf[ 0 ];         // Шаг 1
input ParamBuf[ 1 ];         // Шаг 2
input ParamBuf[ 2 ];         // Шаг 3
input ParamBuf[ 3 ];         // Шаг 4
input ParamBuf[ 4 ];         // Шаг 5

플러스 내 따옴표

...여기서 고객은 10개의 항목을 원하고 각 단계에는 고유한 tp/sl/lot/trail/entry 신호가 있습니다.

이것은 사실입니다. 이 모든 매개변수 힙을 작성하려면 구조를 정의하고 입력 매개변수에 넣는 것으로 충분합니다.

이 디자인을 사용하면 프로그래머가 구조 입력 매개변수 의 배열을 초기화한 다음 작업하는 것이 쉽습니다.

이러한 모든 매개변수를 별도의 변수로 확장하고 작업을 시도하십시오.

 
Taras Slobodyanik :

다음은 첫 번째 페이지의 예입니다.

차량을 시동할 때 어떤 입력 매개변수를 선택해야 할지 모르는 경우가 종종 있습니다. 따라서 예를 들어 다양한 입력 매개변수 집합이 포함된 Expert Advisor를 시작합니다. 그리고 차량의 각 사본에 대한 각 세트. MQL4가 MQL5에서 아직 멀었지만 많은 사람들이 매우 오랫동안 이 일을 해왔고 지금도 하고 있습니다.

그리고 그들은 extern string을 통해 그것을 했습니다. 이제 그것을 입력 문자열이라고 합니다.

 input string Parameters = "1, 2, 3.5, 8, 9l" ;

우리는 입력 라인을 파싱하고, 얼마나 많은 입력 라인이 있는지 살펴보고, 이 숫자를 기반으로 해당 입력 매개변수를 사용하여 동일한 수의 거래 로직( ArrayResize 를 통해)을 생성했습니다. 그리고 이 모든 것이 고대 MQL4에 있습니다! 같은 장소에서 차량 대수에 따라 MM이 각각 다른 뉘앙스로 배포되었습니다. 고대 코드 베이스 어딘가에 예제가 있어야 합니다.

 

네, 하지만 최적화는 불가능합니다

하나

 
Taras Slobodyanik :
네, 하지만 최적화는 불가능합니다

당신은 현실과 관련이 없는 가상의 문제를 생각해냅니다. 최적화 가 필요한 경우 기본적으로 수행됩니다. 강조 표시된 단어에주의하십시오. 기술적인 장애물은 없습니다. 이 경우 최적화를 구성할 수 없다면 너무 필요 합니다.

이것 또는 저것의 필요를 해결하기 위한 많은 실용적인 방법이 있습니다. 그러나 그것들은 가상의 문제와는 거리가 멉니다.

 
fxsaber :

당신은 현실과 관련이 없는 가상의 문제를 생각해냅니다. 최적화 가 필요한 경우 기본적으로 수행됩니다. 강조 표시된 단어에주의하십시오. 기술적인 장애물은 없습니다. 이 경우 최적화를 구성할 수 없다면 너무 필요 합니다.

이것 또는 저것의 필요를 해결하기 위한 많은 실용적인 방법이 있습니다. 그러나 그들은 가상의 문제와는 거리가 멉니다.

최적화가 아니라
구조에 입력 매개변수를 넣지 않는 이유는 무엇입니까?