1. 내 라이브러리를 마스터 신호 목록에 추가하려면 어떻게 해야 하나요(예: 현재 MACD를 변경하고 기본 라이브러리를 삭제하지 않고 저장)?
2. 라이브러리 작업에 대한 질문입니다:
마법사의 도움으로 만든 MAKD를 기반으로 한 전문가 조언자를 고려해 봅시다 : 우리는 그것을 만들고 컴파일하고 테스트하고 몇 가지 결과를 얻었습니다.
라이브러리의 MAKD 신호는 다음과 같습니다:
//--- 시장 모델의 기본 "가중치" 설정
m_pattern_0 =10; // 모델 0 "오실레이터에 필요한 방향이 있습니다"
m_pattern_1 =30; // 모델 1 "오실레이터를 필요한 방향으로 반전"
m_pattern_2 =80; // 모델 2 "메인 라인과 신호 라인의 교차"
m_pattern_3 =50; // 모델 3 "제로 레벨에서 메인 라인 교차"
m_pattern_4 =60; // 모델 4 "오실레이터와 가격의 발산"
m_pattern_5 =100; // 모델 5 "오실레이터와 가격의 이중 발산"
Далее, если я занулю не нужные мне паттерны (например 0,1,2,4,5) в библиотеке:
//--- 시장 모델의 기본 "가중치" 설정
m_pattern_0 =0; // 모델 0 "오실레이터에 필요한 방향이 있습니다"
m_pattern_1 =0; // 모델 1 "오실레이터를 필요한 방향으로 반전"
m_pattern_2 =80; // 모델 2 "메인 라인과 신호 라인의 교차"
m_pattern_3 =0; // 모델 3 "제로 레벨에서 메인 라인 교차"
m_pattern_4 =0; // 모델 4 "오실레이터와 가격의 발산"
m_pattern_5 =0; // 모델 5 "오실레이터와 가격의 이중 발산"
라이브러리만 컴파일합니다(EA 코드 자체는 컴파일하지 않습니다). 테스트하고 첫 번째 테스트와 정확히 동일한 결과를 얻습니다.
EA 코드도 컴파일하면 이 예제에서는 패턴 2에 대해서만 다른 결과를 얻을 수 있습니다.
질문이 있습니다. 라이브러리에서 일부 매개 변수를 변경 한 후 EA 코드를 다시 컴파일해야하는 이유는 무엇입니까? (변경되지 않았습니다).
트레이딩 전략의 기본 클래스는 terminal_data_folder\MQL5\Include\Expert\에 있습니다. 트레이딩 신호 클래스 ,오픈 포지션 유지 클래스, 자본 및 위험 관리 클래스의 준비된 알고리즘은 신호, 추적 및 자금 하위 디렉토리에 있습니다. MQL5 마법사는 이러한 디렉토리에 있는 파일을 분석하여 EA 코드를 생성하는 데 사용합니다.
즉, 신호 모듈은 터미널_데이터_폴더\MQL5\포함\전문가\신호 디렉토리에 있으며, MQL5 마법사가 보려면 반드시 있어야 합니다.
새 신호 모듈은 다른 모듈 설명을 가져야 하며 그 유형은 SignalAdvanced여야 합니다.
이전에 작성된 신호 모듈에서 Signal을 SignalAdvanced로 대체해도 여전히 작동하지 않습니다. 이제 CheckOpenShort/CheckOpenLong 함수가 사용되지 않고 ShortCondition/LongCondition으로 대체되나요?
이 함수에는 매개 변수가 없으므로 테이크아웃 및 정지를 설정하는 방법이 불분명합니다.
int CSignalMA::LongCondition()
{
int result=0;
int idx =StartIndex();
//--- 첫 번째 분석 막대에서 종가와 지표의 위치 관계를 분석합니다.if(DiffCloseMA(idx)<0.0)
{
//--- 종가가 표시기 아래에 있습니다.if(IS_PATTERN_USAGE(1) && DiffOpenMA(idx)>0.0 && DiffMA(idx)>0.0)
{
//--- 시가가 지표 위에 있지만(즉, 교차점이 있음) 지표는 위쪽으로 향하고 있습니다.
result=m_pattern_1;
//--- 이것이 형성되지 않은 "피어싱"이라고 생각하고 현재 가격으로 시장에 진입할 것을 제안합니다.
m_base_price=0.0;
}
}
else
{
//--- 종가가 지표 위에 있습니다(지표에 매수에 대한 이의가 없음).if(IS_PATTERN_USAGE(0))
result=m_pattern_0;
모델 2를 사용하는 경우 //---if(IS_PATTERN_USAGE(2) && DiffMA(idx)>0.0)
{
//--- 표시기가 위쪽으로 향합니다.if(DiffOpenMA(idx)<0.0)
{
//--- 시가가 표시기 아래에 있습니다(즉, 교차점이 있음).
result=m_pattern_2;
//--- "롤백"에서 시장 진입을 제안합니다.
m_base_price=m_symbol.NormalizePrice(MA(idx));
}
else
{
//--- 시가가 표시기 위에 있습니다.if(DiffLowMA(idx)<0.0)
{
//--- 낮은 가격이 표시기 아래에 있습니다.
result=m_pattern_2;
//--- 이것이 형성된 "피어싱"이라고 생각하고 현재 가격으로 시장에 진입 할 것을 제안합니다.
m_base_price=0.0;
}
}
}
}
//--- 결과를 반환합니다.return(result);
}
이제 IS_PATTERN_USAGE()가 신호 모듈의 모든 곳에서 사용되는데, 그 이유가 불분명합니다.
일반적으로 신호 모듈을 직접 만드는 방법에 대한 정보를 기다리고 있습니다.
그리고 이전 마법사 모드인 Type=Signal을 사용할 수 있나요? 아니면 이제 모든 모듈이 새로운 방식으로 작성되나요?
1. 신호를 반전시키는 방법을 알려주실 수 있나요?
예: GBP/USD 매수 신호를 확인하려면 MACD EUR/GBP 매도 신호가 필요합니다.
아니면 라이브러리 코드를 파헤쳐서 "플러스"를 "마이너스"로 변경하고 다른 이름의 라이브러리로 저장하는 것이 더 쉬운가요?
추신: 전문가 조언자를 만들 때 어떤 신호를 취할지 선택할 때 정방향 또는 역방향 신호를 선택하면 좋을 것 같습니다.
2. 라이브러리에 꿰매어진 패턴의 가중치를 꺼내서 가중치를 최적화하려면 어떻게 해야 하나요?
1. 신호를 반전하는 방법을 알려주실 수 있나요?
예: GBP/USD 매수 신호를 확인하려면 MACD EUR/GBP 매도 신호가 필요합니다.
아니면 라이브러리 코드를 파헤쳐서 "플러스"를 "마이너스"로 변경하고 다른 이름의 라이브러리로 저장하는 것이 더 쉬운가요?
추신: 전문가 조언자를 만들 때 어떤 신호를 취할지 선택할 때 정방향 또는 역방향 신호를 선택하면 좋을 것 같습니다.
2. 라이브러리에 꿰매어져 있는 패턴의 가중치를 어떻게 꺼내서 이 가중치를 최적화할 수 있나요?
1. 신호를 반전(및 무시)하는 메커니즘은 CExpertSignal 베이스 클래스에 내장되어 있지만, 안타깝게도 마법사에서는 아직 사용할 수 없습니다.
2 패턴 가중치도 마찬가지입니다.
"마법사" 이후에 얻은 Expert Advisor의 소스를 첨부하여 간략하게 설명해 주세요. "손으로" 하는 방법을 설명해 드리겠습니다.
추신. "마법사"는 개발 중이며 이러한 설정은 나중에 사용할 수 있습니다.
1. 내 라이브러리를 마스터 신호 목록에 추가하려면 어떻게 해야 하나요(예: 현재 MACD를 변경하고 기본 라이브러리를 삭제하지 않고 저장)?
2. 라이브러리 작업에 대한 질문입니다:
마법사의 도움으로 만든 MAKD를 기반으로 한 전문가 조언자를 고려해 봅시다 : 우리는 그것을 만들고 컴파일하고 테스트하고 몇 가지 결과를 얻었습니다.
라이브러리의 MAKD 신호는 다음과 같습니다:
라이브러리만 컴파일합니다(EA 코드 자체는 컴파일하지 않습니다). 테스트하고 첫 번째 테스트와 정확히 동일한 결과를 얻습니다.
EA 코드도 컴파일하면 이 예제에서는 패턴 2에 대해서만 다른 결과를 얻을 수 있습니다.
질문이 있습니다. 라이브러리에서 일부 매개 변수를 변경 한 후 EA 코드를 다시 컴파일해야하는 이유는 무엇입니까? (변경되지 않았습니다).
1. 내 라이브러리를 마스터 신호 목록에 추가하려면 어떻게 해야 하나요(예: 현재 MACD를 변경하고 주 신호는 삭제하지 않고 저장)?
신호 모듈의 코드가 포함된 include 파일을 말하는 건가요? 필요에 따라 현재 모듈을 변경하고 동일한 디렉토리에 다른 이름으로 저장합니다. 이에 대한 자세한 내용은 문서에 나와 있습니다:
새로운 MQL5 마법사에서 트레이딩 로봇 만들기 문서를 참고하세요.
EA 코드는 메타에디터의 MQL5 마법사를 사용하여 구성됩니다.
트레이딩 전략의 기본 클래스는 terminal_data_folder\MQL5\Include\Expert\에 있습니다. 트레이딩 신호 클래스 , 오픈 포지션 유지 클래스, 자본 및 위험 관리 클래스의 준비된 알고리즘은 신호, 추적 및 자금 하위 디렉토리에 있습니다. MQL5 마법사는 이러한 디렉토리에 있는 파일을 분석하여 EA 코드를 생성하는 데 사용합니다.
어떤 이유로 새 버전의 터미널에는 더 이상 사용자 지정 버전의 신호 발생기 모듈이 포함되어 있지 않습니다. MQL5/Include/Expert/Signal/ 폴더에는 30개의 모듈이 있지만 마법사에는 도움말에 따라 표준으로 제공되는 모듈이 20개만 표시됩니다.
저만 그런 건가요, 아니면 MT5 에디터가 더 이상 신호 모듈이 있는 폴더에서 새 모듈을 검색하지 않나요? 메타쿼츠에서 개발한 캔들스틱 패턴을 기반으로 한 이전 신호 모듈도 연결되지 않습니다.
어떤 이유로 새 버전의 터미널에는 더 이상 사용자 지정 버전의 신호 발생기 모듈이 포함되어 있지 않습니다. MQL5/Include/Expert/Signal/ 폴더에는 30개의 모듈이 있지만 마법사에는 도움말에 따라 표준으로 제공되는 모듈이 20개만 표시됩니다.
저만 그런 건가요, 아니면 MT5 에디터가 더 이상 신호 모듈이 있는 폴더에서 새 모듈을 검색하지 않나요? 메타쿼츠에서 개발한 이전 캔들스틱 패턴 기반 신호 모듈도 연결되지 않습니다.
새 신호 모듈은 다른 모듈 설명을 가져야 하며 유형이 SignalAdvanced여야 합니다.
새 신호 모듈은 다른 모듈 설명을 가져야 하며 그 유형은 SignalAdvanced여야 합니다.
새 신호 모듈은 다른 모듈 설명을 가져야 하며 그 유형은 SignalAdvanced여야 합니다.
이전에 작성된 신호 모듈에서 Signal을 SignalAdvanced로 대체해도 여전히 작동하지 않습니다. 이제 CheckOpenShort/CheckOpenLong 함수가 사용되지 않고 ShortCondition/LongCondition으로 대체되나요?
이 함수에는 매개 변수가 없으므로 테이크아웃 및 정지를 설정하는 방법이 불분명합니다.
이제 IS_PATTERN_USAGE()가 신호 모듈의 모든 곳에서 사용되는데, 그 이유가 불분명합니다.
일반적으로 신호 모듈을 직접 만드는 방법에 대한 정보를 기다리고 있습니다.
그리고 이전 마법사 모드인 Type=Signal을 사용할 수 있나요? 아니면 이제 모든 모듈이 새로운 방식으로 작성되나요?
각 시장 모델에는 1에서 100까지 측정되는 중요도가 할당됩니다. 값이 높을수록 모델이 더 강력하다는 뜻입니다.
가중치가 0.4인 MA와 가중치가 0.8인 스토캐스틱은 외부 변수로 설정되며, MA의 경우 유의도는 100입니다. 이 모델의 확률적 유의성은 80입니다. 각 모델의 유의도는 어디에서 설정되며 어떻게 결정되나요?