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

 
KabrGvin :

술집이 없는 주말의 영향을 피하는 방법을 알려주세요. 다음 공식을 사용하여 막대 수를 계산해 보겠습니다.

nt i1 =( 시간[0] - t1 )/60/ 기간 ();

int i2 =( 시간[0] - t2 )/60/ 기간 ();

i1과 i2 사이의 막대 수는 그 차이와 같습니다. 즉 , 막대 수 = i1-i2 입니다. 그러나 i1과 i2가 주말 사이에 있으면 토요일과 일요일에 존재하지 않는 막대를 고려하여 막대 수가 계산됩니다. 이 상황에서 벗어나는 방법?

진심으로, 드미트리.


모두에게 감사합니다. 나는 그것을 스스로 알아 냈습니다.



 

사람들! 2.643789를 정수로 반올림하는 방법은 무엇입니까? 또는 어렵지 않다면 링크를 던져라.

그렇지 않으면 교과서와 문서에서 찾을 수 없거나 검색에서 아무 것도 발견되지 않았거나 잘못된 위치에서 찾고 있습니다.

 
eddy :

alsu , 어떻게 완전히 채우나요? :)

왜 i를 인쇄합니까?) i는 Bars-counted+2와 같습니다. 어떻게 부정적일 수 있습니까?

               for (i= Bars ; i>= 0 ; i--) Rel[i]=pr(Close[i])-pr(Close[i+ 1 ]);
     if (teni) for (i= Bars ; i>= 0 ; i--) {Rhi[i]=pr(High[i])-pr(Close[i+ 1 ]);
                                      Rlo[i]=pr(Low[i])-pr(Close[i+ 1 ]);
                                                Rlo[i]= MathMin (Rlo[i], 0 );
                                                Rhi[i]= MathMax (Rhi[i], 0 );}

이 코드는 매 틱마다 실행됩니다. 각 틱이 도착할 때 Bars에서 0까지의 배열 Rel,...의 모든 요소에 일부 값이 할당됩니다. (그런데 Bars라는 숫자가 있는 요소는 없으며 배열의 마지막 인덱스는 Bars-1입니다. 이 점을 기억해야 합니다)

이제 비 렌더링에 대해 설명합니다.

오류가 어디에 있는지 찾아야 합니다. 우선, 인덱스 i가 취하는 값과 rsi() 함수가 제공하는 값을 살펴볼 것을 제안합니다. ME에는 디버거가 없으므로 echo를 사용해야 합니다. 인쇄().

 
gheka :

사람들! 2.643789를 정수로 반올림하는 방법은 무엇입니까? 또는 어렵지 않다면 링크를 던져라.

그렇지 않으면 교과서와 문서에서 찾을 수 없거나 검색에서 아무 것도 발견되지 않았거나 잘못된 위치에서 찾고 있습니다.

https://docs.mql4.com/en/math/MathRound

이중 MathRound(이중 값)

이 함수는 지정된 숫자 값의 가장 가까운 정수로 반올림된 값을 반환합니다.

예시:
이중 y=MathRound(2.8);
Print("2.8에서 ",y);
y=MathRound(2.4);
Print("반올림 -2.4에서 ",y);
// 출력: 라운드 2.8에서 3으로
// -2.4에서 -2로 반올림

 
alsu :

..각 틱마다 배열 Rel,...의 모든 요소에 Bars에서 0까지의 값이 할당됩니다.

이제 비 렌더링에 대해 설명합니다.

오류가 어디에 있는지 찾아야 합니다. 우선, 인덱스 i가 취하는 값과 rsi() 함수가 제공하는 값을 살펴볼 것을 제안합니다. ME에는 디버거가 없으므로 echo를 사용해야 합니다. 인쇄().

"막대에서 0으로" 나는 이미 수정했습니다) 나는 끊임없이 chenit을 읽고 수정합니다.

이제 비 렌더링에 대해)

Bars-counted+2가 음수일 수 있습니까?

 

모든 미결 주문을 수정하는 방법은 무엇입니까?

어떤 이유에서인지 하나의 주문만이 나를 수정합니다.

여기 내 코드가 있습니다

 tot= OrdersTotal ();
if (tot> 0 )
{ if (OO_11( 0 )==false) <---- ОО_11() он проверяет есть ли стоп
{ int k= OrdersTotal ();
for ( int a= 0 ;a<=k;a++)
{ if ( OrderSelect (a,SELECT_BY_POS,MODE_TRADES))
{ if (OrderType()==OP_SELL)
{ if (OrderMagicNumber()== 0 )
{
int tik=OrderTicket();
OrderModify(tik,Ask,Ask+ 0.01000 , 0 , 0 , 0 );
}
}
}
}
}
}
나는 마법 없이 10-50개의 열린 주문을 가지고 있지만, 그것은 하나의 주문에 대해서만 손절매 를 설정합니다. 무엇이 잘못되었는지 말해 주세요.
 
eddy :

"막대에서 0으로" 나는 이미 수정했습니다) 나는 끊임없이 chenit을 읽고 수정합니다.

이제 비 렌더링에 대해)

Bars-counted+2가 음수일 수 있습니까?

방망이에서 - 아니, 할 수 없습니다. 그러나 확인은 여전히 생각보다 빠릅니다. 이상적인 옵션은 모든 곳에서 인쇄를 지시하고 프로그램이 작동하는 동안 응시하는 것입니다.
 
gheka :

모든 미결 주문을 수정하는 방법은 무엇입니까?

어떤 이유에서인지 하나의 주문만이 나를 수정합니다.

여기 내 코드가 있습니다

나는 마법 없이 10-50개의 열린 주문을 가지고 있지만, 그것은 하나의 주문에 대해서만 손절매를 설정합니다. 무엇이 잘못되었는지 말해 주세요.

1) 변수 k는 변수 tot를 반복합니다.

2) a<=k 틀리다, 맞다 a<k

3) 주문 수정에 대한 로그는 무엇입니까?

 
alsu :

1) 변수 k는 변수 tot를 반복합니다.

2) a<=k 틀리다, 맞다 a<k

3) 주문 수정에 대한 로그는 무엇입니까?

로그에는 정보가 없으며 주문 시작만 가능하므로 여전히 쟁기질하지 않습니다.
 
alsu :

1) 변수 k는 변수 tot를 반복합니다.

2) a<=k 틀리다, 맞다 a<k

3) 주문 수정에 대한 로그는 무엇입니까?

이제 작동합니다) 감사합니다