MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 739 1...732733734735736737738739740741742743744745746...1953 새 코멘트 novichok2018 2019.01.17 08:55 #7381 Ilya Prozumentov : 이것은 저자 자신만이 여기서 무슨 일이 일어나고 있는지 이해할 것입니다. OnTick()의 더 나은 코드 캐리 작가님과 통화했습니다. 도움이되지 않았습니다. 그 자신은 거의 탐색 할 수 없습니다. " 여기에서 상태를 확인하십시오. 나는 당신을 전혀 돕지 않을 것입니다. 내 코드 부분에 대해서는 답변할 수 있고(!) 답변할 수 있지만 귀하의 코드 부분에 대해서는 답변할 수 없습니다 . 다음은 OnTick() 코드입니다. void OnTick () { RefreshRates (); //--- string TextDisplay= "" ; /* Check News */ bool trade= true ; string nstxt= "" ; int NewsPWR= 0 ; datetime nextSigTime= 0 ; if (MidleNews || HighNews) { RefreshRates (); if (SourceNews== 0 ) { // Investing RefreshRates (); if (CheckInvestingNews(NewsPWR,nextSigTime)){ trade= false ; } // news time } } if (trade) { // No News, Trade enabled nstxt= "No News, Waiting" ; if ( ObjectFind ( 0 , "NS_Label" )!=- 1 ){ ObjectDelete ( 0 , "NS_Label" ); } } else { // waiting news , check news power color clrT=LowColor; if (NewsPWR> 3 ) { nstxt= "Waiting Non-farm Payrolls News" ; clrT = HighColor; } else { if (NewsPWR> 2 ) { nstxt= "Waiting High News" ; clrT = HighColor; } else { if (NewsPWR> 1 ) { nstxt= "Waiting Midle News" ; clrT = MidleColor; } else { nstxt= "Waiting Low News" ; clrT = LowColor; } } } // Make Text Label if (nextSigTime> 0 ){ nstxt=nstxt+ " " + TimeToString (nextSigTime, TIME_MINUTES ); } if ( ObjectFind ( 0 , "NS_Label" )==- 1 ) { LabelCreate( StringConcatenate (nstxt),clrT); } if ( ObjectGetInteger ( 0 , "NS_Label" , OBJPROP_COLOR )!=clrT) { ObjectDelete ( 0 , "NS_Label" ); LabelCreate( StringConcatenate (nstxt),clrT); } } nstxt= "\n" +nstxt; /* End Check News */ if (trade && oppoz) { // No news and Trade Allowed Fun_New_Bar(); if (New_Bar) { Alert ( "Открыть позицию" ); ManageTrade(); // Your trade functions } oppoz= false ; } TextDisplay=TextDisplay+nstxt; Comment (TextDisplay); return ; } novichok2018 2019.01.17 09:01 #7382 Alekseu Fedotov : 교체 시도 여기 이 줄에 효과가 있었던 것 같습니다! 현재 20분 동안 메시지가 없습니다. 그가 13시에 뉴스에 어떻게 반응하는지 보자. Aliaksei Karalkou 2019.01.17 09:44 #7383 Artyom Trishkin : nan - NaN - 숫자가 아님 - 숫자가 아닙니다. Z-점수 계산에서 숫자를 정규화해 보십시오. 덕분에 도움이 되었습니다. MathCeil() 함수가 작동하지 않는 것이 이상합니다. 도움이 된 NormalizeDouble() 숫자 - == Z 점수는 = -92233720368547.77 입니다. 지표는 굉장하지만 균형은 거의 변하지 않습니다 novichok2018 2019.01.17 11:09 #7384 Alekseu Fedotov : 교체 시도 여기 이 줄에 괜찮은! 모든 것이 설정에 따라 작동했으며 오류가 없습니다. 고맙습니다! 저는 간단한 솔루션과 간단한 코드를 좋아합니다. 관심을 가지고 완전한 평신도를 돕기 위해 노력한 모든 사람들에게도 감사드립니다. psyman 2019.01.17 11:14 #7385 가격 레이블을 Bid에 바인딩하고 제대로 작동하는 것을 확인하고 다른 차트로 전환하고 수직 좌표가 즉시 약 15픽셀만큼 이동하는 것을 봅니다. 나는 레이블을 "도망쳤다"고 돌아오고 다음 틱까지 제자리에 있지 않고 "조국으로"돌아갑니다. 이것은 무엇에서 올 수 있습니까? //+------------------------------------------------------------------+ //| !_clr_indicator.mq5 | //| Copyright 2018, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2018, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" #property indicator_chart_window string objname= "Bid" ; input color Bid_color = clrCrimson ; int OnInit () { int x,y; double Bid = SymbolInfoDouble ( Symbol (), SYMBOL_BID ); int width = ( int ) ChartGetInteger ( 0 , CHART_WIDTH_IN_PIXELS , 0 ); //ширина графика ObjectCreate ( 0 , objname, OBJ_LABEL , 0 , 0 , 0 ); ObjectSetString ( 0 , objname, OBJPROP_TEXT , DoubleToString ( Bid , _Digits - 1 )); ObjectSetInteger ( 0 , objname, OBJPROP_FONTSIZE , 12 ); ObjectSetInteger ( 0 , objname, OBJPROP_COLOR , Bid_color); ObjectSetString ( 0 , objname, OBJPROP_FONT , "Verdana" ); ChartTimePriceToXY ( 0 , 0 , TimeCurrent (), Bid , x, y); ObjectSetInteger ( 0 , objname, OBJPROP_XDISTANCE , width- 60 ); Print ( "y=" , y, " " , ObjectGetInteger ( 0 ,objname, OBJPROP_TIME , 0 )); return ( INIT_SUCCEEDED ); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int OnCalculate ( const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { int x2,y2; double Bid2 = SymbolInfoDouble ( Symbol (), SYMBOL_BID ); ChartTimePriceToXY ( 0 , 0 , TimeCurrent (), Bid2, x2, y2); ObjectSetInteger ( 0 , objname, OBJPROP_YDISTANCE , y2); Print ( "x2=" , x2, " y2=" , y2, " " , " Bid=" ,Bid2); return (rates_total); } void OnDeinit ( const int reason) { ObjectDelete ( 0 ,objname); } Alexey Viktorov 2019.01.17 11:36 #7386 psyman : 가격 레이블을 Bid에 바인딩하고 제대로 작동하는 것을 확인하고 다른 차트로 전환하고 수직 좌표가 즉시 약 15픽셀만큼 이동하는 것을 봅니다. 나는 레이블을 "도망쳤다"고 돌아오고 다음 틱까지 제자리에 있지 않고 "조국으로"돌아갑니다. 이것은 무엇에서 올 수 있습니까? 차트는 다음 틱에서만 다시 그려 지기 때문입니다. 하지만 지금 차트를 강제로 다시 그리는 것은 위험합니다. 이전 두 개의 MT5 빌드에서는 브레이크가 어린이용이 아니었습니다. MT4처럼 잘 몰라서 확인해봐야겠네요. psyman 2019.01.17 11:43 #7387 Alexey Viktorov : 차트는 다음 틱에서만 다시 그려 지기 때문 입니다. 하지만 지금 차트를 강제로 다시 그리는 것은 위험합니다. 이전 두 개의 MT5 빌드에서는 브레이크가 어린이용이 아니었습니다. MT4처럼 잘 몰라서 확인해봐야겠네요. 따라서 이것은 결과이며 변위의 원인이 무엇인지 명확하지 않습니다. 수평적으로도 똑같은 일이 일어나고 가장 불쾌한 것은 라벨이 가격에 맞는다는 것입니다. 이것은 상황을 분석하기 위해 대부분의 코드를 잘라냅니다. 이 상황에서 벗어나는 방법? Ilya Prozumentov 2019.01.17 12:12 #7388 psyman : 따라서 이것은 결과이며 변위의 원인이 무엇인지 명확하지 않습니다. 수평적으로도 똑같은 일이 일어나고 가장 불쾌한 것은 라벨이 가격에 맞는다는 것입니다. 이것은 상황을 분석하기 위해 대부분의 코드를 잘라냅니다. 이 상황에서 벗어나는 방법? CHARTEVENT_CHART_CHANGE 이벤트 에서 동일한 방식으로 레이블 좌표를 업데이트하십시오. if (id== CHARTEVENT_MOUSE_MOVE || id== CHARTEVENT_CHART_CHANGE ) psyman 2019.01.17 14:24 #7389 Ilya Prozumentov : CHARTEVENT_CHART_CHANGE 이벤트 에서 동일한 방식으로 레이블 좌표를 업데이트하십시오. 나는 시도했지만 레이블이 반환되도록 마우스를 움직여야합니다. 이것은 다른 쪽에서만 동일한 목발입니다 :-) 그리고 CHARTEVENT_CHART_CHANGE에 대한 차트 간 전환은 이벤트가 아닙니다. 누구든지 이 이상 현상을 극복하는 방법을 알아낼 수 있습니까? Taras Slobodyanik 2019.01.17 14:50 #7390 psyman : 나는 시도했지만 레이블이 반환되도록 마우스를 움직여야합니다. 이것은 다른 쪽에서만 동일한 목발입니다 :-) 그리고 CHARTEVENT_CHART_CHANGE에 대한 차트 간 전환은 이벤트가 아닙니다. 누구든지 이 이상 현상을 극복하는 방법을 알아낼 수 있습니까? OnInit에서 변수 초기화 수행(객체 다시 그리기 포함) 1...732733734735736737738739740741742743744745746...1953 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
이것은 저자 자신만이 여기서 무슨 일이 일어나고 있는지 이해할 것입니다. OnTick()의 더 나은 코드 캐리
작가님과 통화했습니다. 도움이되지 않았습니다. 그 자신은 거의 탐색 할 수 없습니다. " 여기에서 상태를 확인하십시오. 나는 당신을 전혀 돕지 않을 것입니다.
내 코드 부분에 대해서는 답변할 수 있고(!) 답변할 수 있지만 귀하의 코드 부분에 대해서는 답변할 수 없습니다 .
다음은 OnTick() 코드입니다.
교체 시도
여기 이 줄에
효과가 있었던 것 같습니다! 현재 20분 동안 메시지가 없습니다. 그가 13시에 뉴스에 어떻게 반응하는지 보자.
nan - NaN - 숫자가 아님 - 숫자가 아닙니다. Z-점수 계산에서 숫자를 정규화해 보십시오.
덕분에 도움이 되었습니다.
MathCeil() 함수가 작동하지 않는 것이 이상합니다. 도움이 된 NormalizeDouble() 숫자 - == Z 점수는 = -92233720368547.77 입니다. 지표는 굉장하지만 균형은 거의 변하지 않습니다
교체 시도
여기 이 줄에
괜찮은! 모든 것이 설정에 따라 작동했으며 오류가 없습니다. 고맙습니다!
저는 간단한 솔루션과 간단한 코드를 좋아합니다.
관심을 가지고 완전한 평신도를 돕기 위해 노력한 모든 사람들에게도 감사드립니다.
가격 레이블을 Bid에 바인딩하고 제대로 작동하는 것을 확인하고 다른 차트로 전환하고 수직 좌표가 즉시 약 15픽셀만큼 이동하는 것을 봅니다.
나는 레이블을 "도망쳤다"고 돌아오고 다음 틱까지 제자리에 있지 않고 "조국으로"돌아갑니다. 이것은 무엇에서 올 수 있습니까?
가격 레이블을 Bid에 바인딩하고 제대로 작동하는 것을 확인하고 다른 차트로 전환하고 수직 좌표가 즉시 약 15픽셀만큼 이동하는 것을 봅니다.
나는 레이블을 "도망쳤다"고 돌아오고 다음 틱까지 제자리에 있지 않고 "조국으로"돌아갑니다. 이것은 무엇에서 올 수 있습니까?
차트는 다음 틱에서만 다시 그려 지기 때문입니다. 하지만 지금 차트를 강제로 다시 그리는 것은 위험합니다. 이전 두 개의 MT5 빌드에서는 브레이크가 어린이용이 아니었습니다. MT4처럼 잘 몰라서 확인해봐야겠네요.
차트는 다음 틱에서만 다시 그려 지기 때문 입니다. 하지만 지금 차트를 강제로 다시 그리는 것은 위험합니다. 이전 두 개의 MT5 빌드에서는 브레이크가 어린이용이 아니었습니다. MT4처럼 잘 몰라서 확인해봐야겠네요.
따라서 이것은 결과이며 변위의 원인이 무엇인지 명확하지 않습니다.
수평적으로도 똑같은 일이 일어나고 가장 불쾌한 것은 라벨이 가격에 맞는다는 것입니다. 이것은 상황을 분석하기 위해 대부분의 코드를 잘라냅니다.
이 상황에서 벗어나는 방법?
따라서 이것은 결과이며 변위의 원인이 무엇인지 명확하지 않습니다.
수평적으로도 똑같은 일이 일어나고 가장 불쾌한 것은 라벨이 가격에 맞는다는 것입니다. 이것은 상황을 분석하기 위해 대부분의 코드를 잘라냅니다.
이 상황에서 벗어나는 방법?
CHARTEVENT_CHART_CHANGE 이벤트 에서 동일한 방식으로 레이블 좌표를 업데이트하십시오.
CHARTEVENT_CHART_CHANGE 이벤트 에서 동일한 방식으로 레이블 좌표를 업데이트하십시오.
나는 시도했지만 레이블이 반환되도록 마우스를 움직여야합니다. 이것은 다른 쪽에서만 동일한 목발입니다 :-)
그리고 CHARTEVENT_CHART_CHANGE에 대한 차트 간 전환은 이벤트가 아닙니다.
누구든지 이 이상 현상을 극복하는 방법을 알아낼 수 있습니까?
나는 시도했지만 레이블이 반환되도록 마우스를 움직여야합니다. 이것은 다른 쪽에서만 동일한 목발입니다 :-)
그리고 CHARTEVENT_CHART_CHANGE에 대한 차트 간 전환은 이벤트가 아닙니다.
누구든지 이 이상 현상을 극복하는 방법을 알아낼 수 있습니까?
OnInit에서 변수 초기화 수행(객체 다시 그리기 포함)