COCO研究院

 找回密碼
 註冊
搜索
查看: 2438|回復: 0

CloseM 一些問題

[複製鏈接]
發表於 17-8-15 01:41 | 顯示全部樓層 |閱讀模式
在海期上 讀取到的數值不對

月初會有問題
還要修改哪邊

Inputs:
     PeriodsAgo(numericsimple),
     oPeriodOpen(numericref),
     oPeriodHigh(numericref),
     oPeriodLow(numericref),
     oPeriodClose(numericref) ;
Variables: Count(0) ;
Arrays: arr0[4,500](-1) ; // O/H/L/C
IF (PeriodsAgo > 500 or BarType > 4) Then //Only keep 500 days of records
     BEgin
       oPeriodOpen = -1 ;
       oPeriodHigh = -1 ;
       oPeriodLow = -1 ;
       oPeriodClose = -1 ;
       $OHLCPeriodsAgo_M = -1 ;
     ENd
ELSE
     BEgin
          For Value1 = 1 to SessionCount(0)
          begin
           If Value1 < SessionCount(0) then  
              Value2 = Value1 + 1
           else
             Value2 = 1;   
           Condition1 = (SessionEndDayMS(Value1) = DayOfMonth(Date[1])) and (Time[1] <= SessionEndTimeMS(Value1))
                        AND
                       (SessionStartDayMS(Value2) = DayOfMonth(Date)) and (Time >= SessionStartTimeMS(Value2));
           //Condition1 = (Time[1] <= SessionEndTimeMS(Value1)) AND (Time >= SessionStartTimeMS(Value2));
           if Condition1 then                                         
           begin
             Count = Count - 1 ;                                                      
             if Count <= -1 then Count = 500;                                    
                     arr0[1,Count] = O ;
                     arr0[2,Count] = H ;
             arr0[3,Count] = L ;
             arr0[4,Count] = C ;
           end
           else
           begin
              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];
            if PeriodsAgo = 0 then arr0[4,Count] = C;
           end ;
       end;
       oPeriodOpen = arr0[1,Mod(Count + PeriodsAgo, 501)] ;
       oPeriodHigh = arr0[2,Mod(Count + PeriodsAgo, 501)] ;
       oPeriodLow = arr0[3,Mod(Count + PeriodsAgo, 501)] ;
        oPeriodClose = arr0[4,Mod(Count + PeriodsAgo, 501)] ;
       $OHLCPeriodsAgo_M = 1 ;
     ENd;
IF False THEN Value1 = $OHLCPeriodsAgo_M[1] ;

__________


inputs: PeriodsAgo( numericsimple ) ;
variables: var1(0), var2(0), var3(0), var4(0) ;
Value1 = $OHLCPeriodsAgo_M( PeriodsAgo, var1, var2, var3, var4 ) ;
$Closem = var4 ;


您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

手機版|Archiver|站長信箱|廣告洽詢|COCO研究院

GMT+8, 24-11-2 18:17

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回復 返回頂部 返回列表
理財討論網站 |