MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 149 1...142143144145146147148149150151152153154155156...1953 새 코멘트 Sergey 2017.03.12 16:51 #1481 안녕하세요. 모든 바를 일일이 거치지 않고 날짜와 시간별로 원하는 바를 찾는 방법을 알려주실 수 있나요? Vitalie Postolache 2017.03.12 16:52 #1482 Sergey : 안녕하세요. 모든 바를 일일이 거치지 않고 날짜와 시간별로 원하는 바를 찾는 방법을 알려주실 수 있나요? iBarShift 에 대해 읽기 [삭제] 2017.03.12 20:42 #1483 정수 TotalPos=-1; 무효 시작() { // 나머지 코드 //-- if(OrdersTotal()!=TotalPos) { // 모든 틱을 고문하지 않습니다. for(int i=OrdersHistoryTotal()-1; i>=0; i--) { if(주문선택(i, SELECT_BY_POS, MODE_HISTORY)) { if(OrderSymbol()==Symbol() && 주문 유형()<=1) { 역사(); } }}} TotalPos=OrdersTotal(); // 숫자 기억 //-- } 무효 기록() { 문자열 티켓=(문자열)OrderTicket(); colorcol=빨간색; if(OrderType()==0)col=파란색; 날짜 시간 a=OrderOpenTime(); 더블 b=OrderOpenPrice(); 날짜 시간 c=OrderCloseTime(); 더블 d=OrderClosePrice(); 이중 prSep=OrderProfit()+OrderCommission()+OrderSwap(); 이중prAll=0; 정수 cn=0; 문자열 hTicket; for(int i=OrdersHistoryTotal()-1; i>=0; i--) { if(주문선택(i, SELECT_BY_POS, MODE_HISTORY)) { if(OrderSymbol()==Symbol() && 주문 유형()<=1) { datetime ct=OrderCloseTime(); // 그리드에서 첫 번째와 마지막 닫기 사이의 60초 차이 if(c<=ct+60 && c>=ct-60) { prAll+=OrderProfit()+OrderCommission()+OrderSwap(); hTicket=(문자열)OrderTicket(); cn++; } }}} ObjectCreate(티켓+"열기",OBJ_ARROW,0,a,b); ObjectSet(티켓+"열기",OBJPROP_COLOR,col); ObjectSet(티켓+"열기",OBJPROP_ARROWCODE,1); ObjectCreate(티켓+"라인",OBJ_TREND,0,a,b,c,d); ObjectSet(티켓+"라인",OBJPROP_COLOR,col); ObjectSet(티켓+"라인",OBJPROP_WIDTH,1); ObjectSet(티켓+"라인",OBJPROP_STYLE,STYLE_DOT); ObjectSet(티켓+"라인",OBJPROP_RAY,0); ObjectCreate(티켓+"닫기",OBJ_ARROW,0,c,d); ObjectSet(티켓+"닫기",OBJPROP_COLOR,녹색); ObjectSet(티켓+"닫기",OBJPROP_ARROWCODE,3); 티켓=cn>1?h티켓:티켓; ObjectCreate(티켓+"이익",OBJ_TEXT,0,c,d); ObjectSet(티켓+"이익",OBJPROP_ANCHOR,0); ObjectSetText(티켓+"이익",DoubleToString(prAll,2),10,"Arial",흰색); ObjectSet(티켓+"이익",OBJPROP_PRICE1,d); ObjectSet(티켓+"이익",OBJPROP_TIME1,c+Period()*60*2); } 이러한 거래 장소에서 레벨 라인을 그리기 위해 이 함수의 코드에 추가할 사항 거래에서 차트 이동의 경계까지의 좌표 Any questions from newcomers Questions from Beginners MQL4 초보자의 질문 MQL4 MT4 missha32 2017.03.13 05:01 #1484 .crv 파일에서 읽는 것을 도와주세요. 파일에는 다음 항목이 포함되어 있습니다. 2010.03.18 01:35:00;1.37409;1.37119 각 값을 개별적으로 변수로 가져오는 코드를 작성하는 방법 Artyom Trishkin 2017.03.13 06:06 #1485 missha32 : .crv 파일에서 읽는 것을 도와주세요. 파일에는 다음 항목이 포함되어 있습니다. 2010.03.18 01:35:00;1.37409;1.37119 각 값을 개별적으로 변수로 가져오는 코드를 작성하는 방법 여기에서 읽고/공부하십시오 . Основы программирования на MQL5: Файлы 2016.09.28Dmitry Fedoseevwww.mql5.com Статья-практикум по работе с файлами в MQL5. Читайте, выполняйте несложные задания, и к концу статьи вы обретете не только теоретические знания, но и практические навыки по работе с файлами в MQL5. Maxim Kuznetsov 2017.03.13 06:12 #1486 Alexander Antoshkin : 정수 TotalPos=-1; 무효 시작() { // 나머지 코드 //-- if(OrdersTotal()!=TotalPos) { // 모든 틱을 고문하지 않습니다. for(int i=OrdersHistoryTotal()-1; i>=0; i--) { if(주문선택(i, SELECT_BY_POS, MODE_HISTORY)) { if(OrderSymbol()==Symbol() && 주문 유형()<=1) { 역사(); } }}} TotalPos=OrdersTotal(); // 숫자 기억 //-- } 무효 기록() { 문자열 티켓=(문자열)OrderTicket(); colorcol=빨간색; if(OrderType()==0)col=파란색; 날짜 시간 a=OrderOpenTime(); 더블 b=OrderOpenPrice(); 날짜 시간 c=OrderCloseTime(); 더블 d=OrderClosePrice(); 이중 prSep=OrderProfit()+OrderCommission()+OrderSwap(); 이중prAll=0; 정수 cn=0; 문자열 hTicket; for(int i=OrdersHistoryTotal()-1; i>=0; i--) { if(주문선택(i, SELECT_BY_POS, MODE_HISTORY)) { if(OrderSymbol()==Symbol() && 주문 유형()<=1) { datetime ct=OrderCloseTime(); // 그리드에서 첫 번째와 마지막 닫기 사이의 60초 차이 if(c<=ct+60 && c>=ct-60) { prAll+=OrderProfit()+OrderCommission()+OrderSwap(); hTicket=(문자열)OrderTicket(); cn++; } }}} ObjectCreate(티켓+"열기",OBJ_ARROW,0,a,b); ObjectSet(티켓+"열기",OBJPROP_COLOR,col); ObjectSet(티켓+"열기",OBJPROP_ARROWCODE,1); ObjectCreate(티켓+"라인",OBJ_TREND,0,a,b,c,d); ObjectSet(티켓+"라인",OBJPROP_COLOR,col); ObjectSet(티켓+"라인",OBJPROP_WIDTH,1); ObjectSet(티켓+"라인",OBJPROP_STYLE,STYLE_DOT); ObjectSet(티켓+"라인",OBJPROP_RAY,0); ObjectCreate(티켓+"닫기",OBJ_ARROW,0,c,d); ObjectSet(티켓+"닫기",OBJPROP_COLOR,녹색); ObjectSet(티켓+"닫기",OBJPROP_ARROWCODE,3); 티켓=cn>1?h티켓:티켓; ObjectCreate(티켓+"이익",OBJ_TEXT,0,c,d); ObjectSet(티켓+"이익",OBJPROP_ANCHOR,0); ObjectSetText(티켓+"이익",DoubleToString(prAll,2),10,"Arial",흰색); ObjectSet(티켓+"이익",OBJPROP_PRICE1,d); ObjectSet(티켓+"이익",OBJPROP_TIME1,c+Period()*60*2); } 이러한 거래 장소에서 레벨 라인을 그리기 위해 이 함수의 코드에 추가할 사항 거래에서 차트 이동의 경계까지의 좌표 략 이 같은: string level="Level"+IntegerToString(iTime(_Symbol,iBarShift(OrderCloseTime())); // ид.уровня - по времени бара (!! не по тикету)if (ObjectFind(level)==-1) { // гор.вектора нет - видимо первый ордер из закрытых на баре // сделать горизонтальную линию ObjectCreate(0,level,OBJ_TREND,0,OrderCloseTime(),OrderClosePrice(),OrderCloseTime()+PeriodSeconds(_Period)*3,OrderClosePrice); // указывающую только вправо ObjectSetInteger(level,OBJPROP_RAY,1); ObjectSetInteger(level,OBJPROP_RAYLEFT,0); // украсить её как-то :-) ObjectSetInteger(level,OBJPROP_COLOR,....) ....} else { // гор.уровень есть - значит были ордера закрытые на этом баре // по фантазии - обновить метки/корректировать уровень/etc} Any questions from newcomers Any rookie question, so 포럼을 어지럽히 지 않도록 Sergei Pimenov 2017.03.13 18:35 #1487 안녕하세요! 터미널이 로봇을 볼 수 없는 이유는 무엇입니까? 지역 프로그래머가 작성했습니다. 동시에 일부는 다른 로봇을 보고 일부는 그렇지 않습니다. Artyom Trishkin 2017.03.13 18:47 #1488 Serg_72 : 안녕하세요! 터미널이 로봇을 볼 수 없는 이유는 무엇입니까? 지역 프로그래머가 작성했습니다. 동시에 일부는 다른 로봇을 보고 일부는 그렇지 않습니다. 그리고 "로컬 프로그래머"는 왜 로봇을 시작할 수 없는지 대답할 수 없습니까? yaaarik777 2017.03.13 19:41 #1489 좋은 저녁이에요! 코드 작성을 도와주세요. 저는 스스로 할 수 없다고 생각합니다. 핵심은 다음과 같습니다. EURUSD 쌍 에 대한 어드바이저를 출시할 때 동일한 쌍에 미결/보류 주문이 없는 경우 두 개의 보류 주문을 해야 합니다. 또한 그 중 하나가 작동하면 지연기가 하나 더 설정되지 않습니다. 모든 주문의 합계는 쌍당 2배를 넘지 않으며, 다른 쌍에 이미 배치된 지연/오픈 주문은 고려하지 않아야 합니다. 나는 이미 내 두뇌를 망가뜨렸고, 아무 것도 넣지 않고 모든 틱을 합니다. 당신의 도움을 주셔서 대단히 감사합니다. 고맙습니다. [경고, 주제 닫힘!] 포럼을 미결 주문 총액 문제 포럼을 어지럽히 지 않도록 Maxim Kuznetsov 2017.03.13 20:02 #1490 Serg_72 : 안녕하세요! 터미널이 로봇을 볼 수 없는 이유는 무엇입니까? 지역 프로그래머가 작성했습니다. 동시에 일부는 다른 로봇을 보고 일부는 그렇지 않습니다. 로봇은 "experts" 폴더에 있어야 하며 *.ex4(5의 경우 *.ex5) 형식이어야 합니다. 터미널 - "파일/데이터 디렉토리 열기" 메뉴에서 - "MQL4/Experts" 그리고 소스 텍스트 *.mq4 *.mq5만 실행되지 않습니다. 컴파일해야 합니다. 그리고 동시에 자신의 제품 사용법을 알려주지 않은 프로그래머의 머리를 뜯는다. 1...142143144145146147148149150151152153154155156...1953 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
안녕하세요.
모든 바를 일일이 거치지 않고 날짜와 시간별로 원하는 바를 찾는 방법을 알려주실 수 있나요?
안녕하세요.
모든 바를 일일이 거치지 않고 날짜와 시간별로 원하는 바를 찾는 방법을 알려주실 수 있나요?
iBarShift 에 대해 읽기
정수 TotalPos=-1;
무효 시작()
{
// 나머지 코드
//--
if(OrdersTotal()!=TotalPos) { // 모든 틱을 고문하지 않습니다.
for(int i=OrdersHistoryTotal()-1; i>=0; i--) {
if(주문선택(i, SELECT_BY_POS, MODE_HISTORY)) {
if(OrderSymbol()==Symbol() && 주문 유형()<=1) {
역사();
}
}}} TotalPos=OrdersTotal(); // 숫자 기억
//--
}
무효 기록() {
문자열 티켓=(문자열)OrderTicket();
colorcol=빨간색;
if(OrderType()==0)col=파란색;
날짜 시간 a=OrderOpenTime();
더블 b=OrderOpenPrice();
날짜 시간 c=OrderCloseTime();
더블 d=OrderClosePrice();
이중 prSep=OrderProfit()+OrderCommission()+OrderSwap();
이중prAll=0;
정수 cn=0;
문자열 hTicket;
for(int i=OrdersHistoryTotal()-1; i>=0; i--) {
if(주문선택(i, SELECT_BY_POS, MODE_HISTORY)) {
if(OrderSymbol()==Symbol() && 주문 유형()<=1) {
datetime ct=OrderCloseTime();
// 그리드에서 첫 번째와 마지막 닫기 사이의 60초 차이
if(c<=ct+60 && c>=ct-60) {
prAll+=OrderProfit()+OrderCommission()+OrderSwap();
hTicket=(문자열)OrderTicket();
cn++;
}
}}}
ObjectCreate(티켓+"열기",OBJ_ARROW,0,a,b);
ObjectSet(티켓+"열기",OBJPROP_COLOR,col);
ObjectSet(티켓+"열기",OBJPROP_ARROWCODE,1);
ObjectCreate(티켓+"라인",OBJ_TREND,0,a,b,c,d);
ObjectSet(티켓+"라인",OBJPROP_COLOR,col);
ObjectSet(티켓+"라인",OBJPROP_WIDTH,1);
ObjectSet(티켓+"라인",OBJPROP_STYLE,STYLE_DOT);
ObjectSet(티켓+"라인",OBJPROP_RAY,0);
ObjectCreate(티켓+"닫기",OBJ_ARROW,0,c,d);
ObjectSet(티켓+"닫기",OBJPROP_COLOR,녹색);
ObjectSet(티켓+"닫기",OBJPROP_ARROWCODE,3);
티켓=cn>1?h티켓:티켓;
ObjectCreate(티켓+"이익",OBJ_TEXT,0,c,d);
ObjectSet(티켓+"이익",OBJPROP_ANCHOR,0);
ObjectSetText(티켓+"이익",DoubleToString(prAll,2),10,"Arial",흰색);
ObjectSet(티켓+"이익",OBJPROP_PRICE1,d);
ObjectSet(티켓+"이익",OBJPROP_TIME1,c+Period()*60*2);
}
이러한 거래 장소에서 레벨 라인을 그리기 위해 이 함수의 코드에 추가할 사항
거래에서 차트 이동의 경계까지의 좌표
.crv 파일에서 읽는 것을 도와주세요.
파일에는 다음 항목이 포함되어 있습니다.
2010.03.18 01:35:00;1.37409;1.37119
각 값을 개별적으로 변수로 가져오는 코드를 작성하는 방법
.crv 파일에서 읽는 것을 도와주세요.
파일에는 다음 항목이 포함되어 있습니다.
2010.03.18 01:35:00;1.37409;1.37119
각 값을 개별적으로 변수로 가져오는 코드를 작성하는 방법
정수 TotalPos=-1;
무효 시작()
{
// 나머지 코드
//--
if(OrdersTotal()!=TotalPos) { // 모든 틱을 고문하지 않습니다.
for(int i=OrdersHistoryTotal()-1; i>=0; i--) {
if(주문선택(i, SELECT_BY_POS, MODE_HISTORY)) {
if(OrderSymbol()==Symbol() && 주문 유형()<=1) {
역사();
}
}}} TotalPos=OrdersTotal(); // 숫자 기억
//--
}
무효 기록() {
문자열 티켓=(문자열)OrderTicket();
colorcol=빨간색;
if(OrderType()==0)col=파란색;
날짜 시간 a=OrderOpenTime();
더블 b=OrderOpenPrice();
날짜 시간 c=OrderCloseTime();
더블 d=OrderClosePrice();
이중 prSep=OrderProfit()+OrderCommission()+OrderSwap();
이중prAll=0;
정수 cn=0;
문자열 hTicket;
for(int i=OrdersHistoryTotal()-1; i>=0; i--) {
if(주문선택(i, SELECT_BY_POS, MODE_HISTORY)) {
if(OrderSymbol()==Symbol() && 주문 유형()<=1) {
datetime ct=OrderCloseTime();
// 그리드에서 첫 번째와 마지막 닫기 사이의 60초 차이
if(c<=ct+60 && c>=ct-60) {
prAll+=OrderProfit()+OrderCommission()+OrderSwap();
hTicket=(문자열)OrderTicket();
cn++;
}
}}}
ObjectCreate(티켓+"열기",OBJ_ARROW,0,a,b);
ObjectSet(티켓+"열기",OBJPROP_COLOR,col);
ObjectSet(티켓+"열기",OBJPROP_ARROWCODE,1);
ObjectCreate(티켓+"라인",OBJ_TREND,0,a,b,c,d);
ObjectSet(티켓+"라인",OBJPROP_COLOR,col);
ObjectSet(티켓+"라인",OBJPROP_WIDTH,1);
ObjectSet(티켓+"라인",OBJPROP_STYLE,STYLE_DOT);
ObjectSet(티켓+"라인",OBJPROP_RAY,0);
ObjectCreate(티켓+"닫기",OBJ_ARROW,0,c,d);
ObjectSet(티켓+"닫기",OBJPROP_COLOR,녹색);
ObjectSet(티켓+"닫기",OBJPROP_ARROWCODE,3);
티켓=cn>1?h티켓:티켓;
ObjectCreate(티켓+"이익",OBJ_TEXT,0,c,d);
ObjectSet(티켓+"이익",OBJPROP_ANCHOR,0);
ObjectSetText(티켓+"이익",DoubleToString(prAll,2),10,"Arial",흰색);
ObjectSet(티켓+"이익",OBJPROP_PRICE1,d);
ObjectSet(티켓+"이익",OBJPROP_TIME1,c+Period()*60*2);
}
이러한 거래 장소에서 레벨 라인을 그리기 위해 이 함수의 코드에 추가할 사항
거래에서 차트 이동의 경계까지의 좌표
략
이 같은:
string level="Level"+IntegerToString(iTime(_Symbol,iBarShift(OrderCloseTime())); // ид.уровня - по времени бара (!! не по тикету)
if (ObjectFind(level)==-1) {
// гор.вектора нет - видимо первый ордер из закрытых на баре
// сделать горизонтальную линию
ObjectCreate(0,level,OBJ_TREND,0,OrderCloseTime(),OrderClosePrice(),OrderCloseTime()+PeriodSeconds(_Period)*3,OrderClosePrice);
// указывающую только вправо
ObjectSetInteger(level,OBJPROP_RAY,1);
ObjectSetInteger(level,OBJPROP_RAYLEFT,0);
// украсить её как-то :-)
ObjectSetInteger(level,OBJPROP_COLOR,....)
....
} else {
// гор.уровень есть - значит были ордера закрытые на этом баре
// по фантазии - обновить метки/корректировать уровень/etc
}
안녕하세요!
터미널이 로봇을 볼 수 없는 이유는 무엇입니까? 지역 프로그래머가 작성했습니다. 동시에 일부는 다른 로봇을 보고 일부는 그렇지 않습니다.
안녕하세요!
터미널이 로봇을 볼 수 없는 이유는 무엇입니까? 지역 프로그래머가 작성했습니다. 동시에 일부는 다른 로봇을 보고 일부는 그렇지 않습니다.
좋은 저녁이에요!
코드 작성을 도와주세요. 저는 스스로 할 수 없다고 생각합니다. 핵심은 다음과 같습니다.
EURUSD 쌍 에 대한 어드바이저를 출시할 때 동일한 쌍에 미결/보류 주문이 없는 경우 두 개의 보류 주문을 해야 합니다.
또한 그 중 하나가 작동하면 지연기가 하나 더 설정되지 않습니다. 모든 주문의 합계는 쌍당 2배를 넘지 않으며, 다른 쌍에 이미 배치된 지연/오픈 주문은 고려하지 않아야 합니다.
나는 이미 내 두뇌를 망가뜨렸고, 아무 것도 넣지 않고 모든 틱을 합니다.
당신의 도움을 주셔서 대단히 감사합니다.
고맙습니다.
안녕하세요!
터미널이 로봇을 볼 수 없는 이유는 무엇입니까? 지역 프로그래머가 작성했습니다. 동시에 일부는 다른 로봇을 보고 일부는 그렇지 않습니다.
로봇은 "experts" 폴더에 있어야 하며 *.ex4(5의 경우 *.ex5) 형식이어야 합니다.
터미널 - "파일/데이터 디렉토리 열기" 메뉴에서 - "MQL4/Experts"
그리고 소스 텍스트 *.mq4 *.mq5만 실행되지 않습니다. 컴파일해야 합니다.
그리고 동시에 자신의 제품 사용법을 알려주지 않은 프로그래머의 머리를 뜯는다.