2013-04-14 5 views
1

나는 이것을 Amibroker 편집자에게 게시했습니다 .. 저장되었습니다 .. 더 자세히 조사한 결과 .. 미래에 대해서만 작동 할 것입니다. 코드 내에서 경우 문에 나와 있습니다 .. 내가이 표시기 스크립트를 프로그래밍하여 선물뿐 아니라 주식과 함께 작동하도록하는 방법

// 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

Amibroker 지원을 요청하지 않는 이유는 무엇입니까? – mjuarez

답변

1

이 .. 내가 대답을 공유 할 것이라고 생각 나는 Amibroker 포럼에서 얻은 응답은 .. 주식 .. 어떤 아이디어이를보고 싶습니다 ..

이 코드는 매우 오래된 접근 방식을 사용하지만 이제는이 오래된 코드 대신 PLOT 또는 ADDCOLUMN 함수를 사용하는 것이 훨씬 편리합니다. NG 스타일) 대신 평등 검사의 할당을 사용하기 때문에 당신은 교체해야하므로

는, 공식 단지 몇 가지 오류가 있습니다

힐로 =하여 IIf (HLv = -1,

힐로 =하여 IIf (HLv의 == -1

동일 - == (더블 =)가 equalit 사용 오퍼레이터 때문에 HiLoInvert =하여 IIf (HLv = -1

은 y 수표.