您現在的位置:程序化交易>> 期貨公式>> (MC)multicharts>> MC知識>>正文內容

前交易時段開/高/低/收 [MultiCharts MC]

  • 咨詢內容:版本: 6.0 Beta2 交易商品: NYMEX 原油期貨 (美國交易時間 18:00 - 隔日 17:15 相當於臺灣時間 6:00-隔日5:15)     程式 中需要取得前一交易時段開/高/低/收價 以進行計算,當然最直覺就想到OPEND/HIGHD/LOWD/CLOSED 等FUNCTION..   但 國外交易所的交易時間往往都有跨過每天00:00 ,結果透過OPEND/HIGHD/LOWD/CLOSED 等FUNCTION取得前一交易時段   開/高/低/收 價位時,卻發現MC 會在換日的時候當作是兩交易時段的分界...結果就抓到 前一日而非前一交易時段的開/高/低/收,   請問有另外的FUNCTION可以使用嗎? THANKS                

     

  • MC技術部:[發問] 前交易時段開/高/低/收 by 2010-02-05 17:38:120 昵稱:SeanWang信箱:不顯示成就:發文(3) / 回文(30) / 推薦(3)   恩.... 已經解決了。   解決方法如下(無論Time Zone 設為Exchange 或是 Local 都OK)..... 透過SESSION 函數很方便   新增 一個 Function 命名 為 $OHLCPeriodsAgo   Inputs:
     PeriodsAgo(numericsimple),
     oPeriodOpen(numericref),
     oPeriodHigh(numericref),
     oPeriodLow(numericref),
     oPeriodClose(numericref) ; Variables: Count(0) ; Arrays: arr0[4,5000](-1) ; // O/H/L/C if (PeriodsAgo > 5000 or BarType > 4) then //Only keep 5000 days of records
     begin
       oPeriodOpen = -1 ;
       oPeriodHigh = -1 ;
       oPeriodLow = -1 ;
       oPeriodClose = -1 ;
       $OHLCPeriodsAgo = -1 ;
     end
    else
     begin
                                                            
     For Value1 = 1 to SessionCount(0)-1 begin
         Condition1 = CurrentBar = 1 or (SessionEndDayMS(Value1) = DayofWeek(Date[1])) and (Time[1] <= SessionEndTimeMS(Value1))
                       AND
                      (SessionStartDayMS(Value1+1) = DayofWeek(Date)) and (Time >= SessionStartTimeMS(Value1+1));      if Condition1 then                                        
      begin
      Count = Count- 1 ;                                                     
      
      if Count <= -1 then Count = 5000                                    
      else
        arr0[2,Count] = H[1] ;
        arr0[3,Count] = L[1] ;
        arr0[4,Count] = C[1] ;
      end
         else
      begin
      arr0[1,Count - 1] = O;
      if H > arr0[2,Count] then arr0[2,Count] = H ;
      if L < arr0[3,Count] then arr0[3,Count] = L ;
      arr0[4,Count] = C[1] ;
      end ;
        
     end;  oPeriodOpen = arr0[1,Mod(Count + PeriodsAgo, 5001)] ;
     oPeriodHigh = arr0[2,Mod(Count + PeriodsAgo, 5001)] ;
     oPeriodLow = arr0[3,Mod(Count + PeriodsAgo, 5001)] ;
     oPeriodClose = arr0[4,Mod(Count+ PeriodsAgo, 5001)] ;  $OHLCPeriodsAgo = 1 ;
     
     end;   然後 ....   新增以下名為  $OpenD 的函數 inputs: PeriodsAgo( numericsimple ) ;
    variables: var1(0), var2(0), var3(0), var4(0) ; Value1 = $OHLCPeriodsAgo( PeriodsAgo, var1, var2, var3, var4 ) ; $OpenD = var1 ;   新增以下名為  $HighD 的函數 inputs: PeriodsAgo( numericsimple ) ;
    variables: var1(0), var2(0), var3(0), var4(0) ; Value1 = $OHLCPeriodsAgo( PeriodsAgo, var1, var2, var3, var4 ) ; $HighD = var2 ;   新增以下名為  $LowD 的函數 inputs: PeriodsAgo( numericsimple ) ;
    variables: var1(0), var2(0), var3(0), var4(0) ; Value1 = $OHLCPeriodsAgo( PeriodsAgo, var1, var2, var3, var4 ) ; $LowD = var3 ;   新增以下名為  $CloseD 的函數 inputs: PeriodsAgo( numericsimple ) ;
    variables: var1(0), var2(0), var3(0), var4(0) ; Value1 = $OHLCPeriodsAgo( PeriodsAgo, var1, var2, var3, var4 ) ; $CloseD = var4 ;
     

     

  • MC客服:感謝您的分享

     

  • MC客服:謝謝你幫我們實作出來當初有這個想法,一忙就沒去弄^^

     

  • MC客服:很實用的函數,先收下來,感謝分享~

【字體: 】【打印文章】【查看評論

相關文章

    沒有相關內容
主站蜘蛛池模板: 亚洲人成在线播放网站| 最好看最新日本中文字幕 | 亚洲国产品综合人成综合网站| 紧身短裙女教师波多野| 国产手机精品一区二区| a级毛片高清免费视频在线播放| 波多野结衣在公众被强| 国产乱国产乱老熟300部视频| 2022最新国产在线| 好男人www社区| 久久一日本道色综合久| 欧美一区二三区| 亚洲精品成人久久| 精品精品国产自在97香蕉| 国产成人a毛片在线| 911香蕉视频| 女同志videos| 中文字幕精品视频在线| 最近中文字幕免费mv在线视频| 亚洲精品tv久久久久久久久 | 亚洲一区二区三区影院| 激情综合丝袜美女一区二区| 国产AV天堂无码一区二区三区| 99久久免费国产香蕉麻豆| 扒开腿狂躁女人爽出白浆| 亚洲乱码一区二区三区在线观看| 狠狠色欧美亚洲综合色黑a| 四库影院永久在线精品| 香蕉视频在线观看网站| 尾野真知子日韩专区在线| 久久午夜无码鲁丝片直播午夜精品 | 五月综合色婷婷在线观看| 正能量www正能量免费网站| 全部免费a级毛片| 1024毛片基地| 天天看免费高清影视| 中文字幕一区二区三区精彩视频| 日韩不卡视频在线观看| 亚洲va乱码一区二区三区| 欧美激情(一区二区三区)| 伊人久久大香线蕉综合5g|