Mathemat>>: grell предложил формулу, показывающую, как можно непрерывно трансформировать мувинг от периода 3 к периоду 4. При этом изменяются мувинги целиком, а не их отдельные коэффициенты: все к-ты варианта grell'a отличаются от предложенных раньше.
>> also Hut ab vor ihm! >> Ich schrieb.
avatara schrieb >> Was können Sie sonst noch vorschlagen? Wäre eine einfache Interpolation angebracht?
---
Mathematik>>: avatara, sei nicht knauserig, biete deine geometrische Version an.
Es haben sich noch nicht alle zu Wort gemeldet. ;)
Lassen Sie uns die Frage anders formulieren. Was bedeutet eine Periode von 3,333333?
1. Werden für die Berechnung 3 volle Takte und ein Drittel des vierten Taktes verwendet? Welche Bar soll ich dann nehmen? 2. Bei der Berechnung wird eine Art "Durchschnitt" zwischen 3 und 4 Perioden verwendet. Was ist ein solcher Durchschnitt? 3. Nehmen wir bei der Berechnung von jedem Balken ein wenig ab? Wie viel? 4. Bei der Berechnung transformieren wir die TF. Wie? usw.
Übrigens ist auch die Umwandlung der TF eine Option. Wir kommen hier ein bisschen ins Schleudern... Ich frage mich, ob jemand weiß, wie dies in Plattformen, die nicht ganzzahlige Zeiträume anbieten, umgesetzt wird?
Also habe ich einen Indikator für den SMA entworfen. Eigentlich ist es sinnvoll, dass die Gewichtung des gebrochenen Teils auf den höheren Balken fällt. Wir zählen zurück in die Geschichte. Hier das Bild: Rot - SMA(4), blau - SMA(3,5), grün - SMA(4,5): Der Truthahn ist beigefügt, und hier ist der Code:
#property indicator_chart_window // в окне инструмента#property indicator_buffers 1#property indicator_color1 Blue // входные параметрыexterndouble MAperiod=3; // int History=0; // 0- все барыdouble SMA[]; // массив буфераdouble rt; // дробная часть периодаint per; // целая часть периодаvoid init() {// инициализация
per=MathFloor(MAperiod);
rt=MAperiod-per;
SetIndexBuffer(0,SMA); // индикатор
SetIndexStyle(0,DRAW_LINE);
SetIndexLabel(0,"SMA("+DoubleToStr(MAperiod,2)+")");
}
void start() {
int limit=Bars-IndicatorCounted()-1;
if(History!=0 && limit>History) limit=History-1; // кол-во пересчетов по историиfor(int i=limit; i>=0; i--) { // цикл пересчета по ВСЕМ барамint j=i+per;
double ma=rt*Close[j];
j--;
for(; j>=i; j--) ma+=Close[j];
ma/=MAperiod;
SMA[i]=ma;
}
}
grell предложил формулу, показывающую, как можно непрерывно трансформировать мувинг от периода 3 к периоду 4. При этом изменяются мувинги целиком, а не их отдельные коэффициенты: все к-ты варианта grell'a отличаются от предложенных раньше.
avatara schrieb >>
Was können Sie sonst noch vorschlagen? Wäre eine einfache Interpolation angebracht?
avatara, sei nicht knauserig, biete deine geometrische Version an.
Es haben sich noch nicht alle zu Wort gemeldet. ;)
>> Progger ignoriert es :(
Пока мы тут лясы точим, Unknow там капусту рубит:)))
Staat sogar gebucht.
;)
1. Werden für die Berechnung 3 volle Takte und ein Drittel des vierten Taktes verwendet? Welche Bar soll ich dann nehmen?
2. Bei der Berechnung wird eine Art "Durchschnitt" zwischen 3 und 4 Perioden verwendet. Was ist ein solcher Durchschnitt?
3. Nehmen wir bei der Berechnung von jedem Balken ein wenig ab? Wie viel?
4. Bei der Berechnung transformieren wir die TF. Wie?
usw.
Ich frage mich, ob jemand weiß, wie dies in Plattformen, die nicht ganzzahlige Zeiträume anbieten, umgesetzt wird?
Блин, мужики, вам только палец покажи! Пять страниц не предел.
Kennen Sie die Lösung?
Oder nicht interessiert?
Hier das Bild: Rot - SMA(4), blau - SMA(3,5), grün - SMA(4,5):
Der Truthahn ist beigefügt, und hier ist der Code: