전문가를 위한 질문 - 페이지 14

 
Спасибо большое!
 
rid писал(а) >>

안녕하세요. 나는 그것을 사용하는 방법을 알아낼 수 없습니다. 고문의 칠면조.

여기 그는 칠면조입니다.



나는 고문에서 칠면조를 이렇게 부릅니다 (2 버퍼의 값)-

그러나 시각적 모드에서는 두 버퍼의 칠면조 값이 0에서 플러스/마이너스 5로 변경되는 것이 분명하지만 세관은 완고하게 0을 표시(반환)합니다....

댓글에 게시했습니다. - 그림 참조: 그래프는 녹색을 보여줍니다. 줄 = 5이고 주석에 0이 표시됩니다.

몇시인지 알 수 없습니다. 제발. 어디가 실수인지 말해줘?

칠면조 자체가 펌프에 있습니다.

오류를 찾았습니다. 미샤는 테스트 스크립트를 버렸습니다.

실제로 모든 매개변수를 전송해야 합니다. 문자열도

파일:
level_1.mq4  2 kb
 
Vinin님 감사합니다!
 

오늘의 좋은 시간! 나는 아는 사람들의 도움을 요청합니다. pliz가 haOpen과 haClose의 차이를 보여주는 heiken ashi 공식을 기반으로 오실레이터를 구성할 수 있도록 도와주세요. 미리 감사드립니다!

 

안녕하세요 !

제발. 말하다. 코드는 다음과 같습니다.

 // Проверка условий для совершения сделки селл 
  if ( если условия соотв . - ют заданным ) { //продаем
StopLevel = MarketInfo ( Symbol ( ) , MODE_STOPLEVEL ) ;
   
      SL = 0 ; TP = 0 ;
      if ( StopLoss > 0    & & StopLoss > StopLevel )   SL = Bid + Point * StopLoss ;
      if ( TakeProfit > 0 & & TakeProfit > StopLevel ) TP = Bid - Point * TakeProfit ;
      if ( StopLoss  < StopLevel & & StopLoss > 0 )   SL = Bid + Point * StopLevel ; 
      if ( TakeProfit < StopLevel & & TakeProfit > 0 ) TP = Bid - Point * StopLevel ; 
   ticket = OrderSend ( Symbol ( ) , OP_SELL , lots , Bid , 3 , SL , TP , "Name_Expert" , Magic , 0 , clOpenSell ) ;

                                                   }

무엇이 잘못되었는지 알 수 없습니다! 내가 손절매를 설정하고 허용된 것보다 적은 이익을 취하면 테스터의 로그는 오류 130 (잘못된 중지)을 반환합니다!

그러나 결국, 나는 특히 .,이 오류가 발생하지 않도록 예상했습니다!

조건이 작동하지 않는 이유를 알려주십시오. -


 if ( StopLoss  < StopLevel & &   StopLoss > 0 )   SL = Bid + Point * StopLevel ; 
 if ( TakeProfit < StopLevel  & & TakeProfit > 0 )   TP = Bid - Point * StopLevel ; 
 
그리고 간격을 위해 StopLevel에 1-2를 추가하시겠습니까? 어떻게 든 그것은 나를 도왔습니다.
 
많은 초보자는 부동 소수점 숫자를 비교하는 데 어려움을 겪습니다. granit77이 맞습니다. 저는 일반적으로 전문가의 작업의 정확성을 유지하기 위해 필요한 곳에 1-2개가 아니라 0.1핍을 추가합니다.
 
granit77 >> :
그리고 간격을 위해 StopLevel에 1-2를 추가하시겠습니까? 어떻게 든 그것은 나를 도왔습니다.

이와 같이 ? :

 if ( StopLoss  < StopLevel & &   StopLoss > 0 )   SL = Bid + Point * ( StopLevel + 1 ) ; 
 if ( TakeProfit < StopLevel  & & TakeProfit > 0 )   TP = Bid - Point * ( StopLevel + 1 ) ; 

도움이 되지 않습니다.

또한 테스터에서 공백 없이 이러한 조건이 작동해야 합니다. 하지만 작동하지 않습니다. - 오류 130이 나타납니다.

 
rid >> :

도움이 되지 않습니다.

또한 테스터에서 공백 없이 이러한 조건이 작동해야 합니다. 하지만 작동하지 않습니다. - 오류 130이 나타납니다.

전문가는 아니지만 StopLoss, TakeProfit, StopLevel, SL 및 TP 변수의 값을 인쇄합니다.

그들이 어떻게 선언되고 왜 필요한지 명확하지 않습니다.

 SL = 0 ; TP = 0
 
goldtrader >> :

전문가는 아니지만 StopLoss, TakeProfit, StopLevel, SL 및 TP 변수의 값을 인쇄합니다.

그들이 어떻게 선언되고 왜 필요한지 명확하지 않습니다.

완료 방법은 다음과 같습니다.

 extern int     StopLoss = 1 ;
extern int     TakeProfit = 1 ;
double SL , TP ;
int StopLevel ;

//---------------
StopLevel = MarketInfo ( Symbol ( ) , MODE_STOPLEVEL ) ;

  if ( УСЛОВИЯ ВХОДА ) { //продаем
   
      SL = 0 ; TP = 0 ;
      if ( StopLoss > 0    & & StopLoss > StopLevel )   SL = Bid + Point * StopLoss ;
      if ( TakeProfit > 0 & & TakeProfit > StopLevel ) TP = Bid - Point * TakeProfit ;

      if ( StopLoss  < StopLevel & & StopLoss > 0 )   SL = Bid + Point * StopLevel ; 
      if ( TakeProfit < StopLevel & & TakeProfit > 0 ) TP = Bid - Point * StopLevel ;
 
   ticket = OrderSend ( Symbol ( ) , OP_SELL , lots , Bid , 3 , SL , TP , "Name_Expert" , Magic , 0 , clOpenSell ) ;
   if ( ticket < 0 ) {
            Print ( "Ошибка открытия ордера SELL #" , GetLastError ( ) ) ; 
            Sleep ( 10000 ) ;  
            prevtime = Time [ 1 ] ; 
            return ( 0 ) ; 
         } 
       }

위치가 열렸지만 정지 대신 오류 130....

의견에 모든 중지를 가져오고 평준화했습니다. - 모든 규칙이 표시되는 것 같습니다 ... -하지만 오류 130이 나타납니다.