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

 
nekadabra :
말해 주세요. Win 8은 MT 4 및 MT 5와 호환됩니까? 나는 양귀비를 가지고 있어서 어떤 OS로 컴퓨터를 살지 궁금합니다. 한 사람은 MT 4가 8개 작업 중임을 보여주는 스크린샷을 보여주기까지 했습니다. 그러나 일부 동지들은 완전한 호환성이 없다고 주장하므로 명확히해야합니다 ... 감사합니다.

Win 8은 MT 4 및 5와 호환됩니다.
 

안녕하세요!

인디케이터 프로그램에 문제가 있었다고 저자는 인디케이터가 작동한다고 주장하지만 실제로 차트가 표시되지 않습니다. 문제가 무엇입니까?

 #property copyright "Copyright © 2006, Profitrader."
#property link        "profitrader@inbox.ru"
//----
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Red
//---- input parameters
extern int FastMAPeriod = 3 ;
extern int SlowMAPeriod = 15 ;
extern string SecondMarket = "GOLD" ;
extern bool MarketsDirectCorrelation = true ;
//---- buffers
double [];
double Spread[];
double FastEMA[];
double SlowEMA[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   string Correlation = "Invert Correlation" ;
   if (MarketsDirectCorrelation == TRUE ) 
       Correlation = "Direct Correlation" ;
   IndicatorShortName ( "Will-Spread(" + FastMAPeriod + "," + SlowMAPeriod + 
                       "," + SecondMarket + "," + Correlation + ")" );
   IndicatorDigits ( Digits + 2 );
   IndicatorBuffers ( 4 );
   SetIndexBuffer ( 0 , WillSpread);
   SetIndexBuffer ( 1 , Spread);
   SetIndexBuffer ( 2 , FastEMA);
   SetIndexBuffer ( 3 , SlowEMA);
   SetIndexStyle ( 0 , DRAW_LINE );
   SetIndexLabel ( 0 , "W-S" );
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int i, 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--; 
   int limit = Bars - counted_bars;
   if (MarketsDirectCorrelation == TRUE )
     {
       for (i = 0 ; i < limit; i++)
           Spread[i] = iClose (SecondMarket, 0 , i) / Close [i]* 100 ;
     }
   else
     {
       for (i = 0 ; i < limit; i++)
           Spread[i] = Close [i] / iClose (SecondMarket, 0 , i)* 100 ;
     }
   for (i = limit - 1 ; i >= 0 ; i--)
     {
       FastEMA[i] = iMAOnArray (Spread, 0 , FastMAPeriod, 0 , MODE_EMA , i);
       SlowEMA[i] = iMAOnArray (Spread, 0 , SlowMAPeriod, 0 , MODE_EMA , i);
       WillSpread[i] = FastEMA[i] - SlowEMA[i];
     }
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
 
AlexMikash :

안녕하세요!

인디케이터 프로그램에 문제가 있었다고 저자는 인디케이터가 작동한다고 주장하지만 실제로 차트가 표시되지 않습니다. 문제가 무엇입니까?

문제는 이 줄에 있습니다.

   int i, 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--; 
   int limit = Bars - counted_bars;
새 컴파일러에서는 실행할 때 오류가 발생하지만 컴파일할 때 모든 것이 정상입니다. 작성자가 디버거에서 실행하고 즉시 문제를 확인하도록 하십시오.
 
AlexeyVik :

문제는 이 줄에 있습니다.

새 컴파일러에서는 실행할 때 오류가 발생하지만 컴파일할 때 모든 것이 정상입니다. 작성자가 디버거에서 실행하고 즉시 문제를 확인하도록 하십시오.


문제가 없습니다. 모든 것이 작동합니다. 버퍼에 대한 설명을 복원하는 것으로 충분합니다.

 //---- buffers
double [];
double Spread[];
double FastEMA[];
double SlowEMA[];

문제는 기본 도구에 있습니다. 아마도 GOLD 도구가 없을 것입니다. 다른 도구를 넣으면 모든 것이 정상입니다.


 
Metatrader에서 신호 방송 아이콘의 노란색은 무엇을 의미합니까? 신호가 일시적으로 방송되지 않는다는 것은? 터미널에서 볼 수 있는 신호 중 일부가 현재 mql5.com 웹사이트의 목록에 없는 이유는 무엇입니까?
 
Vinin :


문제가 없습니다. 모든 것이 작동합니다. 버퍼에 대한 설명을 복원하는 것으로 충분합니다.

문제는 기본 도구에 있습니다. 아마도 GOLD 도구가 없을 것입니다. 다른 도구를 넣으면 모든 것이 정상입니다.



문제가 무엇인지 알 수 있습니다. GOLD 도구는 저에게 매우 중요합니다. 어떻게 터미널에 연결할 수 있습니까?
 
AlexMikash :

문제가 무엇인지 알 수 있습니다. GOLD 도구는 저에게 매우 중요합니다. 어떻게 터미널에 연결할 수 있습니까?

그는 있거나 그렇지 않습니다. 그것은 모두 DC에 달려 있습니다. 그가 그러한 도구를 제공하는지 여부.
 
Vinin :

그는 있거나 그렇지 않습니다. 그것은 모두 DC에 달려 있습니다. 그가 그러한 도구를 제공하는지 여부.


덕분에 사진이 선명하네요!

 

안녕하세요. 저는 지표를 EA에 나사로 고정하는 방법을 배우고 있지만 아직까지는 그다지 성공적이지 못했습니다.

1- 테스터를 통해 어드바이저를 시작했을 때 멈췄을 때만 인디케이터 마크가 나타납니다.

2 - 그리고 조건이 무엇인지, 어떻게 작성해야 하는지 이해가 되지 않습니다.

도와주세요 인디케이터를 어드바이저에 나사로 고정하는 방법을 설명해주세요. 고문이 지표에서 거래할 수 있도록 합니다.

BS_Living Now ver #1.mq4 https://www.mql5.com/en/code/11014#50910 위, 아래 화살표 표시 기준

 #속성 표시기 _차트_창 //
#property indicator_buffers 4 //
#property indicator_color1 빨간색 //
#property indicator_color2 노란색 //
#property indicator_color3 빨간색 //
#property indicator_color4 노란색 //
//********************// 표시 매개변수 입력
외부 정수 BQuant = 48 ; // - 계산된 막대의 수
                                                                              //********************// 표시기의 구성 요소
이중 ExtrimHi [] , // - 극한값
ExtrimLo [] , // - 낮은 극값
BreakHi [] , // - 극한값
브레이크 로 [] ;

int 초기화 () //
  { //
   댓글 ( " 지금 BS_살아요 " ) ; //
                                                                               //********************// 그래픽 디스플레이 설정
   표시 버퍼 ( 4 ) ; //
   SetIndexLabel ( 0 , " ExtrimHi " ) ; //
   SetIndexBuffer ( 0 , ExtrimHi ) ; //
   SetIndexStyle ( 0 , DRAW_ARROW , EMPTY , 2 ) ; //
   SetIndexArrow ( 0 , 159 ) ; //
   SetIndexLabel ( 1 , " ExtrimLo " ) ; //
   SetIndexBuffer ( 1 , ExtrimLo ) ; //
   SetIndexStyle ( 1 , DRAW_ARROW , EMPTY , 2 ) ; //
   SetIndexArrow ( 1 , 159 ) ; //
   SetIndexLabel ( 2 , " BreakHi " ) ; //
   SetIndexBuffer ( 2 , BreakHi ) ; //
   SetIndexStyle ( 2 , DRAW_NONE , EMPTY , 1 ) ; // DRAW_ARROW로 대체
   SetIndexArrow ( 2 , 224 ) ; //
   SetIndexLabel ( 3 , " BreakLo " ) ; //
   SetIndexBuffer ( 3 , BreakLo ) ; //
   SetIndexStyle ( 3 , DRAW_NONE , EMPTY , 1 ) ; // DRAW_ARROW로 대체
   SetIndexArrow ( 3 , 224 ) ; //
                                                                               //************//
   리턴 ( 0 ) ; //
  }  

int 초기화 () //
  { //
   주석 ( "" ) ; //
                                                                               //************//
   리턴 ( 0 ) ; //
  }  

정수 시작 () //
  {
   int counted_bars = IndicatorCounted () ;
   if ( counted_bars < 0 ) return ( -1 ) ; _
   if ( counted_bars > 0 ) counted_bars --;
   int limit = 막대 - counted_bars ;
   if ( counted_bars == 0 ) limit -= 1 + BQuant ;
//
   for ( int s = limit ; s >= 1 ; s -- ) //
     { //
      Comment ( " 지금 살고 있는 \n " , " Spread = " , MarketInfo ( 심볼 () , MODE_SPREAD )) ; //
      Extreme_Detect ( s + 1 ) ; //********************// 극한값의 정의
     } //
//************//
   리턴 ( 0 ) ; //
  } 
이중 Extrim_Detect ( int t ) //**************************************// 극한값 감지
  { //
   if (( TimeDayOfWeek ( 시간 [ t ]) == 5 && TimeHour ( 시간 [ t ]) >= 20 ) || //
      ( TimeDayOfWeek ( 시간 [ t ]) == 1 && TimeHour ( 시간 [ t ]) <= 1 )) //
     { ExtrimHi [ t ] = 0 ; ExtrimLo [ t ] = 0 ; } //
   그렇지 않으면 //
     { //
      if ( iHigh ( NULL , 0 , t ) >= High [ iHighest ( NULL , 0 , 2 , BQuant , t + 1 )] && //
         iHigh ( NULL , 0 , t ) > iHigh ( NULL , 0 , t - 1 )) //
        { //
         ExtrimHi [ t ] = iHigh (  , 0 , t ) ; //
         Break_Detect ( t , 1 ) ; //********************// 브레이크아웃 포인트의 정의
        } //
      if ( iLow ( NULL , 0 , t ) <= Low [ iLowest ( NULL , 0 , 1 , BQuant , t + 1 )] && //
         iLow ( NULL , 0 , t ) < iLow ( NULL , 0 , t - 1 )) //
        { //
         ExtrimLo [ t ] = iLow (  , 0 , t ) ; //
         Break_Detect ( t , - 1 ) ; //********************// 브레이크아웃 포인트의 정의
        } //
     } //
   리턴 ( 0 ) ; //
  } //
이중 Break_Detect ( int a , int Signal ) //****************************************// 포인트 감지 돌파구
  { //
   for ( int r = 1 ; r < BQuant ; r ++ ) //
     { //
      if ( 신호 == 1 && iHigh ( NULL , 0 , a + r ) < High [ iHighest ( NULL , 0 , 2 , BQuant , a + r + 1 )]) //
        { BreakHi [ a ] = 낮음 [ iLowest ( NULL , 0 , 1 , r + 2 , a - 1 )] ; r = BQuant ; } //
      if ( 신호 ==- 1 && iLow ( NULL , 0 , a + r ) > Low [ iLowest ( NULL , 0 , 1 , BQuant , a + r + 1 )]) //
        { BreakLo [ a ] = 높음 [ iHighest ( NULL , 0 , 2 , r + 2 , a - 1 )] ; r = BQuant ; } //
     }
   리턴 ( 0 ) ; //
  } //

여기 내 조언자가 있습니다.

외부 이중 로트=0.1;
extern int Magic=0;
extern int Stop=98;
외부 정수 Take=70;
extern int 슬립=10;

extern int BQuant=48; // - 계산된 막대의 수


정수 시작()
 {
 이중 S1=iCustom(NULL, 0, "BS_지금 살고 있음",BQuant,0,0);
OrderSend(Symbol(), OP_SELL,Lot, Bid, Slip,Ask+Stop*Point,Ask-Take*Point, "SELL", Magic, 0,Red ); OrderSend(Symbol(), OP_BUY, Lot, Ask, Slip,Bid-Stop*Point,Bid+Take*Point, " BUY", Magic, 0,Blue);

}
 

OBJ_ARROW_RIGHT_PRICE 유형의 개체를 생성한 다음 삭제하는 간단한 스크립트를 작성하면 개체가 삭제되지 않습니다. 또한 ObjectType 명령은 생성된 개체가 OBJ_ARROW_RIGHT_PRICE(==36) 유형이 아니라 ==22 즉, 간단한 "위쪽 화살표"!!! 저만 이런건가요 아니면 모두에게 이런건가요?

이 문제에 대한 "전문가"의 의견이 이미 있습니다. 도움말을 읽거나 메모리가 충분하지 않습니다 :).

