現在のバーでないOpen Interestの値の取得 - ページ 10

 
そもそも、なぜこんなことをするのですか?
 
prostotrader:
なぜ、こんなことをするのですか?

取引所商品に関する2つの指標を比較しています。

  1. 現時点での買い注文の 数量と、現時点での売り注文の数量の差であり
  2. 総建玉数
すなわち、私はこれらの両方の指標を為替商品のチャートに取り付けます。

 
Karputov Vladimir:

取引所商品に関する2つの指標を比較しています。

  1. 現時点での買い注文の 数量と、現時点での売り注文の数量の差であり
  2. 総建玉数
I.e.この2つの指標を為替商品のチャートに貼り付けているのです。

分かりやすいですが、この2つのグラフは何のためにあるのでしょうか?

どうするんですか?

 
prostotrader:

それは理解できるのですが、この2つのグラフは何のためにあるのでしょうか?

あなたはそれをどうしますか?

ここでは2つの答えがあります(AND、OR、OR-一般的にはお好みの概念で考えてください)。

  1. 純学術的興味
  2. 証券取引所からお金を稼ぐ :)

 
Karputov Vladimir:

ここでは2つの答えがあります(AND、OR、OR-一般的にはお好みの概念で考えてください)。

  1. 純学術的興味
  2. 為替で大儲けするために :)

OnCalculate 関数でデータを取得するころには、ズボンが脱げてしまいますよ。
 
prostotrader:
OnCalculate関数でデータを取得する頃には、ズボンの裾が切れていることでしょう!
わかっていませんね。私はインジケーターを持っていますが、インジケーターの目的はビジュアライゼーションです。この場合、過度な「ひねり」は必要ありません。さらに言うなら、このガラスはここでは好ましくないとさえ言えます。
 

接続が中断されるとインジケーターの数値がリセットされるため、これ以上捕捉することはできませんでした。

MetaTrader取引プラットフォームのスクリーンショット

RTS-9.16、M1、2016.09.12

JSC ''Brokerage House ''OTKRYTIE'', MetaTrader 5, Real

RTS-9.16のトレンド方向、オープンポジションの総量、および現時点での買い注文量と現時点での売り注文量の差の相関性

RTS-9.16, M1, 2016.09.12, OTKRYTIE Brokerage House, MetaTrader 5, Real


 

Open Interest インジケータに小さな修正を加えました。最初の起動後、prev_calculate=0 の場合、インジケータ・バッファを再初期化しないようにしました。例えば、インジケータを チャートに貼り付けて、しばらく動作した後、突然 prev_calculate==0 が来た場合(接続に失敗したか、履歴に何かあったのかもしれません)、この場合、インジケータはそのインジケータバッファを再初期化せず、通常通り動作し続けます。

実施する。

プログラムのグローバル変数の宣言領域に、変数"StartDate"があります。

double         BufferMinDown[];
//---
datetime       StartDate=0;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()

その値がD'2015.01.01 00:00'よりも小さい場合、これは最初の指標開始であり、StartDate変数には最後の既知のサーバー時刻が代入されます。

   if(prev_calculated==0)
     {
      Print("prev_calculated==0, StartDate=",StartDate);
      if(StartDate<D'2015.01.01 00:00')
        {
         StartDate=TimeCurrent();
        }
      else
        {
         return(rates_total);
        }
     }

でない場合は、単に "rates_total "を返す。

ファイル:
 

またまたこんにちは!SYMBOL_SESSION_SELL_ORDERS_VOLUMEとSYMBOL_SESSION_INTEREST定数の使用について、また質問させてください。このスレッドに投稿されたインジケータを使用すると、これらの定数のデータがディップされ、明らかに履歴上でその使用をテストするために、Expert Advisorを作成 する必要があります。OnCalculate()ではなく、SymbolInfoDouble(Symbol(),SYMBOL_SESSION_BUY_ORDERS_VOLUME)でこれらの定数を受信すると、出力は0となります。

個人的には、あまりコードを複雑にせず、シンプルな方法を取りたいと考えています。インジケータのみ、それぞれOnCalculate()の中だけで取得でき、ヒストリー上では現在のバーのみのデータしか取得できないため、取得できないのでしょうか。

特に、このトピックで回答してください。後で回答を見つけることは不可能ですので、メッセージは移動しないでください。
 
私は私の質問とトピックのタイトルの答えを理解していると思います、私はリアルタイムでEAを実行し、すべてが履歴に動作します。というわけで、履歴からOIの値や売買注文の数量を得るにはどうしたらいいかという質問には、「無理です...」と答えています。