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

 

친애하는 포럼 사용자 여러분!

말하기 어렵지 않다면.

지표가 있다

signalTable.mq4

위치해 있는
https://www.mql5.com/ru/code/8179
어떻게든 틈틈이 리메이크 하기로 했다........... 컴파일시 계속 에러가 난다.
'\end_of_program' - unbalanced left parenthesis	C:\Program Files\MetaTrader - Alpari\experts\indicators\signalTable_v1.mq4 (114, 1)

114행은 이해할 수 있지만 첫 번째 익숙함은 어쩐지 그다지

누군가 나에게 힌트를 줄 수 있을지도........

코드 자체는 아래에 있습니다. (SAR을 MACD로 대체하기로 결정)

 //----
#property indicator_chart_window
extern int scaleX = 20 ,
           scaleY = 20 ,
           offsetX = 35 ,
           offsetY = 20 ,
           fontSize = 20 ,
           corner = 2 ,
           symbolCodeBuy = 67 ,
           symbolCodeSell = 68 ,
           symbolCodeNoSignal = 73 ;
extern color signalBuyColor = Gold ,
             signalSellColor = MediumPurple ,
             noSignalColor = WhiteSmoke ,
             textColor = Gold ;
int period [ ] = { 1 , 5 , 15 , 30 , 60 , 240 , 1440 , 10080 , 43200 } ;
string periodString [ ] = { "M1" , "M5" , "M15" , "M30" , "H1" , "H4" , "D1" , "W1" , "MN1" } ,
       // создаем еще один массив с названиями индикаторов
       signalNameString [ ] = { "MA" , "WPR" , "MACD" } ;
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int init ( )
   {
   // таблица сигналов
   for ( int x = 0 ; x < 9 ; x + + )
       for ( int y = 0 ; y < 3 ; y + + )
         {
         ObjectCreate ( "signal" + x + y , OBJ_LABEL , 0 , 0 , 0 , 0 , 0 ) ;
         // изменяем угол привязки
         ObjectSet ( "signal" + x + y , OBJPROP_CORNER , corner ) ;
         ObjectSet ( "signal" + x + y , OBJPROP_XDISTANCE , x * scaleX + offsetX ) ;
         ObjectSet ( "signal" + x + y , OBJPROP_YDISTANCE , y * scaleY + 20 ) ;
         ObjectSetText ( "signal" + x + y , CharToStr ( symbolCodeNoSignal ) ,
                       fontSize , "Wingdings" , noSignalColor ) ;
         }
   // названия таймфреймов    
   for ( x = 0 ; x < 9 ; x + + )
     {
       ObjectCreate ( "textPeriod" + x , OBJ_LABEL , 0 , 0 , 0 , 0 , 0 ) ;
       // изменяем угол привязки      
       ObjectSet ( "textPeriod" + x , OBJPROP_CORNER , corner ) ;
       ObjectSet ( "textPeriod" + x , OBJPROP_XDISTANCE , x * scaleX + offsetX ) ;
       ObjectSet ( "textPeriod" + x , OBJPROP_YDISTANCE , offsetY - 10 ) ;
       ObjectSetText ( "textPeriod" + x , periodString [ x ] , 8 , "Tahoma" , textColor ) ;
     }
   // названия индикаторов 
   for ( y = 0 ; y < 3 ; y + + )
     {
       ObjectCreate ( "textSignal" + y , OBJ_LABEL , 0 , 0 , 0 , 0 , 0 ) ;
       // изменяем угол привязки      
       ObjectSet ( "textSignal" + y , OBJPROP_CORNER , corner ) ;
       ObjectSet ( "textSignal" + y , OBJPROP_XDISTANCE , offsetX - 25 ) ;
       ObjectSet ( "textSignal" + y , OBJPROP_YDISTANCE , y * ( scaleY ) + offsetY + 8 ) ;
       ObjectSetText ( "textSignal" + y , signalNameString [ y ] , 8 , "Tahoma" , textColor ) ;
     }
   return ( 0 ) ;
   }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int start ( )
   {
   for ( int x = 0 ; x < 9 ; x + + )
     {
       // сигнал на покупку
       if ( iMA ( Symbol ( ) , period [ x ] , 13 , 0 , 0 , 0 , 0 ) > iMA ( Symbol ( ) , period [ x ] , 24 , 0 , 0 , 0 , 0 ) )
         ObjectSetText ( "signal" + x + "0" , CharToStr ( symbolCodeBuy ) , fontSize , "Wingdings" , signalBuyColor ) ;
       // сигнал на продажу   
       else if ( iMA ( Symbol ( ) , period [ x ] , 13 , 0 , 0 , 0 , 0 ) < iMA ( Symbol ( ) , period [ x ] , 24 , 0 , 0 , 0 , 0 ) )
           ObjectSetText ( "signal" + x + "0" , CharToStr ( symbolCodeSell ) , fontSize , "Wingdings" , signalSellColor ) ;
     }
   for ( x = 0 ; x < 9 ; x + + )
     {
       // сигнал на покупку
       if ( MathAbs ( iWPR ( Symbol ( ) , period [ x ] , 13 , 0 ) ) < 20.0 )
         ObjectSetText ( "signal" + x + "1" , CharToStr ( symbolCodeBuy ) , fontSize , "Wingdings" , signalBuyColor ) ;
       // сигнал на продажу   
       else if ( MathAbs ( iWPR ( Symbol ( ) , period [ x ] , 13 , 0 ) ) > 80.0 )
             ObjectSetText ( "signal" + x + "1" , CharToStr ( symbolCodeSell ) , fontSize , "Wingdings" , signalSellColor ) ;
       // нет сигнала
       else
           ObjectSetText ( "signal" + x + "1" , CharToStr ( symbolCodeNoSignal ) , fontSize , "Wingdings" , noSignalColor ) ;
     }
   for ( x = 0 ; x < 9 ; x + + )
     {
       // сигнал на покупку
       if ( iMACD ( Symbol ( ) , period [ x ] , ( NULL , 0 , 12 , 26 , 9 , PRICE_CLOSE , MODE_MAIN , 0 ) < Close [ 0 ] )
         ObjectSetText ( "signal" + x + "2" , CharToStr ( symbolCodeBuy ) , fontSize , "Wingdings" , signalBuyColor ) ;
       // сигнал на продажу   
       else if ( iMACD ( Symbol ( ) , period [ x ] , ( NULL , 0 , 12 , 26 , 9 , PRICE_CLOSE , MODE_MAIN , 0 ) > Close [ 0 ] )
         ObjectSetText ( "signal" + x + "2" , CharToStr ( symbolCodeSell ) , fontSize , "Wingdings" , signalSellColor ) ;
     }
   return ( 0 ) ;
   }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int deinit ( )
   {
   // при удалении нашего индикатора нужно удалить все объекты,
   // которые мы уже создали
   ObjectsDeleteAll ( ) ;
   return ( 0 ) ;
   }
//+------------------------------------------------------------------+
 
dmmikl86 >> :

사용자 지정 표시기에서 버퍼에 이름을 지정하는 방법을 알려주시겠습니까?


SetIndexLabel(int 인덱스, 문자열 레이블);

 
igrok2008 >> :

안녕하세요 친애하는 포럼 사용자!

말하기 어렵지 않다면.

지표가 있다

내 마음대로 리메이크 하기로 마음먹었다 ........... 컴파일시 계속 에러가 난다.

114행은 이해할 수 있지만 첫 번째 익숙함은 어쩐지 그다지

누군가 나에게 힌트를 줄 수 있을지도........

코드 자체는 아래에 있습니다. (SAR을 MACD로 대체하기로 결정)

      if ( iMACD ( Symbol ( ) , period [ x ] , ( NULL , 0 , 12 , 26 , 9 , PRICE_CLOSE , MODE_MAIN , 0 ) < Close [ 0 ] ) )
         ObjectSetText ( "signal" + x + "2" , CharToStr ( symbolCodeBuy ) , fontSize , "Wingdings" , signalBuyColor ) ;
      // сигнал на продажу   
      else if ( iMACD ( Symbol ( ) , period [ x ] , ( NULL , 0 , 12 , 26 , 9 , PRICE_CLOSE , MODE_MAIN , 0 ) > Close [ 0 ] ) )
         ObjectSetText ( "signal" + x + "2" , CharToStr ( symbolCodeSell ) , fontSize , "Wingdings" , signalSellColor ) ;

첫 번째 줄과 세 번째 줄에서 마지막 닫는 괄호에 주의하세요. 충분하지 않습니다.

 

감사합니다. 하지만 114번째 줄은

       if ( MathAbs ( iWPR ( Symbol ( ) , period [ x ] , 13 , 0 ) ) < 20.0 )
         ObjectSetText ( "signal" + x + "1" , CharToStr ( symbolCodeBuy ) , fontSize , "Wingdings" , signalBuyColor ) ;
       // сигнал на продажу   
       else if ( MathAbs ( iWPR ( Symbol ( ) , period [ x ] , 13 , 0 ) ) > 80.0 )
             ObjectSetText ( "signal" + x + "1" , CharToStr ( symbolCodeSell ) , fontSize , "Wingdings" , signalSellColor ) ;
       // нет сигнала
       else                                       это 114 строка
           ObjectSetText ( "signal" + x + "1" , CharToStr ( symbolCodeNoSignal ) , fontSize , "Wingdings" , noSignalColor ) ;
그래서 컴파일할 때 링크가 정확히 이 줄로 이동합니다. 그게 바로 캐치 .................................................................. .
 

모두를 환영합니다!

나는 오랫동안 머리를 말렸고 전문가에게 도움을 받기로 결정했습니다.

더욱이 내 질문은 내가 보았을 때 사소한 것입니다.

당신이 할 수 있다고 생각합니다. :)

요점은 이것입니다.

엑셀파일이 있습니다. 셀에는 데이터가 포함됩니다. (나는 가능한 한 글을 읽을 수 있도록 노력할 것입니다.)

콜로/6895.jpg

콜로/6896.jpg

kolo/6897.jpg

kolo/7353.jpg

kolo/8899.jpg

....

등.

찾기/바꾸기를 사용하는 방법은 다음과 같습니다.

콜로/6895.jpg,콜로/6895.jpg,콜로/6895.jpg

콜로/6896.jpg,콜로/6896.jpg,콜로/6896.jpg

kolo/7353.jpg,kolo/7353.jpg,kolo/7353.jpg

콜로/8898.jpg,콜로/8898.jpg,콜로/8898.jpg

kolo/6899.jpg,kolo/6899.jpg,kolo/6899.jpg

낙서는 즉시 ... :)

