[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 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ライン - それは明確ですが、それとしてFIRST KNOWLEDGEは非常にありません。

もしかしたら、誰かが賢明な方法を提案してくれるかもしれない・・・・・・。

コード自体は以下の通りです。(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 index, string label)を指定します。

 
igrok2008 >> :

フォーラムメンバーの皆様、こんにちは!

もしご迷惑でなければ、ヒントをいただけないでしょうか。

このようなインジケーターがあります

の位置は、ある時点で私のために再配置することにしました......私はコンパイル中にエラーが発生し続けます。

114ライン - それは明確ですが、それとしてFIRST KNOWLEDGEは非常にありません。

もしかしたら、誰かが賢明な方法を提案してくれるかもしれない・・・・・・。

コード自体は以下の通りです。(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);

1行目と3行目、最後の閉じ括弧に注意してください。

 

alsuさん、どうもありがとうございました!しかし、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);
で、コンパイルするとその行にリンクが行くので、それが問題なのですが...........................。
 

皆さん、こんにちは。

ずっと考えていたので、専門家に助けを求めることにしました。

特にこの質問は、私が思うに、些細なことです。

あなたなら大丈夫だと思います。:)

ここからが本題です。

exel-fileがあります。セルにはデータが入ります。(なるべく文字にするようにします)。

kolo/6895.jpg

kolo/6896.jpg

kolo/6897.jpg

kolo/7353.jpg

kolo/8899.jpg

....

など

検索/置換と連動させるにはどうしたらいいですか?

kolo/6895.jpg,kolo/6895.jpg,kolo/6895.jpg

kolo/6896.jpg,kolo/6896.jpg,kolo/6896.jpg

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

kolo/8898.jpg,kolo/8898.jpg,kolo/8898.jpg

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

書きたいことは山ほどあるのですが......。:)

本当にありがとうございました。


 
Sokil >> :

皆さん、こんにちは。

ずっと考えていたので、専門家に助けを求めることにしました。

特に、私の疑問は些細なことだと思うので。

あなたなら大丈夫だと思います。:)

ここからが本題です。

exel-fileがあります。セルにはデータが入ります。(なるべく文字にするようにします)。

kolo/6895.jpg

kolo/6896.jpg

kolo/6897.jpg

kolo/7353.jpg

kolo/8899.jpg

....

など

検索/置換と連動させるにはどうしたらいいですか?

kolo/6895.jpg,kolo/6895.jpg,kolo/6895.jpg

kolo/6896.jpg,kolo/6896.jpg,kolo/6896.jpg

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

kolo/8898.jpg,kolo/8898.jpg,kolo/8898.jpg

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

書きたいことは山ほどあるのですが......。:)

良いアドバイスをいただき、本当にありがとうございました



カンマで区切って3回複製する必要がありますが、最も簡単な方法は =RC[-1]&","&RC[-1]&","&RC[-1]" という式を使用することです。

そして、セルをコピーして、その内容を値として貼り付けることができます。

 
ありがとうございます!それは考えものですね。
 

タスクを難しくするのはどうでしょうか?

入手先:kolo/6895.jpg

Do: kolo/6895.jpg,kolo/6895.jpg,kolo/6895_.jpg

=RC[-1]&","&RC[-1]&","&RC[-1]" は、私が知る限り、ここではダメです。

 
EUR/USDなど一部の商品では、小数点以下5桁で表示されます。しかし、私の環境変数では、値は4桁しかありません。環境変数の完全な値を取得するにはどうしたらよいですか?
 
Sokil >> :

タスクを難しくするのはどうでしょうか?

入手先:kolo/6895.jpg

Do: kolo/6895.jpg,kolo/6895.jpg,kolo/6895_.jpg

=RC[-1]&","&RC[-1]&","&RC[-1]" は、私が理解する限りでは、ここでは役に立ちません。


何が複雑なんだ?

少なくとも2つの選択肢があります。1つは、「」を削除することです。jpg "を計算式に追加し、より長い計算式の2番目 =RC[-1]&","&RC[-1]&","&LEVSIMV(RC[-1]; DLSTR(RC[-1])-4)&" のようにします。"_"&PRAWSIMW(RC[-1];4), 必要に応じて、findを通してセパレータを探したり、VBAを通して初歩的なループが完全に行われます。

どんな問題にも解決策はあるが、問題を正確に設定する必要がある。