|
本帖最後由 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[value2-1],Time[value2-1],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[value2-1],Time[value2-1],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[value2-1],Time[value2-1],var2);//設置變量3的趨勢線的起點
TL_SetEnd(var3,Date,Time,var1);//設置變量3的趨勢線的終點
end;//結束
|
|