[ARCHIVE!] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 4. - 페이지 459

 
친애하는 전문가가 도와드립니다.
템플릿을 자동으로 저장하는 문제를 극복할 수 없습니다.
파일 이름을 저장 창에 붙여넣지 않습니다.
다음은 코드입니다.
 // Функция выгрузки файл шаблона с текущего графика
     string slash= StringSubstr ( "\a" , 0 , 1 );
     string path= "experts\files" ;
     if ( IsTesting ()) path= "tester\files" ;
     SaveTemplate( StringConcatenate ( TerminalPath (),slash,path,slash, Symbol (), "-" , TimeCurrent (), ".tpl" )); //загрузка шаблона с именем 
 
void SaveTemplate( string lpTemplateName)
{
     int hParent, hDlg, hEdit,hButtonSave ;
    hParent = GetAncestor( WindowHandle ( Symbol (), Period ()), 2 );
    PostMessageA(hParent,WM_COMMAND, 33220 , 0 ); //вызываем окно сохранения шаблона
     Sleep ( 100 );
    hDlg = GetLastActivePopup(hParent); //основное окно
    hEdit = GetDlgItem(hDlg,0x3E9); //поле имени файла
    SetWindowTextA(hEdit,lpTemplateName); //вводим имя шаблона
     // 0x45A
    hButtonSave = GetDlgItem(hDlg, 1 );             //определяем дескриптор кнопки "Сохранить"
     Print (lpTemplateName, " " ,hEdit, " " ,hDlg, " " ,hParent, " " , hButtonSave);
    PostMessageA(hDlg,WM_COMMAND, 1 ,hButtonSave);   //нажимаем на кнопку

}
미리 감사드립니다.
 
vasili :
친애하는 전문가가 도와드립니다.
템플릿을 자동으로 저장하는 문제를 극복할 수 없습니다.
저장 창에 파일 이름을 붙여넣지 않습니다.
다음은 코드입니다.

기성품 MT4 관리 기능이 있는 라이브러리 .

//================================================== ==========================================
// 4.4. 차트 템플릿을 설정하는 기능입니다.
//================================================== ==========================================
// 4.4.1. 이 함수는 템플릿 목록에서 해당 이름으로 지정된 차트에 지정된 템플릿을 설치합니다.
void ServiceSetTemplateByName (int hwndChart, // 템플릿이 로드되는 차트 창에 대한 시스템 핸들.
문자열 sNameTemplate); // 템플릿 목록에 있는 템플릿의 이름.
//================================================== ==========================================
// 4.4.2. 이 함수는 템플릿 목록의 번호별로 지정된 차트에 지정된 템플릿을 설치합니다. 함수는 성공하면 TRUE를 반환하고 그렇지 않으면 FALSE를 반환합니다.
bool ServiceSetTemplateByNumber(int hwndChart, // 템플릿이 로드되는 차트 창에 대한 시스템 핸들입니다.
int nTemplate); // 템플릿 목록의 템플릿 번호입니다. 템플릿은 이름별로 목록에서 정렬됩니다. 템플릿 수는 64개로 제한됩니다.

최근에 확인했습니다. 공장.

 
7777877 :
웃는 얼굴 우클릭(클라이언트 터미널 창 우측 상단) -> Expert Advisors -> 삭제

코드를 사용하여 프로그래밍 방식으로 어떻게 할 수 있습니까? 고문은 그 기능을 다하고 기절했습니까?
 
Elektronik :

코드를 사용하여 프로그래밍 방식으로 어떻게 할 수 있습니까? 고문은 그 기능을 다하고 기절했습니까?
https://www.mql5.com/ru/forum/110207
PostMessageA( WindowHandle ( Symbol (), Period ()), WM_COMMAND, 33050 , 0 );
 
Elektronik :

코드를 사용하여 프로그래밍 방식으로 어떻게 할 수 있습니까? 고문이 기능을 다하고 기절했습니까?

기성품 MT4 관리 기능이 있는 동일한 라이브러리 .

