[경고, 주제 닫힘!] 포럼을 어지럽히지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 당신 없이는 어디에도 없습니다. - 페이지 715

 
dimon74 :
이것이 나를 위해 작동하는 방식입니다. 포지션은 TP에 의해 마감되었으며 새로운 보류 주문을 하려면 TP+n*Point 값이 필요합니다. 그리고 여기에서 불일치가 발생합니다. OrderTakeProfit() 은 4개의 신호를 제공하고(이는 Alert를 통해 볼 수 있음) DC는 5개를 원합니다. 나는 이미 많은 것을 시도했지만 그것이 전부는 아닌 것 같다. 생각이 있으시면 던져주세요. 미리 감사드립니다!
Alert () 및 Print ()는 기본적으로 소수점 이하 4자리를 제공하지만 실제로는 8자리가 사용되지만 "콘솔"에 대한 보다 정확한 출력을 위해 DoubleToStr() 함수를 사용합니다.
 
dimon74 :
이것이 나를 위해 작동하는 방식입니다. 포지션은 TP에 의해 마감되었으며 새로운 보류 주문을 하려면 TP+n*Point 값이 필요합니다. 그리고 여기에서 불일치가 발생합니다. OrderTakeProfit() 은 4개의 신호를 제공하고(이는 Alert를 통해 볼 수 있음) DC는 5개를 원합니다. 나는 이미 많은 것을 시도했지만 그것이 전부는 아닌 것 같다. 생각이 있으시면 던져주세요. 미리 감사드립니다!

stringDoubleToStr ( 이중 값, 정수 숫자)

숫자 값을 지정된 정밀도 형식으로 숫자의 문자 표현을 포함 하는 텍스트 문자열 로 변환합니다.

이것은 확인에 도움이 될 것입니다.

Alert() 및 Print() 모두 4자리의 정확도로 값을 출력한다는 것뿐입니다. 그래서 당신은 또 다른 문제가 있습니다

 

왜 이렇게 생겼는지 이해가 안감

 for ( int a= 0 ;a< 8 ;a++)
// тут что нить делаем
for ( int a= 0 ;a< 8 ;a++)
// еще чо нить делаем

변수가 이미 정의되어 있다고 기록합니다. 반복에서 그녀는 다시 0으로 할당된 것 같습니까? 그리고 그들은 서로 다른 코드 조각에 있습니다. 첫 번째는 if, 두 번째는 else...

 
Abzasc :

왜 이렇게 생겼는지 이해가 안감

변수가 이미 정의되어 있다고 기록합니다. 반복에서 그녀는 다시 0으로 할당된 것 같습니까? 그리고 그들은 서로 다른 코드 조각에 있습니다. 첫 번째는 if, 두 번째는 else...


 int a;
for (a= 0 ;a< 8 ;a++)
// тут что нить делаем
for (a= 0 ;a< 8 ;a++)
// еще чо нить делаем
동일한 변수를 두 번 정의하는 이유는 무엇입니까?
 
Vinin :

동일한 변수를 두 번 정의하는 이유는 무엇입니까?

다시 읽기

 for ( int a= 0 ;a< 8 ;a++)
 aJPY[a]= iCustom ( NULL , PERIOD_M15 , "Indexes" ,a, 0 );

즉, 조건이 하나이면 읽고, 다른 하나는 ... 젠장. 이해했다. 그러나 이것은 특정 경우에 해당하므로 다른 부분에는 이 부분이 필요하지 않습니다.

다른 코드에서 사용할 수 있도록 변수를 재설정하는 방법은 명확하지 않습니다. 조건이 같으면 하나의 지표를 호출하고 다른 하나는 다른 하나를 호출합니다. 그렇지 않으면 변수가 충분하지 않습니다...

 
Abzasc :

다시 읽기

즉, 조건이 하나이면 읽고, 다른 조건이면 ... 젠장. 이해했다. 그러나 이것은 특정 경우에 해당하므로 다른 부분에는 이 부분이 필요하지 않습니다.

다른 코드에서 사용할 수 있도록 변수를 재설정하는 방법은 명확하지 않습니다. 조건이 같으면 하나의 지표를 호출하고 다른 하나는 다른 하나를 호출합니다. 그렇지 않으면 변수가 충분하지 않습니다...


아니, 결정해야 합니다. 코드가 누락된 것 같습니다. 한 가지만 이야기했습니다. 변수를 선언하는 것과 변수를 사용하는 것(사전 초기화와 함께)은 별개입니다. 하나의 동일한 변수가 완전히 다른 기능적 값을 가질 수 있습니다. 가장 중요한 것은 무엇을 어디에서 혼동하지 않는 것입니다.
 

더 구체적으로 노력하겠습니다. 버퍼가 없는 표시기가 있습니다. 다른 지표의 값을 4개의 배열로 가져옵니다. 난 엿먹이려고 하고 있어

   int    counted_bars=IndicatorCounted();
   // считать только последний вызов
   int limit;
   if (counted_bars> 0 )
      counted_bars--;
   limit= Bars -counted_bars;
   for ( int i= 0 ;i<limit;i++)
새 막대 가 있으면 모든 배열을 다시 계산합니다. 그렇지 않으면 0-하울뿐입니다. 그러나 우리는 어쨌든 다시 계산합니다. 즉, if와 else를 모두 호출합니다.
 
Abzasc :

더 구체적으로 노력하겠습니다. 버퍼가 없는 표시기가 있습니다. 다른 지표의 값을 4개의 배열로 가져옵니다. 난 엿먹이려고 하고 있어

새 막대가 있으면 모든 배열을 다시 계산합니다. 그렇지 않으면 0-하울뿐입니다. 그러나 우리는 어쨌든 다시 계산합니다. 즉, if와 else를 모두 호출합니다.


나는 다른 접근 방식을 선호한다

   int     counted_bars=IndicatorCounted();
   // считать только последний вызов
   int limit= Bars -counted_bars- 1 ;
   if ( Bars -counted_bars> 2 )
      limit = //.......................
   for ( int i=limit;i>= 0 ;i--)

이것은 취향의 문제이지만. 하지만 적어도 나는 모든 라인을 설명할 수 있습니다

 
Vinin :


나는 다른 접근 방식을 선호한다

이것은 취향의 문제이지만. 하지만 적어도 나는 모든 라인을 설명할 수 있습니다

순리에 맡기다. 그런 다음 limit = 0이고 배열 0, 1, 2, else - 배열 0을 쓰면 변수에 오류가 발생합니다.

또는 배열 1, 2, else - 배열 0을 쓰는 경우 필요합니까?

어쨌든 - 변수를 두 번 사용할 수 없습니다. 여기에 캐치가 있습니다. 2번만 적용하지만 if와 else에서. 코드 상단의 일반 변수에도 없습니다.

 
Abzasc :

순리에 맡기다. 그런 다음 limit = 0이고 배열 0, 1, 2, else - 배열 0을 쓰면 변수에 오류가 발생합니다.

또는 배열 1, 2, else - 배열 0을 쓰는 경우 필요합니까?

어쨌든 - 변수를 두 번 사용할 수 없습니다. 여기에 캐치가 있습니다. 2번만 적용하지만 if와 else에서. 코드 상단의 일반 변수에도 없습니다.


모든 코드를 제공하십시오. 개인사정으로 가능합니다. 도움이 되도록 노력하겠습니다
사유: