MQL4에서 싱글톤 패턴을 구현할 수 있습니까?

 

단일 사본에 필요한 구조가 있습니다. 당연히 서로 다른 클래스의 데이터 구조에서 여러 개체를 만드는 것은 매우 권장되지 않습니다. 그래서 이 경우 가장 합리적인 선택은 싱글톤 패턴을 사용하는 것이라는 결론에 이르렀습니다. 권리?

다음은 구조의 예입니다.

 struct Symbol_Properties
{
   datetime     gdt_Quote;           // Время поступления последней котировки
   double       gda_Price [ 2 ];       // Текущие рыночные цены (0 - Bid, 1- Ask)
   double       gd_Spread;           // Размер спреда в пунктах
   double       gd_Swap;             // Своп
   double       gd_Comission;         // Комиссия
   double       gd_Pt;               // Величина одного пункта
   int          gi_Digits;           // Количество знаков в цене после запятой
   int          gi_StopLevel;         // Минимально-допустимый уровень стоп-лосса/тейк-профита в пунктах
   int          gi_FreezLevel;       // Уровень заморозки ордеров в пунктах
};

어떻게 그것을 싱글 톤 으로 바꿀 수 있습니까? MQL4에 그러한 가능성이 있습니까?

Who-thread는 일반적으로 개발에 이 패턴을 사용합니까?

 
hoz :

단일 사본에 필요한 구조가 있습니다. 당연히 서로 다른 클래스의 데이터 구조에서 여러 개체를 만드는 것은 매우 권장되지 않습니다. 그래서 이 경우 가장 합리적인 선택은 싱글톤 패턴을 사용하는 것이라는 결론에 이르렀습니다. 권리?

다음은 구조의 예입니다.

어떻게 그것을 싱글 톤 으로 바꿀 수 있습니까? MQL4에 그러한 가능성이 있습니까?

Who-thread는 일반적으로 개발에 이 패턴을 사용합니까?


"...최소한 제곱 이항을 그릴 수 있습니까?..." - "... 아니, 상상조차 할 수 없습니다...."

MQL4에서 모든 패턴을 구현할 수 있습니다.

 
tara :


"...최소한 제곱 이항을 그릴 수 있습니까?..." - "... 아니, 상상조차 할 수 없습니다...."

MQL4에서 모든 패턴을 구현할 수 있습니다.

알렉스 , 모범을 보이십시오. 나는 기사를 읽었습니다. http://cpp-reference.ru/patterns/creational-patterns/singleton/

사실 이것을 내 구조에 적용하는 방법을 이해하지 못했습니다. 그래서 내가 묻는거야.

 
hoz :

알렉스 , 모범을 보이십시오. 나는 기사를 읽었습니다. http://cpp-reference.ru/patterns/creational-patterns/singleton/

사실 이것을 내 구조에 적용하는 방법을 이해하지 못했습니다. 그래서 내가 묻는거야.


Victor, 나는 읽지 않은 기사를 귀하의 구조에 적용하는 방법에 대해 이야기하는 것이 아니며 후자와 알려지지 않은 클래스의 관계는 나로서는 이해할 수 없습니다.

내 말은, 구두로 올바르게 설명된 모든 패턴은 MQL4에서 구현될 수 있다는 것입니다.

 
인터넷에서 한 번 선언하고 잊어 버리십시오.
 
FAQ :
인터넷에서 한 번 선언하고 잊어 버리십시오.
그리고 맞습니다! 왜냐하면 Victor는 왜 싱글톤이 필요한지 모릅니다 :-)
 
Victor는 항상 그렇듯이 세부 사항을 파고 콤플렉스에서 벗어나지 만 반대 방향이어야합니다 ...
 
hoz :

단일 사본에 필요한 구조가 있습니다. 당연히 서로 다른 클래스의 데이터 구조에서 여러 개체를 만드는 것은 매우 권장되지 않습니다. 그래서 이 경우 가장 합리적인 선택은 싱글톤 패턴을 사용하는 것이라는 결론에 이르렀습니다. 권리?

다음은 구조의 예입니다.

어떻게 그것을 싱글 톤 으로 바꿀 수 있습니까? MQL4에 그러한 가능성이 있습니까?

Who-thread는 일반적으로 개발에 이 패턴을 사용합니까?


여기에도 그런 주제가 있었고, 심지어 이 싱글톤을 그린 사람도 있었는데 검색하면 찾을 수 있습니다. 그러나 그는 여기에서 그것이 필요하지 않습니다.
 
tara :


Victor, 나는 읽지 않은 기사를 귀하의 구조에 적용하는 방법에 대해 이야기하는 것이 아니며 후자와 알려지지 않은 클래스의 관계는 나로서는 이해할 수 없습니다.

내 말은, 구두로 올바르게 설명된 모든 패턴은 MQL4에서 구현될 수 있다는 것입니다.

Aleksey , 당신은 오랫동안 프로그래밍을 해왔습니다... 기호, 포인트, 손절매 등과 같은 구조의 구성원 요소는 꽤 자주 사용됩니다. 그리고 많은 수업에서 그것들이 필요합니다. 따라서 이러한 구조를 사용하는 클래스와 해당 구조 간의 관계에 대한 질문에는 질문 자체가 없습니다!

자주 묻는 질문 :
인터넷에서 한 번 선언하고 잊어 버리십시오.

그리고 여기 초기화? 무슨 초기화를 의미합니까? 나는 그들을 전문가로 설명하지 않습니다.

준코 :
그리고 맞습니다! 왜냐하면 Victor는 왜 싱글톤이 필요한지 모릅니다 :-)

글쎄, 네, .. 가장 중요한 것은 Vadim 이 알고 있다는 것입니다 :)))))

알아요!

자주 묻는 질문 :
Victor는 항상 그렇듯이 세부 사항을 파고 콤플렉스에서 벗어나지 만 반대 방향이어야합니다 ...
흠. 글쎄, 어떻게? 구조에서 모든 메소드는 구조 직후에 생성된 객체로 정적이어야 하며 이 구조를 각 클래스 및 EA 자체에 포함해야 합니까?
 
 

나는 이것을 좋아했다:

 struct Symbol_Properties
{
   static datetime     gdt_Quote;           // Время поступления последней котировки
   static double       gda_Price [ 2 ];       // Текущие рыночные цены (0 - Bid, 1- Ask)
   static double       gd_Spread;           // Размер спреда в пунктах
   static double       gd_Swap;             // Своп
   static double       gd_Comission;         // Комиссия
   static double       gd_Pt;               // Величина одного пункта
   static int          gi_Digits;           // Количество знаков в цене после запятой
   static int          gi_StopLevel;         // Минимально-допустимый уровень стоп-лосса/тейк-профита в пунктах
   static int          gi_FreezLevel;       // Уровень заморозки ордеров в пунктах
};
//---- Создадим объект структуре Symbol_Properties
Symbol_Properties SSym;
datetime    SSym.gdt_Quote = 0 ;
double      SSym.gda_Price [ 2 ] = { 0.0 , 0.0 };
double      SSym.gd_Spread = 0.0 ;
double      SSym.gd_Swap = 0.0 ;
double      SSym.gd_Comission = 0.0 ;
double      SSym.gd_Pt = 0.0 ;
int         SSym.gi_Digits = 0 ;
int         SSym.gi_StopLevel = 0 ;
int         SSym.gi_FreezLevel = 0 ;

그러나 어떤 이유로 컴파일하는 동안 많은 오류가 있습니다. 뭐가 문제 야?