좋은 조언 정말 감사합니다!


 
Sokil >> :

모두를 환영합니다!

나는 오랫동안 머리를 말렸고 전문가에게 도움을 받기로 결정했습니다.

더욱이 내 질문은 내가 보았을 때 사소한 것입니다.

당신이 할 수 있다고 생각합니다. :)

요점은 이것입니다.

엑셀 파일이 있습니다. 셀에는 데이터가 포함됩니다. (나는 가능한 한 글을 읽을 수 있도록 노력할 것입니다.)

콜로/6895.jpg

콜로/6896.jpg

kolo/6897.jpg

콜로/7353.jpg

kolo/8899.jpg

....

등.

찾기/바꾸기를 사용하는 방법은 다음과 같습니다.

콜로/6895.jpg,콜로/6895.jpg,콜로/6895.jpg

콜로/6896.jpg,콜로/6896.jpg,콜로/6896.jpg

kolo/7353.jpg,kolo/7353.jpg,kolo/7353.jpg

콜로/8898.jpg,콜로/8898.jpg,콜로/8898.jpg

kolo/6899.jpg,kolo/6899.jpg,kolo/6899.jpg

낙서는 즉시 ... :)

좋은 조언 정말 감사합니다!



글쎄, 나는 찾기-바꾸기를 약속하지 않는다. 내가 이해하는 한, 내용을 세 번 복제하고 쉼표로 구분해야 한다. 가장 쉬운 방법은 =RC[-1]&와 같은 공식을 사용하는 것이다. ","&RC[-1]&","&RC[-1 ]

