qingxinguayu 發表於 22-9-8 11:10

求教,怎麼樣把過去特定時間點累加到當前時間的周期數作...

本帖最後由 qingxinguayu 於 22-9-8 11:17 編輯

下面這個公式編譯能通過,使用時出現提示"試圖引用未來數據-1"的錯誤消息.想不出可以修改的辦法,希望大神們出手相助,指點迷津.衷心感謝!
inputs:
      Price((H+L)/2),//價格類型
      StartDate_YYMMDD(0),//開始日期
      StartTime_HHMM(0),//開始時間
      Color(Yellow),//顏色
      ExtRight(true);//延伸選項

variables:
      var0(iff(StartDate_YYMMDD<500000,StartDate_YYMMDD+1000000,
      StartDate_YYMMDD)),//變量0初始值設為符合開始日期的二選一條件值
      var1(0),//變量1初始值設為0
      var2(0),//變量2初始值設為0
      var3(0),//變量3初始值設為0
      var4(0);//變量4初始值設為0
      
if Date = StartDate_YYMMDD and Time = StartTime_HHMM then value1 = currentbar ;//如果日期為開始日期並且時間為開始時間 那麼將內置變量1設置為當前K線編號
value2=currentbar - value1; //內置變量2等於當前K線編號減去內置變量1

if var4=0 then //如果變量4為0 那麼
      begin //開始
      condition1=var0=1000000 and LastBarOnChart;//條件1等於變量0等於1000000 並且當前K線為圖形裡最後一根
      if condition1 then // 如果條件1成立 那麼
                begin //開始
                var1=LinearRegValue(Price,value2,0);//變量1的線性回歸值
                var2=LinearRegValue(Price,value2,value2-1);//變量2的線性回歸值
                var3=TL_New(Date,Time,var2,Date,Time,
                var1);//趨勢線變量1和變量2組成的趨勢線
                var4=1;//將變量4賦值為1
                end //結束
      else //否則
      begin //開始
      condition1=Date=var0 and (Time=StartTime_HHMM or StartTime_HHMM=0);//條件1等於現在日期等於變量0並且(時間等於開始時間或者開始時間參數為零)
      if condition1 then //如果條件1成立 那麼
                begin //開始
                var1=LinearRegValue(Price,value2,0);//變量1的線性回歸值
                var2=LinearRegValue(Price,value2,value2-1);//變量2的線性回歸值
                var3=TL_New(Date,Time,var2,Date,Time,
                var1);//趨勢線變量1和變量2組成的趨勢線
                var4=2;//將變量4賦值為2
                end;//結束
      end;//結束
      condition1=var4=1 or var4=2;//條件1為(var4等於1或者var4等於2)的任意一個值
      if condition1 then //如果條件1成立 那麼
                begin //開始
                TL_SetColor(var3,Color); //設置變量3的趨勢線顏色
                TL_SetExtLeft(var3,false);//設置變量3的趨勢線向左延伸為否
                if ExtRight then //如果向右延伸成立 那麼
                        TL_SetExtRight(var3,true) //設置變量3的趨勢線向右邊延伸為真
                else //否則
                        TL_SetExtRight(var3,false);//設置變量3的趨勢線右延伸為否
                end;//結束
      end // 結束
else if var4=1 then //否則 如果變量4為1 那麼
      begin //開始
      var1=LinearRegValue(Price,value2,0); //變量1的線性回歸值
      var2=LinearRegValue(Price,value2,value2-1);//變量2的線性回歸值
      TL_SetBegin(var3,Date,Time,var2);//設置變量3的趨勢線的起點
      TL_SetEnd(var3,Date,Time,var1);//設置變量3的趨勢線的終點
      end;//結束


qingxinguayu 發表於 22-9-15 09:03

已經解決,謝謝兄弟姐妹們.
頁: [1]
查看完整版本: 求教,怎麼樣把過去特定時間點累加到當前時間的周期數作...