#property indicator_label1 "LINE"#property indicator_type1 DRAW_LINE#property indicator_color1 clrGold#property indicator_style1 STYLE_SOLID#property indicator_width1 2inputint period = 10; //Период усреденияinputbool USE_LIMIT= false; //вкл/выкл лимитирование//Заключается в ограничении максимального изменения значения индикатораinputdouble use_limit= 0.00005; //Величина//на которую максимально может измениться индикаторdouble Buffer[];
//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+intOnInit()
{
SetIndexBuffer(0,Buffer,INDICATOR_DATA);
//PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,0);return(0);
}
//+------------------------------------------------------------------+//| Custom indicator iteration function |//+------------------------------------------------------------------+intOnCalculate(constint rates_total,
constint prev_calculated,
constint begin,
constdouble &price[])
{
//--- вычисления значений индикатора//--- calculate the indicator valuesint start=0;
//--- если расчет уже производился на предыдущем запуске OnCalculate//--- if the calculation is made on a previous run of OnCalculateif(prev_calculated>0) start=prev_calculated-1; // установим начало расчетов с предпослденего бара -- Set the start of the penultimate bar calculations//--- заполняем индикаторный буфер значениями//--- fill indicator buffer valuesfor(int i=start;i<rates_total;i++)
{
Buffer[0]=price[0];
double delta=(price[i]-Buffer[i])/period;
if(USE_LIMIT && delta>use_limit)
{
delta=use_limit;
}
if(USE_LIMIT && delta<-use_limit)
{
delta=-use_limit;
}
Buffer[i+1]=Buffer[i]+delta;
}
//--- вернем значение prev_calculated для следующего вызова функции//--- return the value for the next call of prev_calculated functionreturn(rates_total);
}
//+------------------------------------------------------------------+
用于测试: https://www.metatrader5.com/ru/terminal/help/algotrading/visualization
目前还没有发现对真实交易的帮助--只需在模拟账户中尝试开仓和平仓。
谢谢你的关注。
用于测试: https://www.metatrader5.com/ru/terminal/help/algotrading/visualization
对于真实交易,我还没有找到任何帮助--只需尝试在模拟账户中开仓和平仓。
谢谢你!我将尝试一下。
但我只是需要它在模拟账户上进行可视化操作)
如果它在模拟账户上不起作用,请让我知道。
但我只是需要它在模拟账户上进行可视化操作)
从历史上看,你可以把鼠标拉到图表上(用移位器--所有的)。
!!!用控制器将重置图表设置。代码有什么问题?
图形很好,在测试器中出现了 "阵列超出范围 "的错误。
代码有什么问题?
图形很好,在测试器中出现了 "阵列超出范围 "的错误。
循环直到i<rates_total.然后有Buffer[ i+1] .
缓冲区[rate_total] .没有这样的东西。最后的索引是rate_total-1。
代码有什么问题?
图形很好,在测试器中出现了 "阵列超出范围 "的错误。
Buffer[i+1] === +1 не делается проверка на выход за массив
循环进行,直到i<rates_total.然后有Buffer[ i+1] .
缓冲区[rate_total] .没有这样的东西。最后的索引是rate_total-1。
改成了这样
i<rates_total-1
似乎是有效的