//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
// 7. MQL4 프로그램 관리를 위한 기능.
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
// 7.1. 이 기능은 지정된 차트에서 Expert Advisor를 제거합니다. 함수는 성공하면 TRUE를 반환하고 그렇지 않으면 FALSE를 반환합니다.
bool ServiceDeleteExpert (int hwndChart); // 차트 창의 시스템 핸들, 삭제할 EA.
//================================================== ======================================
// 7.2. FUNCTION은 로드된 표시기 목록에서 이름별로 표시기를 제거합니다.
void ServiceDeleteIndicatorsByName (int hwndChart, // 표시기가 연결된 창에 대한 시스템 핸들.
int nWindow, // 표시기를 제거할 하위 창의 수입니다. -1이면 모든 하위 창에서 표시기가 제거됩니다.
string &asIndicatorName[], // 제거할 표시기의 이름이 있는 1차원 배열.
정수 번호 이름); // 배열에 있는 표시기 이름의 수.
//================================================== ======================================
// 7.3. 함수는 지정된 차트에서 스크립트를 제거합니다. 함수는 성공하면 TRUE를 반환하고 그렇지 않으면 FALSE를 반환합니다.
bool ServiceDeleteScript (int hwndChart); // 차트 창의 시스템 핸들, 삭제된 script.oo
//================================================== ======================================
// 7.4. 이 함수는 스크립트 완성 대화 상자를 관리하고 스크립트 완성 대화 상자의 시스템 핸들을 반환합니다.
// 그렇지 않으면 - NULL입니다. 스크립트는 러시아어 및 영어 지역화에서만 작동합니다.
int ServiceDialogScript (int bInstruction); // 스크립트 완료 대화 상자에 대한 명령: TRUE - 스크립트 종료, FALSE - 스크립트를 종료하지 않습니다.
//================================================== ======================================
// 7.5. 함수는 로드된 표시기 목록에서 표시기 이름을 가져옵니다.
// 성공하면 함수는 "nWindow" 매개변수를 사용하여 지정된 하위 창의 표시기 수를 반환하고, 그렇지 않으면 0을 반환합니다.
int ServiceGetNamesIndicators (int hwndChart, // 표시기가 연결된 창에 대한 시스템 핸들입니다.
int nWindow, // 하위 차트 번호. -1이면 모든 하위 창에서 표시기 이름을 읽습니다.
string &asIndicatorName[], // 표시기 이름을 수신하기 위한 1차원 문자열 배열.
// 배열은 각 셀마다 다른 값으로 초기화되어야 합니다!
// 이것은 MQL4의 문자열 배열 초기화 기능입니다.
정수 번호 이름); // 표시기 이름을 수신하기 위한 "asIndicatorName[]" 배열의 크기입니다.
//================================================== ======================================
// 7.6. 함수는 표시기 목록 창을 호출합니다.
bool ServiceListIndicators (int hwndChart); // 지표 목록 창이 호출되는 차트 창의 시스템 핸들입니다.
//================================================== ======================================
// 7.7. 함수는 지정된 차트에서 이름별로 사용자 지정 지표를 로드합니다.
void ServiceLoadCustomIndicator (int hwndChart, // 인디케이터가 로드된 차트 창의 시스템 핸들.void
string szNameIndicator, // 로드된 표시기의 이름.
int bOK); // 표시기 속성 대화 상자가 있는 경우 표시기 시작 확인.
// TRUE - "확인" 버튼의 자동 클릭이 활성화되고, FALSE - "확인" 버튼의 자동 클릭이 비활성화됩니다.
//================================================== ======================================
// 7.8. 이 함수는 이름별로 Expert Advisor를 지정된 차트에 로드합니다.
void ServiceLoadExpert (int hwndChart, // Expert Advisor가 로드되는 차트 창의 시스템 핸들.
string szNameExpert, // 로드된 전문가의 이름입니다.
int bOK); // 전문가의 속성 대화 상자를 사용할 수 있는 경우 전문가의 시작 확인.
// TRUE - "확인" 버튼의 자동 클릭이 활성화되고, FALSE - "확인" 버튼의 자동 클릭이 비활성화됩니다.
//================================================== ======================================
// 7.9. 함수는 이름별로 스크립트를 지정된 차트에 로드합니다.
void ServiceLoadScript (int hwndChart, // 스크립트가 로드되는 차트 창에 대한 시스템 핸들.
string szNameScript, // 로드된 스크립트의 이름입니다.
int bOK); // 스크립트 속성 대화 상자가 있는 경우 스크립트 실행 확인. 스크립트에 속성 창이 없을 수 있습니다!
// 함수를 사용하여 현재 차트의 스크립트에서 스크립트를 로드할 때 매개변수는 다음으로 인해 작동하지 않습니다.
// 같은 차트에서 두 개의 스크립트를 동시에 실행할 수 없습니다.
// TRUE - "확인" 버튼의 자동 클릭이 활성화되고, FALSE - "확인" 버튼의 자동 클릭이 비활성화됩니다.
//================================================== ======================================
// 7.10. 이 함수는 이름별로 표준 지표를 지정된 차트에 로드합니다.
void ServiceLoadStdIndicator (int hwndChart, // 표시기가 로드되는 차트 창에 대한 시스템 핸들입니다.
string szNameIndicator, // 로드된 표시기의 이름.
int bOK); // 표시기 속성 대화 상자가 있는 경우 표시기 시작 확인.
// TRUE - "확인" 버튼의 자동 클릭이 활성화되고, FALSE - "확인" 버튼의 자동 클릭이 비활성화됩니다.
//================================================== =======================================
// 7.11. 이 기능은 전문가의 속성 메뉴를 호출합니다. 함수는 성공하면 TRUE를 반환하고 그렇지 않으면 FALSE를 반환합니다.
bool ServicePropertiesExpert (int hwndChart); // EA의 속성 메뉴가 호출되는 차트 창의 시스템 핸들.
//================================================== ========================================
// 7.12. 이 기능은 "Expert Advisors" 버튼을 제어하여 Expert Advisors를 활성화/비활성화합니다.
무효 ServiceSetExperts ();

 
Elektronik :

코드를 사용하여 프로그래밍 방식으로 어떻게 할 수 있습니까? 고문은 그 기능을 다하고 기절했습니까?

자주 묻는 질문 :
https://www.mql5.com/ru/forum/110207
PostMessageA( WindowHandle ( Symbol (), Period ()), WM_COMMAND, 33050 , 0 );

동의하지 않는다. mql 이상으로 갈 필요가 없으며 차트에서 어드바이저를 제거할 필요가 없습니다. 어드바이저 코드에 제공하여 프로그래밍 방식으로 거래를 차단하는 것으로 충분합니다.

 
granit77 :

동의하지 않는다. mql 이상으로 갈 필요가 없으며 차트에서 어드바이저를 제거할 필요가 없습니다. 어드바이저 코드에 제공하여 프로그래밍 방식으로 거래를 차단하는 것으로 충분합니다.


나는 당신과 동의하지 않습니다 (끝까지 시청):

 
granit77 :

동의하지 않는다. mql 이상으로 갈 필요가 없으며 차트에서 어드바이저를 제거할 필요가 없습니다. 어드바이저 코드에 제공하여 프로그래밍 방식으로 거래를 차단하는 것으로 충분합니다.

예! 바르게! 유일한 예외는 원격 제어입니다.
 

감정가, 조언자에 그러한 코드 섹션이 있습니까? 새 양초 를 열 때 마지막 양초가 두 쌍에서 어떻게 닫혔는지 알아 내야합니다. 모든 것이 잘 작동하지만 그 순간에 두 쌍에 눈금이 있고 고문이 주 쌍에 있고 문제가 없지만 새 촛대가 시작되는 두 번째 쌍에 눈금이 없으면 그 값은 다음과 같습니다. 업데이트되지 않았고 데이터는 마지막 촛불에서 얻은 것이 아니라 전날부터 잠시 기다릴 수 있습니다. 이것은 H1에서 그다지 중요하지 않지만 더 합리적인 결정이있을 수 있습니까?

{ //1
if ( iClose (SignalSimbol, PERIOD_H1 , 1 ) > iOpen (SignalSimbol, PERIOD_H1 , 1 )) svcolor1 = 1 ; // бычья свеча
if ( iClose (SignalSimbol, PERIOD_H1 , 1 ) < iOpen (SignalSimbol, PERIOD_H1 , 1 )) svcolor1 = 2 ; // медвежья свеча
if ( iClose (SignalSimbol, PERIOD_H1 , 1 ) == iOpen (SignalSimbol, PERIOD_H1 , 1 )) svcolor1 = 3 ; // додж
if ( iClose (TradeSimbol, PERIOD_H1 , 1 ) > iOpen (TradeSimbol, PERIOD_H1 , 1 )) svcolor2 = 1 ; // бычья свеча
if ( iClose (TradeSimbol, PERIOD_H1 , 1 ) < iOpen (TradeSimbol, PERIOD_H1 , 1 )) svcolor2 = 2 ; // медвежья свеча
if ( iClose (TradeSimbol, PERIOD_H1 , 1 ) == iOpen (TradeSimbol, PERIOD_H1 , 1 )) svcolor2 = 3 ; // додж
spread =   MarketInfo (TradeSimbol,MODE_SPREAD);
TimeBar_t = ( TimeCurrent ()-Time[ 0 ])/ 60 ; // время в минутах с открытия свечи
RefreshRates ();
} //1 
 
Zhunko :

기성품 MT4 관리 기능이 있는 라이브러리 .

최근에 확인했습니다. 공장.

고맙습니다.
사유: