2008-10-18

MT4とDelphiでDDE通信

最初うまくいかなかったが以下のように設定すればOKでした

要するに
DdeClientConvの
  DDEService : MT4
  DDETopic : BID or ASK or HIGH or LOW or TIME or QUOTE を入れる

DdeClientConvの
  DDEItem に 通貨 (USDJPY等)

で DdeClientConv の OnChange イベントで同 .text を取得すればOK

ソースで書けば

procedure TForm1.FormCreate(Sender: TObject);
begin


    self.DdeClientConv1.SetLink('MT4','BID');
    self.DdeClientItem1.DdeItem:='USDJPY';
    if  not DDEClientConv1.OpenLink then
    begin
        Showmessage('DDE通信失敗');
        exit;
    end;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin

    self.DdeClientConv1.CloseLink;

    end;

procedure TForm1.DdeClientItem1Change(Sender: TObject);
begin
    self.LbClose.Caption:=self.DdeClientItem1.Lines.Text;
end;

0 件のコメント:

コメントを投稿