2013-10-13 4 views
2

요약 : DDE를 사용하여 Excel에서 1 셀로 제공되는 실시간 시계열을 저장/분석해야합니다.DDE : Excel 분석시 시계열

문제 : 끊임없이 변화하는 1 셀이므로 업데이트 된 값의 각 인스턴스를 가져 오는 방법을 모르므로 다른 수식, 플롯 등에서 사용할 수 있습니다. 밀리 초마다 변경되는 Excel 스프레드 시트이며, 실제 시계열 (t, t-1, t-2, t-3 등)을 가져 오려고합니다. 나는 시계열로 저장하는 법을 모른다.

세부 사항 : 일부 분석을 위해 MetaTrader 4 (MT4)를 사용하고 있습니다. 수입 라이브 가격에 대한 코드는 다음과 같다 :

=MT4|BID!EURUSD 
=MT4|ASK!EURUSD 
=MT4|HIGH!EURUSD 
=MT4|LOW!EURUSD 
=MT4|TIME!EURUSD 

내가 실시간으로 업데이트 플롯을 계산하고 다양한 수식 시계열을 사용할 수 있어야합니다. 라이브 데이터를 MATLAB에 보낼 수 있다면 도움이 될 것입니다. 그러나이 모든 것은 실시간 분석에서 실시간 데이터 여야합니다.

도움 주셔서 감사합니다.

답변

2

VBA 솔루션을 사용하는 경우 들어오는 데이터가 변경 될 때 Workbook.SetLinkOnData 메서드를 사용하여 Sub를 호출 할 수 있습니다.

난 단지

Based on this data layout

열기 이벤트에 모니터 설정이 데이터 레이아웃을 기반으로

를 이동 한 모든 relavent 데이터를 TIME 주제에 변화에 대응하고, 복사 제안 (ThisWorkbook 모듈에 넣으십시오)

Sub Workbook_Open() 
    Dim wb As Workbook 
    Dim Links As Variant 
    Dim i As Long 

    Set wb = ThisWorkbook 
    Links = wb.LinkSources(xlOLELinks) 

    For i = LBound(Links) To UBound(Links) 
     If Left$(Links(i), 8) = "MT4|TIME" Then 
      wb.SetLinkOnData Links(i), "MT4_OnUpdate" 
     End If 
    Next 
End Sub 

데이터 핸들을 코딩하십시오 일반 모듈

Sub MT4_OnUpdate() 
    ' DDE Updated TIME, copy data 
    Dim ws As Worksheet 
    Dim Source As Range 
    Dim Dest As Range 

    Set ws = Worksheets("Your DDE Data Sheet") 

    With ws 
     Set Source = ws.Range("A2:E2") 
     Set Dest = .Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0).Resize(1, Source.Columns.Count) 
    End With 

    Dest.Value = Source.Value 
End Sub 

이 기록 데이터 목록의 하단에 세포를 복사한다 A2:E2 R의 변경마다 A2 (MT4에서 타임 스탬프).

참고 : OP에서 매 밀리 초를 업데이트한다고 말합니다. MT4|TIME이 1 초의 해상도를 갖는 DateTime 시리얼을 반환하기 때문에 이런 일은 일어나지 않습니다. 그리고 그것이 일어날 수 있더라도, Excel 용으로 너무 많은 데이터가 처리 될 것입니다.

+0

정말 도움이됩니다. 나는 잠시 동안 VBA를 사용하지는 않았지만 나는 이것을 발사하고 내가 어떻게하는지 보게 될 것이다. 자세한 응답을 정말로 고맙게 생각합니다. – user2039871

+0

유료로 코드를 작성 하시겠습니까? 나는 그것을 작동시킬 수 없다. – user2039871

+0

나는 지금 당장 그렇게해야한다고 생각한다. 다른 질문을 게시하십시오. [guidlines를 따르십시오] (http://meta.stackexchange.com/q/156810/159408) 특히 시도한 코드를 게시하고 원하는대로하지 않는 방법을 설명하십시오.입력 및 출력 샘플 데이터를 보여주는 샘플 데이터 세트를 포함하십시오. 할 수 있으면 도와 줄께. –

0

FxOne.com의 플랫폼을 사용해 보시기 바랍니다.
30 일 동안 무료로 사용해 볼 수 있습니다. FXCM의 고객 인 경우 완전히 무료입니다.

VBA를 사용하지 않고 알고리즘 트레이딩에 완벽한 C++를 사용하기 때문에 Excel보다 더 강력합니다. VBA는 분석에는 적합하지만 거래에는 적합하지 않습니다. 나는 Excel이 충돌 할 때마다 정확히 찾고있는 것을 시도했다. 이 플랫폼으로 모든 것이 매우 매끄 럽습니다.

+0

추천 해 주셔서 감사합니다. 이것은 정말 멋진 플랫폼이며 필자는이를 자세히 살펴볼 것입니다. – user2039871