[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 241

 

Hallo liebe Forumsmitglieder!!!

Wenn es nicht zu viel Mühe macht, können Sie mir einen Tipp geben?

Es gibt einen solchen Indikator

signalTable.mq4

https://www.mql5.com/ru/code/8179
Ich habe mich entschlossen, es in aller Ruhe für mich neu zu erstellen........Der Fehler
'\end_of_program' - unbalanced left parenthesis	C:\Program Files\MetaTrader - Alpari\experts\indicators\signalTable_v1.mq4 (114, 1)
erscheint immer wieder während der Kompilierung

114 Zeile - es ist klar, aber das ERSTE WISSEN, wie es ist, ist nicht sehr

Vielleicht schlägt jemand eine vernünftige ....... vor.

Der Code selbst steht unten. (Ich habe beschlossen, den SAR durch den MACD zu ersetzen)

//----
#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 >> :

Wie weise ich den Puffern in benutzerdefinierten Indikatoren Namen zu?


SetIndexLabel(int index, string label);

 
igrok2008 >> :

Hallo liebe Forumsmitglieder!!!

Wenn es nicht zu viel Mühe macht, können Sie mir einen Tipp geben?

Es gibt einen solchen Indikator

Ich habe mich irgendwann dazu entschlossen, es für mich neu zu arrangieren........ Ich erhalte während der Kompilierung immer wieder einen Fehler

114 Zeile - es ist klar, aber das ERSTE WISSEN, wie es ist, ist nicht sehr

Vielleicht schlägt jemand eine vernünftige ....... vor.

Der Code selbst steht unten. (beschlossen, den SAR durch den MACD zu ersetzen)

      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);

Achten Sie in der ersten und dritten Zeile auf die letzte schließende Klammer - sie fehlt bei Ihnen

 

Vielen Dank, alsu, aber die 114. Zeile lautet

      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);
Wenn Sie also kompilieren, geht der Link zu dieser Zeile, das ist es, was mit......................................... nicht stimmt.
 

Grüße an alle!

Ich habe lange darüber nachgedacht und beschlossen, die Experten um Hilfe zu bitten.

Zumal die Frage aus meiner Sicht trivial ist.

Ich denke, du kannst damit umgehen. :)

So sieht es aus.

Es gibt eine Exel-Datei. Zellen enthalten Daten. (Ich werde versuchen, mich so gut wie möglich auszudrücken).

kolo/6895.jpg

kolo/6896.jpg

kolo/6897.jpg

kolo/7353.jpg

kolo/8899.jpg

....

usw.

Wie kann ich es mit Suchen/Ersetzen funktionieren lassen?

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

es gibt so viel zu schreiben..... :)

Vielen Dank für den Tipp!


 
Sokil >> :

Grüße an alle!

Ich habe lange darüber nachgedacht und beschlossen, die Experten um Hilfe zu bitten.

Zumal die Frage aus meiner Sicht trivial ist.

Ich denke, Sie können damit umgehen. :)

So sieht es aus.

Es gibt eine Exel-Datei. Zellen enthalten Daten. (Ich werde versuchen, mich so gut wie möglich auszudrücken).

kolo/6895.jpg

kolo/6896.jpg

kolo/6897.jpg

kolo/7353.jpg

kolo/8899.jpg

....

usw.

Wie kann ich es mit Suchen/Ersetzen funktionieren lassen?

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

es gibt so viel zu schreiben..... :)

Vielen Dank für die guten Ratschläge!



Sie müssen den Inhalt dreimal duplizieren und durch ein Komma trennen. Am einfachsten geht das mit der Formel =RC[-1]&","&RC[-1]&","&RC[-1]".

Sie können dann die Zellen kopieren und den Inhalt als Werte einfügen.

 
Danke, das ist eine Überlegung wert!
 

Wie wäre es, die Aufgabe zu erschweren?

Ich habe es: kolo/6895.jpg

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

=RC[-1]&","&RC[-1]&","&RC[-1]" ist meines Erachtens nicht sinnvoll.

 
Bei einigen Instrumenten, z. B. EUR/USD, werden die Kurse mit 5 Dezimalstellen angegeben. Aber in meinen Umgebungsvariablen sind die Werte nur 4-stellig. Wie kann ich den vollständigen Wert der Umgebungsvariablen ermitteln?
 
Sokil >> :

Wie wäre es, die Aufgabe zu erschweren?

Ich habe es: kolo/6895.jpg

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

=RC[-1]&","&RC[-1]&","&RC[-1]" hilft hier nicht weiter, soweit ich weiß.


Worin besteht die Komplikation?

Es gibt mindestens zwei Möglichkeiten: Die erste besteht darin, das " zu entfernen.jpg" und fügen Sie es dann in die Formel ein, die zweite in eine längere Formel wie =RC[-1]&","&RC[-1]&","&LEVSIMV(RC[-1]; DLSTR(RC[-1])-4)&"_"&PRAWSIMW(RC[-1];4), bei Bedarf können Sie das Trennzeichen mit find suchen, oder es wird eine elementare Schleife mit VBA erstellt.

Für jedes Problem gibt es eine Lösung, aber das Problem muss genau definiert werden.