エキスパート: DDE - サーバ - ページ 8

 

やっとできたよ!!!!

私の問題は、論理的な順序ですべてを開くことで解決した。

まずddeサーバーを開き、次にメタトレーダー5を開き、ロボットを好きなペアに入れて、メタトレーダー5のすべてのdllを認証し、それからエクセルを開く。

私の間違いは、他のすべてのプログラムを開く前にエクセルを開いたままにしていたことだ。

 
誰かDDEを使用してExcelにネットボリュームを取得するために私を導くことができますか?
私は、サーバー名DAEとライブの時間を取得することができます私は、Excelにライブのネットボリュームが必要です。
 

MT5のデータをExcelに取得するための非常に便利で使いやすいツールです。以下は、複数のアセットから複数のデータタイプを同時に取得するためのコードです。

void OnTimer()
{
  // チャートのシンボルについて、現在の買値、売値、高値、安値、直近の出来高を取得する。
  double bidPrice = 0.0;
  double askPrice = 0.0;
  double highPrice = 0.0;
  double lowPrice = 0.0;
  double lastVolume = 0.0;
  string symbol = _Symbol; // EAがアタッチされているチャートのシンボルを取得します。
 
  if(SymbolInfoDouble(symbol, SYMBOL_BID, bidPrice) &&
     SymbolInfoDouble(symbol, SYMBOL_ASK, askPrice) &&
     SymbolInfoDouble(symbol, SYMBOL_HIGH, highPrice) &&
     SymbolInfoDouble(symbol, SYMBOL_LOW, lowPrice) &&
     SymbolInfoDouble(symbol, SYMBOL_VOLUME_REAL, lastVolume))
  {
    // 各シンボルに固有のDDEトピック
    string bidTopic = symbol + "_BID";
    string askTopic = symbol + "_ASK";
    string highTopic = symbol + "_HIGH";
    string lowTopic = symbol + "_LOW";
    string volumeTopic = symbol + "_VOLUME";
 
    // シンボル名を持つ各データポイントのDDE項目をチェック&追加する。
    if(!CheckItem("PRICE", bidTopic)) AddItem("PRICE", bidTopic);
    if(!CheckItem("PRICE", askTopic)) AddItem("PRICE", askTopic);
    if(!CheckItem("PRICE", highTopic)) AddItem("PRICE", highTopic);
    if(!CheckItem("PRICE", lowTopic)) AddItem("PRICE", lowTopic);
    if(!CheckItem("PRICE", volumeTopic)) AddItem("PRICE", volumeTopic);
 
    // DDE項目にデータを設定する
    SetItem("PRICE", bidTopic, DoubleToString(bidPrice, _Digits));
    SetItem("PRICE", askTopic, DoubleToString(askPrice, _Digits));
    SetItem("PRICE", highTopic, DoubleToString(highPrice, _Digits));
    SetItem("PRICE", lowTopic, DoubleToString(lowPrice, _Digits));
    SetItem("PRICE", volumeTopic, DoubleToString(lastVolume, 0)); // 体積は通常整数
  }
  else
  {
    // 価格情報が取得できなかった場合のエラー処理
    Alert("Error retrieving price information for " + symbol);
  }
}
 
// 既存のコードの残り ...
 
2035年の価格の例
nPriceop=2001で買い指値の例
trade.PositionOpen(_Symbol,ORDER_TYPE_BUY_LIMIT, 0.1, nOPPrice, 0, 0, "Commentyup"); MT5でtrade.mqhライブラリを使っているのですが......買いと売りは普通に約定するのですが......buylimitとselllimitのオープンポジションがないのです......どなたかお分かりになる方はいらっしゃいませんか?
 

ティック(買値と売値)のライブ・データをエクセル/リブ・オフィスで直接受信できるようにプログラムを変更した。MT4とまったく同じです。まったく違いはありません。ありがとうございます!

ファイル:
 
エクセルの代わりにグーグル・シートでも使えますか?
 
@adamko40 #: エクセルの代わりにグーグル・シートでも使えますか?
グーグル・シートは ウェブ・アプリケーションです。DDEは使用しません。