您現在的位置:程序化交易>> 期貨公式>> (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客服:很實用的函數,先收下來,感謝分享~

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

相關文章

    沒有相關內容
主站蜘蛛池模板: 免费无码成人片| 青娱乐在线视频免费观看| 色网站在线播放| 玖玖在线资源站| 桃花视频性视频| 无限在线观看下载免费视频| 性色欲情网站iwww| 在线观看成年人| 国产精品亚洲二区在线| 国产日产精品_国产精品毛片| 国产乱子伦真实china| 吃奶摸下激烈视频无遮挡| 免费人成视频在线观看网站| 久草这里只有精品| 中国china体内裑精亚洲日本| 18禁止看的免费污网站| 蜜桃成熟时仙子| 直接观看黄网站免费视频| 欧美乱妇高清无乱码在线观看 | 国产精品jizz在线观看直播 | 四月婷婷七月婷婷综合| 免费一级国产大片| 亚洲成av人片在线观看无码| 亚洲欧美日韩天堂在线观看| 亚洲乱亚洲乱少妇无码| 亚洲一区二区三区久久久久| 久久久综合中文字幕久久| 一级毛片一级毛片一级级毛片 | 亚洲精品中文字幕无码AV| 云上的日子在线| 一个人看的视频在线| 婷婷综合五月天| 精品久久一区二区三区| 日韩高清在线日韩大片观看网址| 好深好爽办公室做视频| 国产区综合另类亚洲欧美| 小妇人电影中文在线观看| 国产激情无码一区二区app| 伊甸园在线观看国产| 久久精品国产四虎| A级毛片成人网站免费看|