Support Board
Date/Time: Sat, 19 Jul 2025 13:32:32 +0000
Post From: custome study
[2025-07-15 23:00:44] |
Rustam - Posts: 22 |
Hi I try to create a Custome Study via chat GPT and get this error message. Can someone tell me what I'm doing wrong? Code : #include "sierrachart.h" SCDLLName("SMT Divergenz Linie") SCSFExport void scsf_SMT_Divergenz_Linie(SCStudyInterfaceRef sc) { SCInputRef ChartNumA = sc.Input[0]; SCInputRef ChartNumB = sc.Input[1]; SCInputRef Lookback = sc.Input[2]; SCInputRef LineColor = sc.Input[3]; if (sc.SetDefaults) { sc.GraphName = "SMT Divergenz Linie"; sc.StudyDescription = "Zeichnet SMT Divergenzen zwischen zwei Charts ein"; sc.AutoLoop = 1; ChartNumA.Name = "Chart Nummer A"; ChartNumA.SetInt(2); ChartNumB.Name = "Chart Nummer B"; ChartNumB.SetInt(3); Lookback.Name = "Lookback-Bars für Pivot"; Lookback.SetInt(3); Lookback.SetIntLimits(1, 20); LineColor.Name = "Linienfarbe"; LineColor.SetColor(RGB(255, 0, 0)); return; } int chartA = ChartNumA.GetInt(); int chartB = ChartNumB.GetInt(); int lb = Lookback.GetInt(); COLORREF color = LineColor.GetColor(); // Sicherheitsprüfung if (sc.Index < lb || sc.Index + lb >= sc.ArraySize) return; SCFloatArray highA, lowA, highB, lowB; sc.GetChartBaseData(chartA, SC_HIGH, highA); sc.GetChartBaseData(chartA, SC_LOW, lowA); sc.GetChartBaseData(chartB, SC_HIGH, highB); sc.GetChartBaseData(chartB, SC_LOW, lowB); if (highA.GetArraySize() == 0 || highB.GetArraySize() == 0) return; // Swing High bool isHighA = sc.High[sc.Index] > sc.High[sc.Index - lb] && sc.High[sc.Index] > sc.High[sc.Index + lb]; bool isHighB = highB[sc.Index] > highB[sc.Index - lb] && highB[sc.Index] > highB[sc.Index + lb]; if (isHighA && isHighB) { float diffA = sc.High[sc.Index] - sc.High[sc.Index - lb]; float diffB = highB[sc.Index] - highB[sc.Index - lb]; if ((diffA > 0 && diffB < 0) || (diffA < 0 && diffB > 0)) { s_UseTool tool; tool.Clear(); tool.ChartNumber = sc.ChartNumber; tool.DrawingType = DRAWING_LINE; tool.BeginIndex = sc.Index - lb; tool.EndIndex = sc.Index; tool.BeginValue = sc.High[sc.Index - lb]; tool.EndValue = sc.High[sc.Index]; tool.Color = color; tool.LineWidth = 2; tool.Text = "SMT High Divergenz"; tool.AddMethod = UTAM_ADD_ALWAYS; sc.UseTool(tool); } } // Swing Low bool isLowA = sc.Low[sc.Index] < sc.Low[sc.Index - lb] && sc.Low[sc.Index] < sc.Low[sc.Index + lb]; bool isLowB = lowB[sc.Index] < lowB[sc.Index - lb] && lowB[sc.Index] < lowB[sc.Index + lb]; if (isLowA && isLowB) { float diffA = sc.Low[sc.Index] - sc.Low[sc.Index - lb]; float diffB = lowB[sc.Index] - lowB[sc.Index - lb]; if ((diffA < 0 && diffB > 0) || (diffA > 0 && diffB < 0)) { s_UseTool tool; tool.Clear(); tool.ChartNumber = sc.ChartNumber; tool.DrawingType = DRAWING_LINE; tool.BeginIndex = sc.Index - lb; tool.EndIndex = sc.Index; tool.BeginValue = sc.Low[sc.Index - lb]; tool.EndValue = sc.Low[sc.Index]; tool.Color = color; tool.LineWidth = 2; tool.Text = "SMT Low Divergenz"; tool.AddMethod = UTAM_ADD_ALWAYS; sc.UseTool(tool); } } } i get this error, sorry it is in german: -- Starting build of Custom Studies Source files: SMT_Divergenz_Linie_clean.cpp. -- 00:53:32 C:\WINDOWS\system32\cmd.exe /C "C:\SierraChartNXT\ACS_Source\VisualCCompile.Bat" C:\SierraChartNXT\ACS_Source>call "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64 ********************************************************************** ** Visual Studio 2022 Developer Command Prompt v17.14.9 ** Copyright (c) 2025 Microsoft Corporation ********************************************************************** [vcvarsall.bat] Environment initialized for: 'x64' SMT_Divergenz_Linie_clean.cpp C:\SierraChartNXT\ACS_Source\SMT_Divergenz_Linie_clean.cpp(5): error C2062: "void"-Typ unerwartet C:\SierraChartNXT\ACS_Source\SMT_Divergenz_Linie_clean.cpp(6): error C2143: Syntaxfehler: Es fehlt ";" vor "{" C:\SierraChartNXT\ACS_Source\SMT_Divergenz_Linie_clean.cpp(6): error C2447: "{": Funktionsheader fehlt - Parameterliste im alten Stil? -- End of Build -- 00:53:34 |