Kalenzo: 먼저 매직 넘버를 제공하는 getMagic() 함수를 정의하고 이를 ordersend 함수에 넣습니다(매직 넘버 설정을 위한 매개변수로).
그런 다음 get magic 함수를 무시하고 다음을 수행해야 합니다.
getMagic()
{
1) 루프 for(int i = 1;i<21;i++)를 설정하여 1에서 20까지의 숫자를 확인합니다.
2) 다음으로, 0에서 OrdersTotal까지 for 루프를 사용하여 각 i 번호당 다른 루프(첫 번째 for 내부)를 수행합니다. 매직 번호가 i 와 같다는 것을 발견했는지 확인합니다. 매직 번호를 찾지 못한 경우 이는 비어 있음을 의미합니다 이 함수(getMagic)의 반환 값으로 사용하고 orderSend 함수에 전달할 수 있습니다. 그렇지 않으면 contunue 키워드를 사용하여 매직 번호의 다른 검사로 건너뛸 수 있습니다.
정수 오늘=StrToTime("19:59");
int 어제=StrToTime("19:59")-3600*24;
int twodaysbeforeyesterday=StrToTime("19:59")-3600*24*3;
그래서
2일전 더블 클로즈=iClose(Symbol(),PERIOD_M1,iBarShift(Symbol(),PERIO D_M1,StrToTime("19:59")-3600*24*3));
먼저 매직 넘버를 제공하는 getMagic() 함수를 정의하고 이를 ordersend 함수에 넣습니다(매직 넘버 설정을 위한 매개변수로).
그런 다음 get magic 함수를 무시하고 다음을 수행해야 합니다.
getMagic()
{
1) 루프 for(int i = 1;i<21;i++)를 설정하여 1에서 20까지의 숫자를 확인합니다.
2) 다음으로, 0에서 OrdersTotal까지 for 루프를 사용하여 각 i 번호당 다른 루프(첫 번째 for 내부)를 수행합니다. 매직 번호가 i 와 같다는 것을 발견했는지 확인합니다. 매직 번호를 찾지 못한 경우 이는 비어 있음을 의미합니다 이 함수(getMagic)의 반환 값으로 사용하고 orderSend 함수에 전달할 수 있습니다. 그렇지 않으면 contunue 키워드를 사용하여 매직 번호의 다른 검사로 건너뛸 수 있습니다.
}안녕하세요 칼렌조입니다.
응답 해주셔서 감사합니다!
코드가 정확하다면?
매직넘버 = 1000;
최대 반복 횟수 = 20;
z = 최대 반복 횟수;
마법 = getMagic();
getMagic()
{
findmagic = MagicNumber+i;
for(int i=1;i<=z;i++)
{
for(int n=1;n<=openOrders;n++)
{
주문 선택(n, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol()==Symbol())
{
if (OrderMagicNumber() != findmagic) 계속;
마법 = MagicNumber+i;
}
}
}
리턴(마법);
}
감사합니다
데루무로
데루무로
귀하의 요청을 이해한다면 이것이 귀하가 원하는 것 이상입니다.
함수 와 전역 범위 간에 변수가 공유되는 방식을 연구해야 합니다. 로컬 범위와 고발 범위의 차이점을 이해하지 못하면 큰 문제가 발생합니다.
20개의 주문이 모두 들어온 상황에서 어떻게 대처해야 할지 고민해야 합니다. 음수를 반환하시겠습니까? 더 이상 주문이 허용되지 않음을 프로그램에 알립니다. 귀하의 코드에는 안전 기능이 내장되어 있어야 합니다.
int MagicNumber = 1000;
int maxRepetitions = 20;
int magic = getMagic( MagicNumber, maxRepetitions );
int getMagic( int StartNumber, int Repeat ) {
// CN!{if an error or no open MagicNumbers are avaible it will return -1}:
int ReturnNumber = -1;
for( int i = 1; i <= Repeat; i ++ ) {
for( int n = 0; n <= OrdersTotal(); n ++ ) {
OrderSelect( n, SELECT_BY_POS, MODE_TRADES );
if( OrderSymbol() == Symbol() ) {
if( OrderMagicNumber() != StartNumber + i ) continue;
ReturnNumber = StartNumber + i;
}
}
}
return( ReturnNumber );
}
안녕하세요 칼렌조입니다.
응답 해주셔서 감사합니다!
코드가 정확하다면?
매직넘버 = 1000;
최대 반복 횟수 = 20;
z = 최대 반복 횟수;
마법 = getMagic();
getMagic()
{
findmagic = MagicNumber+i;
for(int i=1;i<=z;i++)
{
for(int n=1;n<=openOrders;n++)
{
주문 선택(n, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol()==Symbol())
{
if (OrderMagicNumber() != findmagic) 계속;
마법 = MagicNumber+i;
}
}
}
리턴(마법);
}
감사합니다
데루무로안녕, cockeydcowboy,
도와주셔서 감사합니다!
저는 프로그래머가 아닙니다. MQL4를 배우려고 하는데 크게 3가지 문제가 있습니다.
1. 나는 영어를 거의 이해하지 못한다.
2 MQL4에 대한 좋은 가이드를 찾지 못했습니다.
3. 도와줄 사람이 없어요.
질문: MQL4와 유사한 프로그래밍 언어가 있습니까?
문안 인사
데루무로
정수 오늘=StrToTime("19:59");
int 어제=StrToTime("19:59")-3600*24;
int twodaysbeforeyesterday=StrToTime("19:59")-3600*24*3;
그래서
2일전 더블 클로즈=iClose(Symbol(),PERIOD_M1,iBarShift(Symbol(),PERIO D_M1,StrToTime("19:59")-3600*24*3));감사합니다, Roger09
시장 실행 여부를 프로그래밍 방식으로 결정
"시장 실행"으로 주문을 개설해야 하는지 또는 초기 주문에서 손절매/이익 실현이 허용되는지 프로그래밍 방식으로 결정하는 방법이 있는지 아는 사람이 있습니까?
씨.
metaquotes.net으로 이동하면 모국어로 메타트레이더를 찾을 수 있습니다.
안녕, cockeydcowboy,
도와주셔서 감사합니다!
저는 프로그래머가 아닙니다. MQL4를 배우려고 하는데 크게 3가지 문제가 있습니다.
1. 나는 영어를 거의 이해하지 못한다.
2 MQL4에 대한 좋은 가이드를 찾지 못했습니다.
3. 도와줄 사람이 없어요.
질문: MQL4와 유사한 프로그래밍 언어가 있습니까?
문안 인사
데루무로csv의 ATR 값 - 스크립트
안녕하세요, 문제가 있습니다. 메타 트레이더에서 csv 파일로 ATR 값을 가져와야 합니다.
불행히도 나는 방법을 모릅니다.
스크립트 작성을 도와주세요.
FileWrite-MQL4 Documentation 및 iATR-MQL4 Documentation을 사용해 보았습니다. 하지만 실패했어요..
C. metaquotes.net에 가면 모국어로 메타트레이더를 찾을 수 있습니다.
감사해요 !
MQL4에 대한 좋은 가이드를 찾고 있습니다.
문안 인사
데루무로
감사해요 !
MQL4에 대한 좋은 가이드를 찾고 있습니다.
문안 인사
데루무로사이트에 있는 것은 괜찮습니다.
MetaQuotes 언어 4 - MQL4