2013-04-14 32 views
1

我發現這.. ..它張貼在Amibroker編輯..保存..進一步調查後發現..它只會在未來的工作在代碼中的if語句上市..我想看到這個股票..任何想法..如何編程這個指標腳本來處理股票,而不僅僅是期貨

// ACD Plot 
// LSMA is Linreg 
// ACD.afl 
// v 1.2 9/13/2004 

SetChartBkColor(16); 

Per = Param("Periods",13); 
Per2 = Param("Periods 2",34); 
LSMAPer = Param("LMSA Period",25); 
Offset = Param("A Level",1); 
ACDFlag = 0; 
IntervalFlag = IIf(Interval(format=0)==300,1,0); 

strInterval = Interval(format=2); 

strWeekday = StrMid("SunMonTueWedThuFriSat", SelectedValue(DayOfWeek())*3,3); 


if(StrFind(Name(), "YM")) 
{ 
    ACDOffset = 10; 
    ACDFlag = 1; 
    ACDTime = 94500; 
} 

if(StrFind(Name(), "ER")) 
{ 
    ACDOffset = 0.5; 
    ACDFlag = 1; 
    ACDTime = 93500; 
} 

if(StrFind(Name(), "ES")) 
{ 
    ACDOffset = 2; 
    ACDFlag = 1; 
    ACDTime = 94500; 
} 

if(StrFind(Name(), "NQ")) 
{ 
    ACDOffset = 3; 
    ACDFlag = 1; 
    ACDTime = 94500; 
} 

if(StrFind(Name(), "ZB")) 
{ 
    ACDOffset = 0.15; 
    ACDFlag = 1; 
    ACDTime = 83000; 
} 

if(StrFind(Name(), "ZN")) 
{ 
    ACDOffset = 0.15; 
    ACDFlag = 1; 
    ACDTime = 83000; 
} 

GraphXSpace = 1; 
Shift = 2; 

// calculate the pivot range 
PDH = TimeFrameGetPrice("H", inDaily, -1); // gives previous Day High when working on intraday data 
PDL = TimeFrameGetPrice("L", inDaily, -1); 
PDC = TimeFrameGetPrice("C", inDaily, -1); 
PP = (PDH+PDL+PDC)/3; 

DIFF = abs((PDH+PDL)/2 - PP); 
PRHi = PP + DIFF; 
PRLo = PP - DIFF; 

EMA1 = EMA(Avg,Per); 
EMA2 = EMA(Avg,Per2); 
LSMA = LinearReg(Avg, LSMAPer); 

Plot(C, "Close",colorWhite,styleCandle); 


if (ACDFlag AND IntervalFlag) { 
    ORHigh= ValueWhen(TimeNum()<ACDTime,HighestSince(DateNum()>Ref(DateNum(),-1),High)); 
    ORLow = ValueWhen(TimeNum()<ACDTime,LowestSince(DateNum()>Ref(DateNum(),-1), Low)); 

    Plot(PRHi,"PRHigh",colorWhite,styleDots+styleNoLine+styleNoLabel); 
    Plot(PRLo,"PRLow",colorWhite,styleDots+styleNoLine+styleNoLabel); 
    Plot(ORHigh,"ORHigh",colorBlue,style=styleStaircase+styleDots+styleNoLine+styleNoLabel); 
    Plot(ORLow,"ORLow",colorBlue,style=styleStaircase+styleDots+styleNoLine+styleNoLabel); 
    Plot(ORHigh+ACDOffset,"AUp",colorYellow,style=styleStaircase+styleDots+styleNoLine); 
    Plot(ORLow-ACDOffset,"ADn",colorYellow,style=styleStaircase+styleDots+styleNoLine); 
    // Plot(LSMA, "LSMA", colorYellow,style=styleThick); 
} 

Title=Name()+" ["+strInterval+"] "+ strWeekday + " " +Date()+ " Close: " 
+WriteVal(C,format=1.2) +" "+WriteVal(per,format=1.0)+"-Per MA: " 
+WriteVal(EMA1,format=1.2)+" " + WriteVal(per2,format=1.0)+"-Per MA: " 
+WriteVal(EMA2,format=1.2) + " PR High: "+WriteVal(PRHi,format=1.2) + " PR Low: " 
+WriteVal(PRLo,format=1.2); 
+1

爲什麼你不問阿米布羅克支持? – mjuarez

回答

1

這是我在Amibroker論壇得到的迴應..想我會分享答案..

這既是指標,也是一個探索(然而 - 這段代碼使用的是非常古老的方法,現在使用PLOT或ADDCOLUMN函數代替這個過時的codi要方便得多NG風格)

,只是有公式中的一些錯誤,因爲它使用分配,而不是平等的檢查,所以你需要更換:

希洛= IIF(HLV = -1,

希洛= IIF(HLV == -1,

相同與 - HiLoInvert = IIF(HLV = -1,

這是因爲==(雙=)是用於equalit操作者檢查。

相關問題