그런 다음 셀을 복사하고 내용을 값으로 붙여넣을 수 있습니다.

 
감사합니다, 그것은 아이디어입니다!
 

더 어려워지면?

예: kolo/6895.jpg

제조사: kolo/6895.jpg, kolo/6895.jpg, kolo/6895_.jpg

=RC[-1]&","&RC[-1]&","&RC[-1]는 내가 이해하는 한 여기에서 도움이 되지 않습니다.

 
EUR/USD와 같은 일부 상품의 경우 호가에는 소수점 이하 5자리가 있습니다. 그리고 내 환경 변수에서 값에는 4자만 포함됩니다. 환경 변수의 전체 값을 얻는 방법은 무엇입니까?
 
Sokil >> :

더 어려워지면?

예: kolo/6895.jpg

제조사: kolo/6895.jpg, kolo/6895.jpg, kolo/6895_.jpg

=RC[-1]&","&RC[-1]&","&RC[-1]는 내가 이해하는 한 여기에서 도움이 되지 않습니다.


합병증은 무엇입니까?

적어도 두 가지 옵션이 있습니다. 첫 번째는 ".jpg"를 대체 항목으로 제거한 다음 수식에 추가하는 것이고, 두 번째는 =RC[-1]&","&RC[-1]&와 같은 더 긴 수식에 추가하는 것입니다. ","&LEFT(RC[- 1]; DLSTR(RC[-1])-4)&"_"&RIGHT(RC[-1];4), 필요한 경우 찾기를 통해 구분 기호를 검색하거나 일반적으로 기본 루프는 VBA를 통해 수행됩니다.

모든 문제에는 해결책이 있지만 문제는 정확하게 설정되어야 합니다.

사유: