c++ - mql4 中的结构或类类型预期错误
问题描述
我正在使用带有面向对象编程模型的 mql4 开发 MetaTrader 指标。我创建了一个视图文件和一个控制器。我收到此错误:'drawPairNamesListForex' - 预期结构或类类型。'IndicatorDashboard' - 未声明的标识符。
这是控制器:
int OnInit()
{
View IndicatorDashboard = new View();
ShowHideForexScreenerState=false;
IndicatorDashboard.ButtonCreate(0,prefix1+"ShowHideForexScreenerState",0,shiftX+boxWidth*2,shiftY,boxWidth*2,boxHeight,CORNER_LEFT_UPPER,"FOREX",fontType,TaillePolice,ShowHide_Button_Text_Color,ShowHide_Button_Color,clrNONE,false,false,false,true);
EventSetTimer(2);
return(INIT_SUCCEEDED);
}
void OnChartEvent(const int id,
const long &lparam,
const double &dparam,
const string &sparam)
{
int i = 0;
string name = "";
int XIncrimenet = shiftX;
int YIncriment = shiftY+(boxHeight*1);
if(sparam==prefix1+"ShowHideForexScreenerState" && !ShowHideForexScreenerState)
{
ShowHideForexScreenerState = true;
IndicatorDashboard.drawPairNamesListForex();
}
这是我从中获取“drawPairNamesListForex”方法的 View 类:
class View
{
private:
public:
void drawPairNamesListForex();
View();
~View();
};
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
View::View()
{
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
View::~View()
{
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
void View::drawPairNamesListForex()
{
int headerNumberInChart = 0;
int XIncrimenet = shiftX;
int YIncriement = shiftY+boxHeight;
int indiceTablePairs = 0;
string pairNameCleaned = NULL;
int sizeSuffix = StringLen(suffixPairs);
int sizePreffix = StringLen(prefixForex);
int sizeAllThePair = 0;
int posiitonSuffix = 0;
for(int i = 0; i < ArraySize(ForexPair); i++ )
{
pairNameCleaned = ForexPair[i];
if ( sizeSuffix > 0 )
{
sizeAllThePair = StringLen(pairNameCleaned);
posiitonSuffix = StringFind(pairNameCleaned,suffixPairs);
pairNameCleaned = StringSubstr(pairNameCleaned,0,posiitonSuffix);
}
if ( sizePreffix > 0 )
{
sizeAllThePair = StringLen(pairNameCleaned);
pairNameCleaned = StringSubstr(pairNameCleaned,sizePreffix,sizeAllThePair);
}
this.ButtonCreate(0,prefixForex+"PairName"+IntegerToString(i),0,shiftX,YIncriement,boxWidth*2,boxHeight,CORNER_LEFT_UPPER,pairNameCleaned,fontType,TaillePolice,textHeaderColor,headerColor,clrNONE,false,false,false,true);
YIncriement+=boxHeight;
}
}
解决方案
推荐阅读
- javascript - 合并对象数组中具有匹配属性的对象
- java - Java 到 Cpp 代码转换,关于 static 和 new 关键字的问题
- arrays - 不可靠的 Google Firebase 交易
- r - 如何创建一个 S4 类 A,它将 S4 类 B 的列表作为其属性?
- laravel - 没有名为“admin”的角色。拉拉维尔
- javascript - C# MVC 在网页编辑器中使用流阅读器/编写器将字符串添加到 HTML 页面
- java - Spring security 多个成功和失败处理程序无法正常工作
- python - Python - 干净的代码,没有实现的异常?
- python - 如何通过按钮命令从 TkInter filedialog.askopenfile 获取文件名
- javascript - OpenLayers 在地图上放置一个多边形