インジケーターのバージョンアップに10$。 - ページ 6

 
Svinozavr >>:
Ну набросал я индикатор по SMA. Вообще-то, что весовая часть дробной части приходится на старший бар, логично. Отсчитываем-то назад, в историю.
Вот картинка. красный - SMA(4), синий - SMA(3.5), зеленый - SMA(4.5):

Индюк прикреплен, и вот код:

すごいですねぇ。
しかも200行も ないコードで...。
;)

 
ちなみに、SMAは1.1、1.2などの周期で見ています。面白いですね。
要するに、すごく楽しいんです。私は、IMHO - 実用性はないと思いますが、「端数のあるピリオドのある単純なスリップ」というオキシモロンの実現として)))は、やると思います。禅の寓話のようなものがある(「掌をひとつ叩く」等))))
===
Alexeyはこのトピックを最初は非貿易関連タスクのブランチに入れるべきです。)
 
そして、ドアが開いていた...。
 
grell >>:
А ларчик просто открывался...

そうですね...そういう問題じゃないんです。ただ、純粋な実用主義者である私には、この胸を開くことは思いつかなかった。私は自分の箱を十分に持っています、パンドラの箱と言ってもいいくらいです))。
===
基盤に入れましょうか。それとも、やはり装身具で恥をかかない方がいいのでしょうか)))

 
//+------------------------------------------------------------------+
//|                                                          kMa.mq4 |
//|                                                            Grell |
//|                                                dwgrell@gmail.com |
//+------------------------------------------------------------------+
#property copyright "Grell"
#property link      "dwgrell@gmail.com"
#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 Red
#property indicator_color2 Yellow
#property indicator_color3 Green
extern int    per1=3;
extern double perk=3.7;
extern int    per2=4;
double Buffer1[];
double Bufferk[];
double Buffer2[];
int init()
  {
  SetIndexStyle(0,DRAW_LINE);
  SetIndexBuffer(0,Buffer1);
  SetIndexStyle(1,DRAW_LINE);
  SetIndexBuffer(1,Bufferk);
  SetIndexStyle(2,DRAW_LINE);
  SetIndexBuffer(2,Buffer2);
  return(0);
  }
int deinit()
  {
  return(0);
  }
int start()
  {
   int limit;
   int counted_bars=IndicatorCounted();
   if(counted_bars<0) return(-1);
   if(counted_bars>0) counted_bars--;
   limit=Bars-counted_bars;
   double a1=perk-MathFloor(perk);
   double a2=MathCeil(perk)-perk;
   for(int i=0; i<limit; i++)
     {
     Buffer1[i]=iMA(NULL,0,per1,0,0,0,i);
     Buffer2[i]=iMA(NULL,0,per2,0,0,0,i);
     Bufferk[i]=a1*iMA(NULL,0,per2,0,0,0,i)+a2*iMA(NULL,0,per1,0,0,0,i);
     }
   return(0);
  }
//+------------------------------------------------------------------+
 
ヘッドが動くが、その動きがおかしい。
 
grell >>:
Голова работает, но не в том ключе.

では、さっそくやってみましょう。;)

残っているのは

2. リニアウェイトの場合
3. 指数の場合?
 
座れ「5」 - ファックアップが擁護される。まだオプション4がありますが、前の2つと同じです。
 
grell >>:
Садись "5" - подъеб защитан. Остался 4 вариант, но решается также как и предыдущие 2.
指数を表す線形結合?
:о)
 
avatara >>:

Тогда продолжим. ;)

Остались -

なぜ指数関数なのか?最初から「分数」周期を持っている、それがない、つまりフィードバック係数しか持っていない。それでMTは、EMAが分数でないようにしたのです。そのままでは、常に分数的なパラメータを持つことになります。この係数を端数期間から再計算して完了です。k=2.0/(1+期間)とする。
まあ、残りの定番はもう初歩的なものですが。