请教:是数组的问题,还是ObjectCreat的问题? 新评论 [Deleted] 2008.07.06 20:49 主函数的语句copy如下,(整个indicator 编译通过了)可是运行后,输入初始值后,没有显示结果 我怀疑是最后一个for循环中Objectcreat 函数有问题,他的第一个参数Name,我是用字符串数组传递的,请问MQL4允许这样做吗? 另外,MQL4,调试中,哪里可以设置断点,和查看变量的输出值?,刚刚接触MT4,对他的平台不是很熟悉。 谢谢! int start() { double AngleTotal=0; string AngleLineName[]; // 请问这里可以象C语言那样定义字符串数组吗? double LineAngle[]; double PriceVN=0; double LinePrice[]; string TempAngle=""; AngleTotal=AngleStep*CycleNumber; PriceVN=CalculateVN(AngleMaster,StartPrice,DirectionDown); if(DirectionDown==true) { LinePrice[0]=StartPrice-PriceVN/MathPow(10,Digits); for(int i=1;i<CycleNumber;i++) LinePrice[i]=LinePrice[i-1]-AngleStep*i/MathPow(10,Digits); } else { LinePrice[0]=StartPrice+PriceVN/MathPow(10,Digits); for(i=1;i<CycleNumber;i++) LinePrice[i]=LinePrice[i-1]+AngleStep*i/MathPow(10,Digits); } for(i=0;i<CycleNumber;i++) { LineAngle[i]=AngleStep*i; TempAngle=DoubleToStr(AngleStep*i,0); AngleLineName[i]="Angle_"+i+"_"+TempAngle; } for(i=0;i<CycleNumber;i++) { ObjectCreate(AngleLineName[i],OBJ_HLINE,0,Time[10],LinePrice[i]); // 问题是不是出在这里?用数组AngleLineName[i]给第一个参数Sting Name赋值,行吗? ObjectSet(AngleLineName[i],OBJPROP_STYLE,STYLE_SOLID); ObjectSetText(AngleLineName[i],AngleLineName[i],8,NULL,AngleLineColor); } return(0); } [存档!]纯数学、物理学、化学等:与贸易没有任何关系的大脑训练问题 [警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 [Archive!] Pure mathematics, physics, chemistry, etc.: brain-training problems not related to trade in any way okwh 2008.07.07 11:56 #1 跟C 一样, 数组需要分配大小后使用 ! 这里似乎都没有分配空间大小 int ArrayResize( void array[], int new_size) [Deleted] 2008.07.08 22:19 #2 DxdCn 写 >> 跟C 一样, 数组需要分配大小后使用 ! 这里似乎都没有分配空间大小 int ArrayResize( void array[], int new_size) 谢谢DxdCn大大! [Deleted] 2008.07.08 22:43 #3 谢谢DxdCn大大 搞定!确实是没有分配空间,定义的时候可以不分配,使用前要分配 哎,基础的东西都忘光光了 另外,你教的用十字光标划线的方式,即可以得到K棒的根数,也能看到价格波动区间,非常好用。 哈哈,谢谢咯! 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
主函数的语句copy如下,(整个indicator 编译通过了)可是运行后,输入初始值后,没有显示结果
我怀疑是最后一个for循环中Objectcreat 函数有问题,他的第一个参数Name,我是用字符串数组传递的,请问MQL4允许这样做吗?
另外,MQL4,调试中,哪里可以设置断点,和查看变量的输出值?,刚刚接触MT4,对他的平台不是很熟悉。
谢谢!
int start()
{
double AngleTotal=0;
string AngleLineName[]; // 请问这里可以象C语言那样定义字符串数组吗?
double LineAngle[];
double PriceVN=0;
double LinePrice[];
string TempAngle="";
AngleTotal=AngleStep*CycleNumber;
PriceVN=CalculateVN(AngleMaster,StartPrice,DirectionDown);
if(DirectionDown==true)
{
LinePrice[0]=StartPrice-PriceVN/MathPow(10,Digits);
for(int i=1;i<CycleNumber;i++)
LinePrice[i]=LinePrice[i-1]-AngleStep*i/MathPow(10,Digits);
}
else
{
LinePrice[0]=StartPrice+PriceVN/MathPow(10,Digits);
for(i=1;i<CycleNumber;i++)
LinePrice[i]=LinePrice[i-1]+AngleStep*i/MathPow(10,Digits);
}
for(i=0;i<CycleNumber;i++)
{
LineAngle[i]=AngleStep*i;
TempAngle=DoubleToStr(AngleStep*i,0);
AngleLineName[i]="Angle_"+i+"_"+TempAngle;
}
for(i=0;i<CycleNumber;i++)
{
ObjectCreate(AngleLineName[i],OBJ_HLINE,0,Time[10],LinePrice[i]); // 问题是不是出在这里?用数组AngleLineName[i]给第一个参数Sting Name赋值,行吗?
ObjectSet(AngleLineName[i],OBJPROP_STYLE,STYLE_SOLID);
ObjectSetText(AngleLineName[i],AngleLineName[i],8,NULL,AngleLineColor);
}
return(0);
}