코딩하는 방법? - 페이지 212

 

정수 오늘=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));

 
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 키워드를 사용하여 매직 번호의 다른 검사로 건너뛸 수 있습니다.

}

안녕하세요 칼렌조입니다.

응답 해주셔서 감사합니다!

코드가 정확하다면?

매직넘버 = 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 );

}

derumuro:
안녕하세요 칼렌조입니다.

응답 해주셔서 감사합니다!

코드가 정확하다면?

매직넘버 = 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와 유사한 프로그래밍 언어가 있습니까?

문안 인사

데루무로

 
Roger09:
정수 오늘=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으로 이동하면 모국어로 메타트레이더를 찾을 수 있습니다.

derumuro:
안녕, cockeydcowboy,

도와주셔서 감사합니다!

저는 프로그래머가 아닙니다. MQL4를 배우려고 하는데 크게 3가지 문제가 있습니다.

1. 나는 영어를 거의 이해하지 못한다.

2 MQL4에 대한 좋은 가이드를 찾지 못했습니다.

3. 도와줄 사람이 없어요.

질문: MQL4와 유사한 프로그래밍 언어가 있습니까?

문안 인사

데루무로
 

csv의 ATR 값 - 스크립트

안녕하세요, 문제가 있습니다. 메타 트레이더에서 csv 파일로 ATR 값을 가져와야 합니다.

불행히도 나는 방법을 모릅니다.

스크립트 작성을 도와주세요.

FileWrite-MQL4 DocumentationiATR-MQL4 Documentation을 사용해 보았습니다. 하지만 실패했어요..

 
nondisclosure007:
C. metaquotes.net에 가면 모국어로 메타트레이더를 찾을 수 있습니다.

감사해요 !

MQL4에 대한 좋은 가이드를 찾고 있습니다.

문안 인사

데루무로

 
derumuro:
감사해요 !

MQL4에 대한 좋은 가이드를 찾고 있습니다.

문안 인사

데루무로

사이트에 있는 것은 괜찮습니다.

MetaQuotes 언어 4 - MQL4

사유: