00001 /* 00002 * Qtstalker stock charter 00003 * 00004 * Copyright (C) 2001-2007 Stefan S. Stratigakos 00005 * 00006 * This program is free software; you can redistribute it and/or modify 00007 * it under the terms of the GNU General Public License as published by 00008 * the Free Software Foundation; either version 2 of the License, or 00009 * (at your option) any later version. 00010 * 00011 * This program is distributed in the hope that it will be useful, 00012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 * GNU General Public License for more details. 00015 * 00016 * You should have received a copy of the GNU General Public License 00017 * along with this program; if not, write to the Free Software 00018 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 00019 * USA. 00020 */ 00021 00022 #include "IndicatorPlugin.h" 00023 #include <qptrlist.h> 00024 00025 class LMS : public IndicatorPlugin 00026 { 00027 public: 00028 LMS (); 00029 virtual ~LMS (); 00030 Indicator * calculate (); 00031 int indicatorPrefDialog (QWidget *); 00032 void setDefaults(); 00033 PlotLine * calculateCustom (QString &, QPtrList<PlotLine> &); 00034 void getIndicatorSettings (Setting &); 00035 void setIndicatorSettings (Setting &); 00036 void formatDialog (QStringList &vl, QString &rv, QString &rs); 00037 void getLMS (QPtrList<PlotLine> &); 00038 00039 private: 00040 QColor colorK; 00041 QColor color2Day; 00042 QColor color5Day; 00043 PlotLine::LineType lineTypeK; 00044 PlotLine::LineType lineType2Day; 00045 PlotLine::LineType lineType5Day; 00046 QString label; 00047 00048 PlotLine *slowK (PlotLine *inLine, int kPeriod, int slowKperiod); 00049 00050 bool show2Day; 00051 bool show5Day; 00052 bool cycleFlag; 00053 int fkPeriod; 00054 int skPeriod; 00055 int cmbIndex; 00056 00057 // --------------------------------- 00058 bool testFlag; // test only -------- 00059 00060 QString colorKLabel; 00061 QString color2DayLabel; 00062 QString color5DayLabel; 00063 QString labelLabel; 00064 QString lineTypeKLabel; 00065 QString lineType2DayLabel; 00066 QString lineType5DayLabel; 00067 QString pluginLabel; 00068 QString fkPeriodLabel; 00069 QString skPeriodLabel; 00070 QString cmbIndexLabel; 00071 QString show2DayLabel; 00072 QString show5DayLabel; 00073 QString plotTestLabel; 00074 }; 00075