포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 6. - 페이지 627

 
culler :

주문 보내기()

미끄러짐 ,              // 미끄러짐

어떤 용량인지 알려주세요.

예: 3 - 0.00003 또는 0.0003을 5자리 계정으로


4자리의 경우 3은 5자리의 경우 각각 30이지만 실제로 원하는 경우 5자리의 경우 3을 그대로 수 있습니다.
 

나에게 코드의 예를 들어, 정상적인 것은 마음에 떠오르지 않습니다.

가격 비교가 시작된 순간부터 가격이 얼마나 높거나 낮았는지에 따라 가격 비교(예: MarketInfo( Symbol() ,MODE_BID )를 강제 실행하는 방법.

내가 입찰가를 변수 "A"와 "B"에 넣으면 나중에 비교할 수 있도록 "B" 변수만 업데이트하도록 하려면 어떻게 해야 합니까? 그렇지 않으면 두 변수가 항상 같은 값을 갖게 됩니다 .

아니면 더 간단한 내장 메소드가 있습니까?

 
culler :

나에게 코드의 예를 들어, 정상적인 것은 마음에 떠오르지 않습니다.

가격 비교가 시작된 순간부터 가격이 얼마나 높게/낮게 올랐는지에 따라 가격 비교(예: MarketInfo(Symbol(),MODE_BID )를 강제 실행하는 방법.

내가 입찰가를 변수 "A"와 "B"에 넣으면 나중에 비교할 수 있도록 "B" 변수만 업데이트하도록 하려면 어떻게 해야 합니까? 그렇지 않으면 두 변수가 항상 같은 값을 갖게 됩니다 .

아니면 더 간단한 내장 메소드가 있습니까?


시간을 고려해야 합니다. 첫 번째 Bid 값의 기록 시간을 기억하고 지정된 간격으로 해당 시간의 현재 입찰가와 비교합니다.


1.t=0; A=입찰; B=입찰가; C = MathAbs(BA);

2.t=10; B=입찰가; C = MathAbs(BA); A=입찰;

3.t=20; B=입찰가; C = MathAbs(BA); A=입찰;

...

따라서 변수 C는 지난 10초 동안의 입찰가 차이의 절대값 이 됩니다.

 

프로그램을 디버깅하는 동안 "표현식 값 추적" 창의 디버거에서 표현식에 "표현식을 평가할 수 없습니다"라고 표시되는 동안 값은

이러한 표현식 중 경고 기능 에 의해 호출된 창에서 조용히 강조 표시됩니다. 즉, 프로그램이 작동하고 값이 변수에 할당되지만 계산할 수 없기 때문에 디버거에 표시되지 않습니다. 어떻게 이럴 수있어?

 
evillive :

시간을 고려해야 합니다. 첫 번째 Bid 값의 기록 시간을 기억하고 지정된 간격으로 해당 시간의 현재 입찰가와 비교합니다.


1.t=0; A=입찰; B=입찰가; C = MathAbs(BA);

2.t=10; B=입찰가; C = MathAbs(BA); A=입찰;

3.t=20; B=입찰가; C = MathAbs(BA); A=입찰;

...

따라서 변수 C는 지난 10초 동안의 입찰가 차이의 절대값이 됩니다.


시간과 관련이 없습니다. 여기서 시간은 적이다.

시간이 없으면 어떻습니까?

 
culler :


시간과 관련이 없습니다. 여기서 시간은 적이다.

시간이 없으면 어떻습니까?


OnInit에 가격 값이 있는 변수를 던지면 Expert Advisor가 시작되는 동안 가격 바인딩이 된 다음 필요한 것과 비교합니다.
 
culler :


시간과 관련이 없습니다. 시간은 여기의 적입니다.

시간이 없는 건 어때?


어떤 식 으로든 시간이없는 khvoreks에서는 시스템의 분리 할 수없는 부분입니다. 제기 된 질문에도 시간이 나타납니다.

가격 비교가 시작된 순간부터 가격이 얼마나 높게/낮게 올랐는지에 따라 가격 비교(예: MarketInfo(Symbol(),MODE_BID )를 강제 실행하는 방법.

"순간"에는 기준점이 되는 시간이 있습니다.

 
culler :

나에게 코드의 예를 들어, 정상적인 것은 마음에 떠오르지 않습니다.

가격 비교가 시작된 순간부터 가격이 얼마나 높게/낮게 올랐는지에 따라 가격 비교(예: MarketInfo(Symbol(),MODE_BID )를 강제 실행하는 방법.

내가 입찰가를 변수 "A"와 "B"에 넣으면 나중에 비교할 수 있도록 "B" 변수만 업데이트하도록 하려면 어떻게 해야 합니까? 그렇지 않으면 두 변수가 항상 같은 값을 갖게 됩니다 .

아니면 더 간단한 내장 메소드가 있습니까?

LastPrice=0;

NewPrise=0;

if(условие записи  LastPrice &&  NewPrise==0){LastPrice = MarketInfo(Symbol(),MODE_BID);}

if(LastPrice > 0) { NewPrise = MarketInfo(Symbol(),MODE_BID);} 


 
evillive :

어떤 식 으로든 시간이없는 khvoreks에서는 시스템에서 분리 할 수없는 부분입니다. 제기 된 질문에도 시간이 나타납니다.

"순간"에는 기준점이 되는 시간이 있습니다.


예 아니요 시간 여유가 있습니다 .... 일련의 예상 상태가 있습니다 ... (예측)

그러나 예상되는 두 상태 사이의 거래자의 경우 시간은 어디에, 월은 어디에, 초는 어디에, 연도는 어디에... :-)))

그것이 그의 문제입니다... 성공적인 거래의 요점은 대기 시간을 최소화하는 것입니다.... (당신이 스윙한 것에 따라...)

 

안녕하세요. IndicatorCounted()에 대한 질문:

 #property indicator_separate_window
datetime LastBarTime= 0 ;
int start() 
{
   // каждый свежий бар считаем только 1 раз (сразу после закрытия)
   if (Time[ 0 ]!=LastBarTime)               // если идёт расчёт всей истории или начался свежий бар
   {
      LastBarTime=Time[ 0 ];
      
       int counted=IndicatorCounted(); if (counted< 0 ) return (- 1 );
   // if (counted>0) counted--;   <<< зачем оно???
   
                 int i= Bars -counted;  // варианты: считаем историю(i=кол-во баров), сформирован свежий бара (i=2) ПОЧЕМУ?
       if (counted< 2 ) i= Bars - 2 ;        // для корректного начала расчёта (иначе i и тем более i+1 заглядывают в бездну)

       Print ( "!!!!!!TEST Bars-counted=" ,i);   // ПОЧЕМУ =2 ???
                     
       for (; i> 0 ; i--) // открытый бар не считаем
      {
       // варианты:
       // 1) в истории недостаточно баров (меньше трёх): итераций цикла не будет
       // 2) произошла переинициализация переменных и тогда надо считать историю с нуля (i указывает на 2-й бар слева)
       // 3) историю уже расчитали, а сейчас сформирован свежий бара: i должна указывать на закрытый бар (i=1)
      }
   }
   
return ( 0 );
}


루프에서 두 가지 상태만 믿을 수 있습니까?

1) 초기화(정적 변수가 재설정되고 i는 왼쪽에서 두 번째 막대를 가리킴);

2) 전체 이력이 계산됩니다(i=2).


그리고 실제로 왜 i=2입니까? 나는 i=1 또는 i=0을 이해하겠지만 왜 2인가? 이 2를 믿을 수 있습니까? =)

그렇지 않은 경우 올바르게 수행하는 방법. 내 계산은 연결되어 있으므로 동일한 막대를 다시 처리할 수 없습니다.

...

좋아요, 질문을 다르게 할게요. 바로 이마에. IndicatorCounted() 대신 변수를 사용할 수 있습니까?

즉, 정적 및 전역의 기본 초기화는 항상 IndicatorCounted()의 0과 일치합니까?