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

 
ToLik_SRGV :

Ilya, 이제 살펴보겠습니다. 하지만 배열에 문자열 유형이 있는 이유를 잘 모르겠습니다.

이것은 여전히 작동 중입니다 :)

사실, 나는 명확히 하고 싶다:

C에서와 같이 mql에 "구조"의 유사성이 있는지 여부.

이 배열에는 다른 유형의 데이터를 저장해야 합니다. 날짜 + 극값 형성 시간과 극한 값 자체의 값 모두 ...

따라서 문자열을 날짜 + 시간으로 변환 하는 표준 함수가 있습니까? 아니면 이 상황을 어떻게 피할 수 있습니까?

 

이 ZZ를 가지고 고통받지 마십시오

파일:
zigzag2_r_.mq4  10 kb
 
Morzh09 :

제 말을 되풀이 해서 죄송합니다만, 이해해주셨으면 합니다...


그것이 즉시 내 눈을 사로 잡았습니다. 귀하의 Number_of_extremum[] 배열은 어디에도 초기화되지 않았으므로 데이터를 저장할 셀이 없으며 최소 / 최대를 쓰려고합니다 (이것이 항상 0이되는 이유입니다) , 이 옵션을 제안합니다. 변수 K에 따라 배열의 크기를 동적으로 변경합니다 .

        
   }
   
//====================================================  

   ArrayResize (Number_of_extremum, k);
   
   for ( int u= 0 ;u<k;u++) //
   {
      if (StrToDouble(TimeSave1[u+ 1 ][ 1 ])<=StrToDouble(TimeSave1[u][ 1 ]))
      {
         Number_of_extremum[u]= 1 ; // значит под номером u - нашли min
      }
      else
      if (StrToDouble(TimeSave1[u+ 1 ][ 1 ])>=StrToDouble(TimeSave1[u][ 1 ]))
      {
         Number_of_extremum[u]= 2 ; // значит под номером u - нашли max
      }
   }
   
//====================================================   

제 생각에는 로직 어딘가에 여전히 버그가 있지만 때때로 숫자가 순서가 맞지 않기 시작하지만 연속으로 두 개의 최대값이 있을 수 있지만 작동하기 시작하는 것 같습니다.

 
ToLik_SRGV :

궁극적으로 달성하고 싶었던 것은 무엇입니까?

내가 올바르게 계산했다면:
1000*60*(240+1)*1000 = 14,460,000초.

테스터가 167일 동안 매 틱마다 멈추기를 원하십니까?

프로세스 중지에 대해서는 이미 몇 페이지 전에 말씀드린 바 있습니다.

감사합니다. 꽤 명확합니다. 테스터에서 절전 모드가 작동하지 않습니다. 나는 수면이 전혀 작동하는지 확인하기 위해 불가능할 정도로 큰 지연을 설정했습니다.
 

안녕하세요. 그런 차익거래 전략이 있는데 이상적일까요? 저것들. 잃는 것이 비현실적입니까, 아니면 가격이 항상 원하는 수준에 도달하지 않습니까?

고맙습니다

 
Swetten :

MT4의 최대 창 수는 얼마입니까?

나는 3x19 창을 열어야했고 54 (일종의)에 매달려 있었고 그게 다야.

저것들. 창이 그려지지만 배경에 있는 이전 창의 스크린샷이 포함되어 있습니다.

그리고 그게 다야.

이것은 비디오 메모리가 충분하지 않을 때 발생합니다 ...
 

20포인트의 예에서 이익에 도달하면 손익분기점에 멈추고 더 이상 움직이지 않도록 어드바이저에 어떤 코드를 추가해야 하는지 알려주세요

나는 대답에 매우 감사 할 것입니다

 

동료! 세 개의 평행 한 수평선 , 즉 일종의 채널로 구성된 그러한 표시기가 있는지 알려주십시오. 예를 들어, 우리는 일반적인 수평선을 가져 와서 일정 수준에 놓고이 선에서 특정 (주어진) 점 수 후에 평행 한 나머지 선을 그립니다. 미리 감사드립니다.

 

테스터의 Expert Advisor는 선택한 기간 동안 5개의 주문을 엽니다.

OrderSend(Symbol(),OP_BUY,lots,Ask,3,Ask-10*Point,0,"", 0,0,Blue) 라인에 있는 경우; 10을 15로 바꾸면 5개 주문 중 4개가 열리며, 10개 대신 20개를 넣으면 3개만 열리게 됩니다.

손절매로 마감된 적자 주문만 건너뜁니다. 오류 메시지 가 발행되지 않습니다. 이유가 무엇인지 알려주세요.

게다가 그는 이 지점에도 빠지지 않는 것 같다.

 if ( OrdersTotal ()!= 0 ) {
   if (OrderType()==OP_BUY && stochMain0<stochSIGNAL0) CLOSEORDER( "Buy" );     
   if (OrderType()==OP_SELL && stochMain0>stochSIGNAL0) CLOSEORDER( "Sell" );  
}
else {
   double MA0 = iMA ( NULL ,timeframe,Period_MA, 0 , MODE_SMA , PRICE_OPEN , 0 );   
   double MA1 = iMA ( NULL ,timeframe,Period_MA, 0 , MODE_SMA , PRICE_OPEN ,Shift);   
   double MA2 = iMA ( NULL ,timeframe,Period_MA, 0 , MODE_SMA , PRICE_OPEN ,Shift* 2 ); 
   if (MA0>MA1-razn1 && MA1>MA2-razn1 && MA0<Ask)    
       if (stochMain0>stochSIGNAL0 && stochMain_1>stochSIGNAL_1 && stochMain_4<stochSIGNAL_4) {
         //OPENORDER ("Buy");
         OrderSend ( Symbol (),OP_BUY, Lots,Ask, 3 ,Ask- 10 * Point , 0 , "" , 0 , 0 , Blue );
      }
   else if (MA0+razn1<MA1 && MA1+razn1<MA2 && MA0>Bid)     
       if (stochMain0<stochSIGNAL0 && stochMain_1<stochSIGNAL_1 && stochMain_4>stochSIGNAL_4)   //   
         {OPENORDER ( "Sell" );  }
}     
파일:
stoch_1.mq4  7 kb
 
profitinvesting :

20포인트의 예에서 이익에 도달하면 손익분기점에 멈추고 더 이상 움직이지 않도록 어드바이저에 어떤 코드를 추가해야 하는지 알려주세요

나는 대답에 매우 감사 할 것입니다

총 수익이 필요하십니까? 모든 오픈 포지션 이 필요합니까, 아니면 20pp 수익에 도달할 때 각각에 대해 자신의 중지를 설정해야 합니까?