하지만 코드 텍스트 자체를 최소화하기 위해 MQL에서 매크로 대체를 만들고 싶으므로 다음이 필요합니다.
#define USE_FAST // тут нужно что-нибудь сделать!bool connect( string h, int p) { } // код 1bool fast_connect( string h, int p) { } // код 2//+------------------------------------------------------------------+bool Connect( string host = "localhost" , int port = 6379 )
{
return connect(host, port); // вот тут нужен префикс и будет или connect(host, port); или fast_connect(host, port);
}
//+------------------------------------------------------------------+voidOnStart ()
{
Connect();
}
//+------------------------------------------------------------------+
감사하다!
그러나 매크로를 취소하는 방법을 찾지 못했습니다.
코드는 다음과 같습니다.
이제 작동하지만 FAST_ 접두사를 사용하여 MACROS_PREFIX를 취소하고 싶지만 connect( string host = "localhost" , int port = 6379 ) 호출은 다음과 같이 됩니다.
MACROS_PREFIX 를 취소하고 싶지만 connect( string host = "localhost" , int port = 6379 ) 에 대한 호출이 있었습니다.
감사하다!
그러나 매크로를 취소하는 방법을 찾지 못했습니다.
코드는 다음과 같습니다.
이제 작동하지만 FAST_ 접두사를 사용하여 MACROS_PREFIX를 취소하고 싶지만 connect( string host = "localhost" , int port = 6379 ) 호출은 다음과 같이 됩니다.
거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼
OOP, mql5의 템플릿 및 매크로, 미묘함 및 사용 기술
블라디미르 시마코프 , 2020.02.18 05:56
작동하는 것이 이상하지만 작동하지 않습니다.
작동하는 것이 이상하지만 작동하지 않습니다.
내 매크로에는 두 개의 매개변수가 있고 하나를 전달하므로 컴파일러는
감사합니다.. 그런데 아직도 이해를 못했어요.. 지옥같은 과학!!!!
말로는 설명할 수 없어 음악의 언어로 해볼게
다음과 같은 코드는 의도한 대로 작동합니다.
하지만 코드 텍스트 자체를 최소화하기 위해 MQL에서 매크로 대체를 만들고 싶으므로 다음이 필요합니다.
내 매크로에는 두 개의 매개변수가 있고 하나를 전달하므로 컴파일러는
작동하지 않습니다.
작동하지 않습니다.
감사합니다.. 그런데 아직도 이해를 못했어요.. 지옥같은 과학!!!!
말로는 설명할 수 없어 음악의 언어로 해볼게
다음과 같은 코드는 의도한 대로 작동합니다.
하지만 코드 텍스트 자체를 최소화하기 위해 MQL에서 매크로 대체를 만들고 싶으므로 다음이 필요합니다.
하지만!!!
CONNECT 매크로는 #undef USE_FAST를 수행하여 재정의할 수 없습니다.
당신이 원하는 것을 할 수 있도록
어제 마법 주문 #defaine abracadabra ##_ 의 도움으로 제안된 옵션에 관심이 있습니다.
상향:
블라디미르 시마코프 좋아, 내가 알아내려고 노력할게
상향:
만세! 벌었다! (와 함께)
고맙습니다! 모든 것이 계획대로 진행되었습니다!
추신: 이 abracadabra에 매크로 __MQL5__ 및 __MQL4__를 추가하는 방법, 그러나 fast_xxx() 함수가 MQL4 코드에 전혀 나타나지 않도록 - NEVER라는 단어에서