コーディングのヘルプ - ページ 595

 

申し訳ありませんが、オンライン翻訳機を使用しているため、すべて理解できないかもしれません。

 
v2812:
というのは、傾きの度合いでしょうか?

v2812

それは何もない

水平スケールを変更(拡大・縮小を押す)すると、チャート上で変更されても、"角度 "は同じままである。金融の時系列では、「角度」のことは忘れてください。近似的なものはありますが(私が作った、平均的なレンジの変化に対する価格の 変化に近似したものなど)、座標系のx軸とy軸が同じ単位を使っていない場合、正確な数学的角度と呼べるものはないのです。

 

グラフのスケールを変えても、この直線の傾きが変わらないことが、平均値を動かす 強さを表していると思いました。

 

見てください、写真V5-線は69.0の傾きを示しています。写真V6では縮尺を小さくしましたが、線の傾きは常に69.0です。仮に69.0の傾きが強いとすると、どの縮尺のチャートでも分かることになります。それが必要だ。

ファイル:
 
v2812:
写真V5-は69.0の傾きを示しています。写真V6では縮尺を小さくしましたが、線の傾きは常に69.0です。仮に69.0の角度がトレンドが強いとすると、どの縮尺のチャートでもわかることになります。それが必要だ。

v2812

この投稿をお読みください :https://www.mql5.com/en/forum/173056/page3

私たちが何を扱っているのか理解するのに役立つことを願っています。よろしくお願いします。

 

それは学位ではありませんが、それは不変であることを、あなたは30から80まで、例えば - 強い傾向、ポイントが緑(30から80)であれば、グラフのスケールは何でも、成長している強い傾向を意味するので知ることができます場合

 

度ではなく、数字で具体的な値を示すことかもしれません。色のドットをこれらの数値の範囲に縛り付ける手段

 
on my own:
同期していない2つのもの(2つの異なるシンボルからのティック)を同期させることはできないと思うのですが。

OKですが、私は終了した最後のクローズの価格バーを参照しているので、ティックの同期を無視することができます。

一つ質問です。

limit'変数が1に等しいとき、私は両方の通貨でインデックスが1に等しいタイムシリーズ配列に記憶された最後のバーを考慮していることを意味します。

ということは、ちょうど終わったばかりのバーということになります。

現在のバーのティックの影響をどのように受けるのでしょうか?

 
twinumbers:

OKですが、私は終了した最後のクローズの価格バーを参照しているので、ティックの同期を無視することができます。

一つ質問です。

limit'変数が1に等しいとき、私は両方の通貨でインデックスが1に等しいタイムシリーズ配列に記憶された最後のバーを考慮していることを意味します。

ということで、ちょうど終了したバーということになります。

どのように現在のバーのティックに影響されることができますか?

もう一つのシンボルの価格が最新のものであることをどのようにして知ることができるのでしょうか?

 
apprentice coder:
他のシンボルの価格が最新のものであることをどのようにして知ることができるのですか?

以下はそのコードです。

#プロパティ indicator_separate_window

#property インジケーターバッファー1

#property indicator_color1 レッド

#property indicator_width1 2 (プロパティ インジケータ幅1)

double Buffer[];

//intバーです。

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

//| カスタムインジケータ初期化関数

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

int OnInit()

{

//---インジケーターバッファの マッピング

IndicatorBuffers(1);

SetIndexBuffer(0, Buffer,INDICATOR_DATA);

ArrayInitialize(Buffer,EMPTY_VALUE)。

ArraySetAsSeries(Buffer,True)。

//---

return(INIT_SUCCEEDED);

}

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

//| カスタムインジケータイテレーション関数

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

int OnCalculate(const int rates_total,

const int prev_calculated,

const datetime &time[],

const double &open[],

const double &high[],

const double &low[],

const double &close[],

const long &tick_volume[],

const long &volume[],

const int &spread[])

{

//---

if(prev_calculated == 0)

{

int i = rates_total-prev_calculated-1;

for (;i>0;i--)

Buffer = close-(iClose("GBPUSD", 0, i));

// bars = iBars("GBPUSD",0)。

}

さもなければ

{

if(rates_total > prev_calculated)

// if( (rates_total > prev_calculated) && (iBars("GBPUSD",0) > bars) )

{

int limit = rates_total-prev_calculated;

Buffer[limit] = close[limit]-(iClose("GBPUSD", 0, limit));

// bars = iBars("GBPUSD",0);

Print("GBP: "+iClose("GBPUSD",0,limit));。

Print("EUR: "+close[limit]);。

Print("リミット: "+limit);

}

}

//--- 次の呼び出しのためにprev_calculatedの値を返します。

return(rates_total);

}

新しいバーが来るたびに、最後のEURUSDとGBPUSDの終値を表示しますが、時々、表示される価格が最後のローソクの終値と異なることが起こります。

さらに、2回目のインジケータをチャートに貼り付けると、前回のインジケータとの違いが目に見えます。