新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 988

 
-nan(ind)是否没有值?
 
Yevhenii Levchenko:
-nan(ind)不是一个数字?

不是一个数字

 
Yevhenii Levchenko:

sizeof()返回变量类型的大小


这就对了。数组是同一类型的数据 的集合。如果你像这样写

int masiv[1];
Print(sizeof(masiv));//вернёт 4, потому что int 4 байта, если так masiv[2]- будет 8.
int Perem;
Print(sizeof(Perem));//вернёт 4, потому что int 4 байта
//если записать вот так
int masiv[];
Print(sizeof(masiv));вернёт 52 вне зависимости где и как объявлен массив.
//если записать вот так
int masiv[][3][3];
Print(sizeof(masiv));вернёт 52.


如果你把这些数组中的任何一个传入一个函数,会有一个52的问题,为什么?

 
有没有什么脚本可以让mt5在交易开始后删除所有剩余的箭头图形,否则手动逐个删除对象的时间会很长。
 
Konstantin Lebedev:
有没有什么脚本可以让mt5在开仓后删除所有剩余的箭头形式的图形显示,因为手动逐一删除对象需要很长时间。

你不需要一个一个地做,你可以一次性地删除所有图形对象。


 
Konstantin Lebedev:
有没有什么脚本可以让mt5在开仓后删除所有剩余的箭头形式的图形显示,否则手动逐个删除对象会很漫长。

鼓手不明白这个问题是什么意思。在 "历史 "或 "交易 "选项卡中,使用右键菜单,一次性删除所有内容。你也可以禁止添加。


 
你好。还在(慢慢地,急什么呢?)掌握MT5。面对不理解的记录。提示或如果有一个按时间划分的缓冲线的指标,请把链接发给我)))。谢谢
for(int i=limit; i>=0; i--)
{
...

MqlDataTime tm;
TimeToStruct(time[i],tm);

if(tm.hour==18 && tm.min==30 && Period()<=PERIOD_H1)
 {
//функция для создания таймлинии (вертикальная) ВСЕ ОК!

//КАК ВЫГЛЯДИТ ЗАПИСЬ СОЗДАНИЯ БУФЕРНОЙ ЛИНИИ ? ТАК НЕ ПОЛУЧАТСЯ 
for(int j=shift; j>=0; j--)
 {
CL=iClose(NULL,_Period,j);
Buff[i]=close[j]; // =CL;

if(Buff[j-1]!=Buff[j])
Buff[j-1]=EMPTY_VALUE;
 }
}

做事
 

请帮助


//+------------------------------------------------------------------+

//| Lex_Bands.mq4 | |
//| Lex |
//||
//+------------------------------------------------------------------+
#财产版权 "Lex"
#属性严格
#property indicator_chart_window
#property indicator_buffers 3
#property indicator_plots 3
//------ 绘制中间线
#property indicator_label1 "Middle_Line"
#属性 indicator_type1 DRAW_LINE
#属性 indicator_color1 clrLightSeaGreen
#property indicator_style1 STYLE_SOLID
#property indicator_width1 2
//----------- 绘制Up_Line
#property indicator_label2 "Up_Line"
#属性 indicator_type2 DRAW_LINE
#属性 indicator_color2 clrLightSeaGreen
#property indicator_style2 STYLE_SOLID
#property indicator_width2 2
//---- plot_Line
#property indicator_label3 "Down_Line"
#属性 indicator_type3 DRAW_LINE
#属性指标_color3 clrLightSeaGreen
#property indicator_style3 STYLE_SOLID
#property indicator_width3 2
//----指标参数
输入 int InpBandsPeriod=20; // MA周期
输入 int OtklPeriod=20; // Otkloneniya Period
输入 int OtklShag=5; // Shag Otkloneniya
输入 int MA_Type=0; // MA类型 0 - SMA, 1 - EMA, 2 - SMMA, 3 - LWMA
输入 int Applied_Price=4; // 0 - PRICE_CLOSE, 1 - PRICE_OPEN, 2 - PRICE_HIGH, 3 - PRICE_LOW, 4 - PRICE_MEDIAN, 5 - PRICE_TYPICAL, 6 - PRICE_WEIGHTED

//----指标缓冲区
double_LineBuffer[]。
double_LineBuffer[]。
double_LineBuffer[]; double Down_LineBuffer[];

//+------------------------------------------------------------------+
//|自定义指标初始化功能
//+------------------------------------------------------------------+
int OnInit()
{
IndicatorBuffers(7)。
SetIndexBuffer(0,Middle_LineBuffer)。
SetIndexStyle(0,DRAW_LINE)。
SetIndexBuffer(1,Up_LineBuffer)。
SetIndexStyle(1,DRAW_LINE)。
SetIndexBuffer(2,Down_LineBuffer)。
SetIndexStyle(2,DRAW_LINE)。
return(0);
}
//+------------------------------------------------------------------+
//|自定义指标迭代函数|
//+------------------------------------------------------------------+
int start()
{
int counted_bars = IndicatorCounted()。
如果(counted_bars < 0) 返回(-1)。
如果(counted_bars > 0) counted_bars。
int limit = Bars - counted_bars;
if(counted_bars==0) limit--。
double dOtklSumMax[];
双重SrOtklMax[]。
double dOtklSumMin[];
双重SrOtklMin[]。
for(int i=1;i<=limit;i++)
{
for(int j=i;j<=i+OtklPeriod;j=j+OtklShag)
{
double max=High[iHighest(NULL,0,MODE_HIGH,OtklShag,j)]。
double min=Low[iLowest(NULL,0,MODE_HIGH,OtklShag,j)] 。
double Otklmax=max-iMA(NULL,0,InpBandsPeriod,0,MA_Type, Applied_Price,j);
double Otklmin=iMA(NULL,0,InpBandsPeriod,0,MA_Type, Applied_Price,j)-min;
doubleOtklmax=Otklmax*Otklmax。
dOtklSumMax[j]=dOtklSumMax[j-1]+dOtklSumMax[j]。
dOtklSumMax[OtklShag]=dOtklSumMax[j]。
double dOtklmin=Otklmax*Otklmax。
dOtklSumMin[j]=dOtklSumMin[j-1]+dOtklSumMin[j]。
dOtklSumMin[OtklShag]=dOtklSumMin[j]。
}
Middle_LineBuffer[i]=iMA(NULL,0,InpBandsPeriod,0,MA_Type,Applied_Price,i)。
SrOtklMax[i]=MathSqrt(dOtklSumMax[OtklShag]/(OtklPeriod/OtklShag))。
SrOtklMin[i]=MathSqrt(dOtklSumMin[OtklShag]/(OtklPeriod/OtklShag))。
Up_LineBuffer[i]=iMA(NULL,0,InpBandsPeriod,0,MA_Type,Applied_Price,i)+SrOtklMax[i]。
Down_LineBuffer[i]=iMA(NULL,0,InpBandsPeriod,0,MA_Type,Applied_Price,i)-SrOtklMin[i]。
}
return(0);
}

以下是指标代码。它在编译时没有错误,但在图表上却没有显示。
 
Xander1603:

请帮助。

...

以下是该指标的代码。它在编译时没有出现任何错误,但在图表上根本没有显示任何东西。

正确插入代码


而且,不要用一个简单的问题创造许多话题。

 
如何将字符串转换为枚举?
原因: