#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
デモ口座でポジションを開いたり閉じたりしてみてください。
ありがとうございます!やってみます
しかし、私はデモ口座で視覚化するために必要なだけです)
デモ口座でうまくいかない場合は、教えてください。
しかし、私はデモ口座で視覚化するために必要なだけです)
履歴から、マウスをチャートに引き寄せることができます(シフターで-すべて)。
!!!コントローラを使用すると、チャートの設定がリセットされます。コードのどこが悪いんだ?
グラフィックは問題ないが、テスターではArray Out Of Rangeというエラーが表示される
コードのどこが悪いんだ?
グラフィックは問題ないが、テスターではArray Out Of Rangeというエラーが表示される
i<rates_totalになるまでループし、Buffer[ i+1]が存在する。
Buffer[rates_total] .There is no such thing.The last index is rates_total-1.
コードのどこが悪いんだ?
グラフィックは問題ないが、テスターではArray Out Of Rangeというエラーが表示される
Buffer[i+1] === +1 не делается проверка на выход за массив
i<rates_totalになるまでループし、Buffer[ i+1 ]が存在する。
Buffer[rates_total] .There is no such thing.The last index is rates_total-1.
これに変更
i<rates_total-1
動作するようです