충분한 메모리가 있습니다.

ObjectCreate 명령이 차트에 OBJ_ARROW_RIGHT_PRICE 유형의 개체를 그리는 것으로 나타났습니다. 이 개체는 ObjectsDeleteAll(0,OBJ_ARROW_RIGHT_PRICE) 명령으로 삭제할 수 없지만 ObjectsDeleteAll(0,22) 명령으로 삭제할 수 있습니다. 올바른 가격 라벨이 아니라 "위쪽 화살표"입니다. 누구의 캔트?

#property copyright "Copyright 2014, MetaQuotes Software Corp."

#속성 링크 "https://www.mql5.com"

#속성 버전 "1.00"

#속성엄격

//+----------------------------------------------- --------------------+

//| 스크립트 프로그램 시작 기능 |

//+----------------------------------------------- --------------------+

무효 OnStart()

{

알리다("") ;

경고("obj_arrow_right_price=",OBJ_ARROW_RIGHT_PRICE) ; // ==36

ObjectCreate("MyArrow", OBJ_ARROW_RIGHT_PRICE,0,Time[1],Open[1]) ; //

경고( "objectType=", ObjectType("MyArrow") ) ; // ==22 !!

ResetLastError() ;

Alert("스크립트 오른쪽 화살표 삭제 price=",ObjectsDeleteAll(0,OBJ_ARROW_RIGHT_PRICE)," lastError=",GetLastError() ) ; // 삭제된 개체 수 ==0, 오류 ==0

}

OBJ_ARROW_RIGHT_PRICE 유형의 개체를 삭제하려면 하위 창의 필수 표시와 함께 ObjectsDeleteAll(0,OBJ_ARROW) 명령을 사용합니다.

ps OBJ_ARROW 유형의 개체는 "위쪽 화살표"뿐만 아니라 모든 "화살표"입니다. ObjectCreate(...OBJ_ARROW...)는 즉시 "위쪽 화살표"를 만듭니다. 글쎄, 문제, 이것이 인증서에없는 이유는 무엇입니까?

사유: