코딩 도움말 - 페이지 721

 
Tigra :

지금 사용해 보세요
 
mladen :
지금 사용해 보세요

감사합니다 Bro=) 이제 모든 것이 정상입니다) Mladen, 하나의 지표로 나를 도울 수 없습니까? 일부 오류가 수정되었습니까?
 
Tigra :

감사합니다 Bro=) 이제 모든 것이 정상입니다) Mladen, 하나의 지표로 나를 도울 수 없습니까? 일부 오류가 수정되었습니까?
게시한 다음 확인할 수 있습니다.
 
mladen :
게시한 다음 확인할 수 있습니다.


이 표시기에서 4자리 따옴표를 사용할 때 몇 가지 문제가 있습니다. 근데 그게 중요한게 아니라 4자리에서 100레벨까지의 스케일이 문제인데, 사진을 보여주려고 했더니, 적시에 보는게 눈이 많이 뻑뻑합니다(며칠 지나면 실처럼 스케일을 바꾸는게 40 수준으로 - 현재 값을 나타내는 텍스트의 오른쪽 모서리와 히스토그램을 보는 것이 더 나을까요?

Оставлю оригинальный текст на русском, тк возможны искажения при переводе(

У этого индикатора есть некоторые проблемы при использовании 4 значных котировок. Но это не критично, самая проблемы это масштабирование на 4 значном до уровня 100, постарался показать на картинках, разглядывать нужный момент весьма напрягает глаза( после нескольких дней, можно ли как нить поменять масштаб до уровня 40 - что бы лучше было видно гистограммы и в правом углу текстом что бы обозначалось текущее значение? Еще не могу понять почему понявляют

파일:
GhosTrend.ex4  38 kb
 
Tigra :


이 표시기에서 4자리 따옴표를 사용할 때 몇 가지 문제가 있습니다. 근데 그게 중요한게 아니라 문제는 4자리에서 100레벨까지의 스케일인데, 사진을 보여주려고 했는데, 적절한 시기에 눈이 많이 피로해졌습니다.(며칠 후, 실처럼 스케일을 바꾸는게 40 수준으로 - 현재 값을 나타내는 텍스트의 오른쪽 모서리와 히스토그램을 보는 것이 더 나을까요?

Оставлю оригинальный текст на русском, тк возможны искажения при переводе(

У этого индикатора есть некоторые проблемы при использовании 4 значных котировок. Но это не критично, самая проблемы это масштабирование на 4 значном до уровня 100, постарался показать на картинках, разглядывать нужный момент весьма напрягает глаза( после нескольких дней, можно ли как нить поменять масштаб до уровня 40 - что бы лучше было видно гистограммы и в правом углу текстом что бы обозначалось текущее значение?

죄송합니다. ex4 파일을 변경할 수 없습니다.
 
mladen :
죄송합니다. ex4 파일을 변경할 수 없습니다.
 mq4를 디컴파일하는 것에 대해 더 생각해 볼 수 있습니까?

Можешь подкинуть мысль как еще декомпилировать в mq4?
 
Tigra :

죄송합니다. 디컴파일은 제가 좋아하는 것이 아닙니다.

그리고 저는 새로운 메타트레이더 4 빌드가 등장한 이후로 무언가 디컴파일될 수 있다고 말하는 사람은 단순히 거짓말이라고 말할 수 있어서 기쁩니다. 주석은 전 세계의 모든 컴파일러에 의해 완전히 제거 됩니다. 그래서 그는 어떤 종류의 실행 가능한 코드 생성에 대한 기본 사항을 모를 때 이전 빌드에서 디컴파일러를 사용할 때 코딩에 대해 얼마나 배웠습니까?).

사용할 수 있으면 사용하십시오. 할 수 없다면 할 수 없습니다. 당신은 그것을 무료로 얻었다. 문제가 무엇입니까? 변경? 무언가를 변경하도록 요청할 수 있는 무언가의 작성자는 항상 있습니다. 그러나 저자가 자신이 만들고 모든 사람에게 제공한 것을 분명히 도살하고 싶어하는 것을 본다면 그는 왜 다시 글을 올리겠습니까? 원작자가 없는 척하고 역활을? 모두에게 공짜로 주어지는 것을 위해? 그것은 그가 당신에게 좋은 하루를 보냈다는 이유로 누군가의 얼굴에 침을 뱉는 것과 같습니다

 
mladen :

죄송합니다. 디컴파일은 제가 좋아하는 것이 아닙니다.

그리고 저는 새로운 메타트레이더 4 빌드가 등장한 이후로 무언가 디컴파일될 수 있다고 말하는 사람은 단순히 거짓말이라고 말할 수 있어서 기쁩니다. 주석은 전 세계의 모든 컴파일러에 의해 완전히 제거됩니다. 그래서 그는 어떤 종류의 실행 가능한 코드 생성에 대한 기본 사항을 모를 때 이전 빌드에서 디컴파일러를 사용할 때 코딩에 대해 얼마나 배웠습니까?).

사용할 수 있으면 사용하십시오. 할 수 없다면 할 수 없습니다. 당신은 그것을 무료로 얻었다. 문제가 무엇입니까? 변경? 무언가를 변경하도록 요청할 수 있는 무언가의 작성자는 항상 있습니다. 그러나 저자가 자신이 만들고 모든 사람에게 제공한 것을 분명히 도살하고 싶어하는 것을 본다면 그는 왜 다시 글을 올리겠습니까? 원작자가 없는 척 하고 역활을 하는건가? 모두에게 공짜로 주어지는 것을 위해? 그것은 그가 당신에게 좋은 하루를 보냈다는 이유로 누군가의 얼굴에 침을 뱉는 것과 같습니다

 불행히도 나는 저자가 누구인지 모르지만 여기에 적용됩니다. 
이 표시기는 TMA의 한 지점에서도 찾을 수 있습니다. 귀하의 게시물에서 
디컴파일 (
 글쎄, 일반적으로 갑자기이 표시기의 mq4가되면 이해합니다. 도와 주시겠습니까? 
아마도 번역을 왜곡할 때 나는 후자의 댓글에서 특정 공격성을 알아차렸거나 그냥 생각했습니다 =) 
갑자기 내 요청에 nebylo 또는 나쁜 의도가 있었다면 포럼을 읽는 것만으로 지적 
당신 mladen 및 mrtools - 그들의 분야에서 전문적으로, 이것은 당신에게 연락하기로 결정했습니다. 

나는 원본을 러시아어로 남겨두고 왜곡의 경우를 전송합니다.

К сожалению я не знаю кто автор, по этому обратился сюда, индикатор тоже нашел здесь в о ветке 
из вашего поста я понял что при декомлиляции он может уже не правильно работать(
Ладно, в общем понимаю, если вдруг у меня будет mq4 этого индикатора, вы мне сможете помочь?

Возможно при искажении перевода я заметил некую агрессию в последнем коментарии, ила просто по
Если вдруг она была, то в моей просьбе небыло ни какого умысла плохого, просто читая форум 
обратил внимание что Вы и mrtools - профессионалы в своей области, по этому и решил обратиться к Ва
 

안녕하세요 여러분 저는 4개의 ema 교차가 발생하고 rsi가 > 또는 < 50일 때 위쪽 또는 아래쪽 화살표를 표시할 수 있는 ema-rsi 표시기를 편집하려고 합니다.

내 문제는 이러한 화살표가 표시될 때마다 틱마다 새로 고쳐지지 않는다는 것입니다. 화살표를 표시할 수 있는 조건이 여전히 양호한지 확인하려면 기간을 변경해야 합니다. 어디가 문제인지 알려주실 수 있나요? 나는 코드를 게시합니다.

고맙습니다

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Green
#property indicator_color2 Red

#property indicator_width1 4
#property indicator_width2 4

double CrossUp[];
double CrossDown[];
extern int FasterEMA1     = 6 ;
extern int SlowerEMA1     = 12 ;
extern int FasterEMA2     = 7 ;
extern int SlowerEMA2     = 14 ;
extern int RSInowPeriod   = 6 ;
extern int barsBack       = 2000 ;
extern bool AlertsMessage = true ;
extern bool AlertsSound   = true ;
extern bool debug         = false ;
extern double K           = 1.0 ;

bool EMACrossedUp = false ;
bool RSICrossedUp = false ;
bool EMACrossedDown = false ;
bool RSICrossedDown = false ;
int SignalLabeled = 0 ; // 0: initial state; 1: up; 2: down.
int upalert= false ,downalert= false ;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle ( 0 , DRAW_ARROW , EMPTY );
   SetIndexArrow ( 0 , 241 );
   SetIndexBuffer ( 0 , CrossUp);
   SetIndexStyle ( 1 , DRAW_ARROW , EMPTY );
   SetIndexArrow ( 1 , 242 );
   SetIndexBuffer ( 1 , CrossDown);
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----

//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start() {
   int limit, i, counter;
   double fasterEMA1now, slowerEMA1now, fasterEMA1previous, slowerEMA1previous, fasterEMA2now, slowerEMA2now, fasterEMA2previous, slowerEMA2previous;
   double RSInow;
   double Range, AvgRange;

   int counted_bars= IndicatorCounted ();
//---- check for possible errors
   if (counted_bars< 0 ) return (- 1 );
//---- last counted bar will be recounted
   if (counted_bars> 0 ) counted_bars--;

   limit= MathMin ( Bars -counted_bars,barsBack);
  
   for (i = limit; i>= 0 ; i--) {
      
      counter=i;
      Range= 0 ;
      AvgRange= 0 ;
       for (counter=i ;counter<=i+ 9 ;counter++)
      {
        AvgRange=AvgRange+ MathAbs ( High [counter]- Low [counter]);
      }
      Range=AvgRange/ 10 ;

      fasterEMA1now = iMA ( NULL , 0 , FasterEMA1, 0 , MODE_EMA , PRICE_CLOSE , i);
      fasterEMA1previous = iMA ( NULL , 0 , FasterEMA1, 0 , MODE_EMA , PRICE_CLOSE , i+ 1 );
      
      fasterEMA2now = iMA ( NULL , 0 , FasterEMA2, 0 , MODE_EMA , PRICE_CLOSE , i);
      fasterEMA2previous = iMA ( NULL , 0 , FasterEMA2, 0 , MODE_EMA , PRICE_CLOSE , i+ 1 );
      
      slowerEMA1now = iMA ( NULL , 0 , SlowerEMA1, 0 , MODE_EMA , PRICE_CLOSE , i);
      slowerEMA1previous = iMA ( NULL , 0 , SlowerEMA1, 0 , MODE_EMA , PRICE_CLOSE , i+ 1 );
      
      slowerEMA2now = iMA ( NULL , 0 , SlowerEMA2, 0 , MODE_EMA , PRICE_CLOSE , i);
      slowerEMA2previous = iMA ( NULL , 0 , SlowerEMA2, 0 , MODE_EMA , PRICE_CLOSE , i+ 1 );
      
      RSInow= iRSI ( NULL , 0 ,RSInowPeriod, PRICE_CLOSE ,i);
      
       if (RSInow > 50 ) {
         if (debug) Print ( TimeToStr ( Time [i], TIME_DATE )+ TimeToStr ( Time [i], TIME_SECONDS )+ " RSI UP " );
         RSICrossedUp = true ;
         RSICrossedDown = false ;
      }
      
       if (RSInow < 50 ) {
         if (debug) Print ( TimeToStr ( Time [i], TIME_DATE )+ TimeToStr ( Time [i], TIME_SECONDS )+ " RSI DOWN " );
         RSICrossedUp = false ;
         RSICrossedDown = true ;
      }
      
       if ((fasterEMA1now >= slowerEMA1now) && (fasterEMA1previous < slowerEMA1previous) && (fasterEMA2now >= slowerEMA2now) && (fasterEMA2previous < slowerEMA2previous) ) {
         if (debug) Print ( TimeToStr ( Time [i], TIME_DATE )+ TimeToStr ( Time [i], TIME_SECONDS )+ " EMA UP " );
         EMACrossedUp = true ;
         EMACrossedDown = false ;
      }

       if ((fasterEMA1now <= slowerEMA1now) && (fasterEMA1previous > slowerEMA1previous) && (fasterEMA2now <= slowerEMA2now) && (fasterEMA2previous > slowerEMA2previous)) {
         if (debug) Print ( TimeToStr ( Time [i], TIME_DATE )+ TimeToStr ( Time [i], TIME_SECONDS )+ " EMA DOWN " );
         EMACrossedUp = false ;
         EMACrossedDown = true ;
      }

       if ((EMACrossedUp == true ) && (RSICrossedUp == true ) && (SignalLabeled != 1 )) {
         CrossUp[i] = Low [i] - K*Range;
         if (debug) Print ( TimeToStr ( Time [i], TIME_DATE )+ TimeToStr ( Time [i], TIME_SECONDS )+ " SIGNAL UP " );
         if (i<= 2 && AlertsMessage && !upalert)
           {
             Alert ( Symbol (), " " , Period (), "M  BUY SIGNAL " );
             //SendMail("EMA Cross Up on "+Symbol(),"");
            upalert= true ;
            downalert= false ;
           }          
         if (i<= 2 && AlertsSound && !upalert)
           {
             PlaySound ( "alert.wav" );
            upalert= true ;
            downalert= false ;
           }
         SignalLabeled = 1 ;
      }

       else if ((EMACrossedDown == true ) && (RSICrossedDown == true ) && (SignalLabeled != 2 )) {
         CrossDown[i] = High [i] + K*Range;
         if (debug) Print ( TimeToStr ( Time [i], TIME_DATE )+ TimeToStr ( Time [i], TIME_SECONDS )+ " SIGNAL DOWN " );
         if (i<= 2 && AlertsMessage && !downalert)
           {
             Alert ( Symbol (), " " , Period (), "M  SELL SIGNAL " );
             //SendMail("EMA Cross Down on "+Symbol(),"");
            downalert= true ;
            upalert= false ;
           }
         if (i<= 2 && AlertsSound && !downalert)
           {
             PlaySound ( "alert.wav" );
            downalert= true ;
            upalert= false ;
           }
         SignalLabeled = 2 ;
      }
   }
   return ( 0 );
}
//end
 

안녕하세요 mladen 씨:

추세가 변경될 때 이 지표에 수직선을 추가할 수 있습니까(제로 크로스)

비슷한 이 그림:

관심

파일: