管理者の方への質問 - ページ 2

 
Yedelkin:
そうですね、MQで利用できる通貨ペアに限って狭い範囲で考えています。
少なくとも5年間、シンボルの正常な履歴がない場合、サーバーレベルで取引を禁止するオプションがあります。
 
Theaeditor 5はどのようにアプリケーショングラスを使用することができますか? どのようにそこからデータを読み取ることができますか?
 
todem:
Theaeditor 5はどのようにオーダーブックを使用することができますか? どのようにそこからデータを読み取ることができますか?

どうやら、「マーケット情報を得る」の項目の機能のことでしょうか?

 
todem:
Theaeditor 5はどのようにオーダースタックを使用できるのでしょうか?

こんな感じです。

MqlBookInfo ArrayMarketBookInfo[];

bool SymbolMarketBook;

int OnInit()
{
//----------------------------------------------------------------------------//
//Work variables
int Result = 0; //Returned importance
//----------------------------------------------------------------------------//

SymbolMarketBook = MarketBookAdd(Symbol());

//----------------------------------------------------------------------------//
return(Result);
//----------------------------------------------------------------------------//
}

//Procedure OnDeinit
void OnDeinit(const int reason)
{
//----------------------------------------------------------------------------//
//Work variables
//----------------------------------------------------------------------------//

  if(SymbolMarketBook) MarketBookRelease(Symbol());
  
//----------------------------------------------------------------------------//
}

//Event OnBookEvent
void OnBookEvent(const string& symbol)
{
//----------------------------------------------------------------------------//
//Work variables
int SizeBook;
int i;

bool Res;
//----------------------------------------------------------------------------//

Res = MarketBookGet(symbol,ArrayMarketBookInfo);

  if(Res)
  {
  SizeBook = ArraySize(ArrayMarketBookInfo);

    for(i=0;i<SizeBook;i++)
    {

      if(ArrayMarketBookInfo[i].type==BOOK_TYPE_BUY)
      //Подсчет данных по длинным позициям
      {
      //Выполняем собственную обработку
      }
      else
      //Подсчет данных по коротким позициям
      {
      //Выполняем собственную обработку
      }

    //Блок из справки по MarketBookGet
    Print(i,":",ArrayMarketBookInfo[i].price," Volume= ",ArrayMarketBookInfo[i].volume,
    " type = ",ArrayMarketBookInfo[i].type);
    }
  
  }
  else
  {
  Print("Не удалось получить содержимое стакана по символу ",Symbol());
  }  
//----------------------------------------------------------------------------//
}

追記

アルパリでカップと連動してみるのが良いですね、そちらでは使えるようですが...。

 
Interesting:

こんな感じです。

追記

ガラス細工はアルパリで試した方がいい、なんとなくそこそこ...。

mcl5を学び始めたところです。
 
徐々に歴史の厚みを増していきますが、2000年より古い年代は日記のみとなります。今、1コマ1コマの歴史の深さをどう見るか。議事録の深さは?
 

もう一度考えて、こう思いついた。指定したシンボル/タイムフレームを2つに分ける関数を作る。例えば、bool SetEdge(string symbol ,int timeframe,datetime time)といった感じ。この境界は静的であり、端末を再起動しても存在する。

使用方法シンボル/タイムフレームを実行し、考察に基づいて、例えば、何がm1であり、何がそうでないかを判断します。半分を異なる色で着色する( チャートの背景 または棒色)。他の時間枠にも同じアルゴリズムが適用されます。

結果:境界は視覚的にも(手動分析のために)、プログラム的にも(datetime GetEdge(string symbol ,int timeframe) )見えるように なりました。


 

例えば、「このシンボル/タイムフレームの境界はどこか」という質問に答える標準的な関数(あらかじめ定義された名前とパラメータを持つ)を書くことができるようになります。そして、どうすればいいのか(ハイライト、色隠し...)?

追伸

例えば、このような関数をDLLに入れれば(プロトタイプを公開すれば)、準備のいい人は自分で書いてくれるでしょう。とても美しいものになりそうです。

 

押し付けがましいですが、時間軸の境界を決める機能をユーザーに委ねることについての経営者の姿勢を知りたいです(もしかしたら予定があるのかもしれませんが)。グラフを長方形で塗るのは、あまり堅実とは言えませんね :) 。

 
220Volt: 押し付けがましいですが、時間軸の境界を決める機能をユーザーに委ねることについての経営者の姿勢を知りたいです(もしかしたら予定があるのかもしれませんが)。グラフを長方形で塗りつぶすのは、なんとなく見苦しいですから :)
SRに提案するくらいです。経営者の態度は、対応か沈黙か、どちらかでわかる。