Amibroker
Tog i AFL biblioteket och kopierade ADXR allt utom den översta raden som anger datum. Tog och valde i amibroker Analysis indicator builder sedan där inne valde jag apply och klistarade in texten i den stora rutan och save formula, men får upp syntax error har även provat med den översta raden i koden få då in den men inget mer händer på skärmen kan inte annvända verktyget på aktier så att säga. Vad gör jag för fel ?
m v h
jag inser att jag kan ha blandat ihop en del, men faktum kvarstår det verkar inte funka här är skriptet
Buy: slope ADX > slope ADX threshold AND
ADX > ADX threshold + ADX histeresis AND
PDI > ADX + DI histeresis AND
slope PDI - slope MDI > slope DI threshold AND
PDI > ADX
Sell: {ADX > ADX threshold - ADX histeresis AND
PDI < ADX - DI histeresis} OR
MDI > PDI + DI histeresis
with optimization */
// ADX and PDI/MDI have different smoothing constants
// smoothing defined as a exponential daily average, not Wilder's nonsense
Aperiod=11;
Bperiod=13;
ADXthreshold=18;
dadxthr=0.5;
slpadxD=18;
slpadxthr=0.35;
dPM=3.5;
slppmD=3;
slpPMthr=-0.65;
//Aperiod=Optimize("Aperiod",13,11,15,1);
//Bperiod=Optimize("Bperiod",14,13,17,1);
//ADXthreshold=Optimize("ADXthreshold",17,16,18,0.25);
//dadxthr=Optimize("dADXthr",0.25,0,1.5,0.25);
//slpadxD=Optimize("slpadxD",12,18,22,1);
//slpadxthr=Optimize("slpadxthr",0.35,0.2,0.5,0.05);
//dPM=Optimize("dPM",1,3.5,4,0.2);
//slppmD=Optimize("slppmD",3,2,4,1);
//slpPMthr=Optimize("slpPMthr",-0.65,-1,-0.5,0.05);
Ppdi=PDI(Bperiod);
Mmdi=MDI(Bperiod);
dx=100*abs(Ppdi-Mmdi)/(Ppdi+Mmdi);
Aadx=EMA(dx,Aperiod);
slpadx=(Aadx-Ref(MA(Aadx,slpadxD),-1))/slpadxD;
slpPM=(Ppdi-Ref(EMA(Ppdi,slppmD),-1)-Mmdi+Ref(EMA(Mmdi,slppmD),-1))/slppmD;
Buy =slpadx>slpadxthr AND Aadx>ADXthreshold+dadxthr AND Ppdi>Mmdi+dPM AND slpPM>slpPMthr AND Ppdi>Aadx;
Sell=(Aadx>ADXthreshold-dadxthr AND Ppdi
Filter=Buy OR Sell;
Sell=ExRem(Sell,Buy); Buy=ExRem(Buy,Sell);
AddColumn(Buy,"Buy");
AddColumn(Sell,"sell");
AddColumn(Aadx,"Aadx");
AddColumn(slpPM,"slpPM");
AddColumn(BuyPrice,"BuyPrice");
AddColumn(SellPrice,"SellPrice"); /*ADX system
goldfreaz - 18 April 2002
Buy: slope ADX > slope ADX threshold and
ADX > ADX threshold + ADX histeresis and
PDI > ADX + DI histeresis and
slope PDI - slope MDI > slope DI threshold and
PDI > ADX
Sell: {ADX > ADX threshold - ADX histeresis and
PDI < ADX - DI histeresis} or
MDI > PDI + DI histeresis
with optimization */
// ADX and PDI/MDI have different smoothing constants
// smoothing defined as a exponential daily average, not Wilder's nonsense
Aperiod=11;
Bperiod=13;
ADXthreshold=18;
dadxthr=0.5;
slpadxD=18;
slpadxthr=0.35;
dPM=3.5;
slppmD=3;
slpPMthr=-0.65;
//Aperiod=Optimize("Aperiod",13,11,15,1);
//Bperiod=Optimize("Bperiod",14,13,17,1);
//ADXthreshold=Optimize("ADXthreshold",17,16,18,0.25);
//dadxthr=Optimize("dADXthr",0.25,0,1.5,0.25);
//slpadxD=Optimize("slpadxD",12,18,22,1);
//slpadxthr=Optimize("slpadxthr",0.35,0.2,0.5,0.05);
//dPM=Optimize("dPM",1,3.5,4,0.2);
//slppmD=Optimize("slppmD",3,2,4,1);
//slpPMthr=Optimize("slpPMthr",-0.65,-1,-0.5,0.05);
Ppdi=PDI(Bperiod);
Mmdi=MDI(Bperiod);
dx=100*abs(Ppdi-Mmdi)/(Ppdi+Mmdi);
Aadx=EMA(dx,Aperiod);
slpadx=(Aadx-Ref(MA(Aadx,slpadxD),-1))/slpadxD;
slpPM=(Ppdi-Ref(EMA(Ppdi,slppmD),-1)-Mmdi+Ref(EMA(Mmdi,slppmD),-1))/slppmD;
Buy =slpadx>slpadxthr AND Aadx>ADXthreshold+dadxthr AND Ppdi>Mmdi+dPM AND slpPM>slpPMthr AND Ppdi>Aadx;
Sell=(Aadx>ADXthreshold-dadxthr AND Ppdi
Filter=Buy OR Sell;
Sell=ExRem(Sell,Buy); Buy=ExRem(Buy,Sell);
AddColumn(Buy,"Buy");
AddColumn(Sell,"sell");
AddColumn(Aadx,"Aadx");
AddColumn(slpPM,"slpPM");
AddColumn(BuyPrice,"BuyPrice");
AddColumn(SellPrice,"SellPrice");
allt som inte är vinst är förlust
Dels är det där inget chart script utan ett "explorer" script, dvs det skall köras i analysern (ev kan den gå i guru commentaryn), dels innehåller den en massa scripfel. Så det går inte att köra alls.
3# tror att jag förväxlade dem lite, detta är en kod som ritar ut trendlinjer eller nått sådant. du nämner att den innehåller en massa fel kan det vara det som gör det, varför får man lägga in sin kod i biblioteket om den inte är korrekt?
vad ska jag göra?
m v h
allt som inte är vinst är förlust
Nä, det scriptet ritar inte ut något, det är ingen chart script.
Det är ett analys script som identifierar köp och säljsignaler med hjälp av ADX, PDI och MDI. Den skall köras i automatic analysis (ev guru commentary) inte i ett chart.
Vad göra? Med det scriptet, med tanke på felen, inte mycket. Framförallt som det inte är ett chart script.
5# så med de felen är det världelöst?
brukar det vara så med skripten i afl biblioteket?
m v h
allt som inte är vinst är förlust
Det är det, och nej jag har aldrig stött på ett felaktigt script där förr.
7# ok tack för all din hjälp får senare prova med ett annat script.
m v h
allt som inte är vinst är förlust
Jag kan se ett fel, du tar tagit bort /* i början av scriptet. vilket gör att AB tror att koden startar direkt, och det gör den inte.
Sen kan resten bero på att AG i bland tolkat vissa tecken som HTML kod, dvs tar bort dom, så det är inte säkert din kod är fel när du väl lagt tillbaka /*
men som sagt ska du köra den får du göra det i commentaryn ellet analysern
även andra stycket saknar /* om jag inte blivit helt blind
här är en vad ska jag ta bort på denna för att den ska funka?
////////////////////////////
// Price with Woodies Pivots - Coded by Wring
// Amibroker 4.63.1
////////////////////////////
//
// Note: Turn on GridLine boxes "Middle" and "Show Dates"
// in the dialogue box just below
//
// Set the Background Colour to DarkOliveGreen
// Set the Axes Colour to White
//
////////////////////////////////////
// Calculate and plot Woodies Pivots
////////////////////////////////////
function Pivots()
{
TimeFrameSet(inDaily);
//global R1,R2,S1,S2,PP,ColorR,ColorS,ColorP;
PP = round((Ref(H,-1) + Ref(L,-1) + O*2) / 4);
R1 = (2 * PP) - Ref(L,-1);
S1 = (2 * PP) - Ref(H,-1);
R2 = (PP - S1) + R1;
S2 = PP - (R1 - S1);
TimeFrameRestore();
ColorR = colorRose; // Resistance Bars colour
ColorS = colorOrange; // Support Bars colour
ColorP = colorSkyblue; // Woodies Pivot colour
// set all pivots but last to close +5
// This is done to eliminate problems with autoscaling
//
for (i=0;i<(BarCount-2);i++)
{
PP[i] = H[i]+5;
R1[i] = H[i]+5;
R2[i] = H[i]+5;
S1[i] = H[i]+5;
S2[i] = H[i]+5;
}
//
// I want the pivot line to emerge as a straight line from the right
// side of the chart
//
for (i=BarCount-2;i>(BarCount-13);i--)//set the last bars to the final PP
value
{
PP[i] = PP[BarCount-1];
R1[i] = R1[BarCount-1];
R2[i] = R2[BarCount-1];
S1[i] = S1[BarCount-1];
S2[i] = S2[BarCount-1];
ColorR[i] = colorRose;
ColorS[i] = colorOrange;
ColorP[i] = colorSkyblue;
}
//
// Conceal all but the trailing portion of the line
//
for (i=0;i
ColorR[i] = ColorS[i] = ColorP[i] = colorDarkOliveGreen;
}
//
// If price is above or below current price by more than this
// amount then the pivot won't print. Trying to print offscreen
// values causes problems with autoscaling
//
tolerance = 25;
//
// Over how many bars should the tolerance be applied
//
range=30;
//
// set up some constants
//
LastBar = BarCount-1;
HiVal = HHV(H,range);
LoVal = LLV(L,range);
style = styleLine;
//
//only plot pivots close to price
//
if (PP[LastBar]<(HiVal[LastBar]+tolerance) AND
PP[LastBar]>(LoVal[LastBar]-tolerance))
{
// PlotOHLC(PP,PP,PP,PP,"PP",colorSkyblue);
Plot(PP,"PP",ColorP,style);
}
if (R1[LastBar]<(HiVal[LastBar]+tolerance) )//only plot pivots close to close
price
{
Plot(R1,"R1",ColorR,style);
}
if (R2[LastBar]<(HiVal[LastBar]+tolerance) )//only plot pivots close to close
price
{
Plot(R2,"R2",ColorR,style);
}
if (S1[LastBar] > (LoVal[LastBar]-tolerance) )//only plot pivots close to close
price
{
Plot(S1,"S1",ColorS,style);
}
if (S2[LastBar] > (LoVal[LastBar]-tolerance) )//only plot pivots close to close
price
{
Plot(S2,"S2",ColorS,style);
}
}
// Main Program starts here
////////////////////////////
// Price with Woodies Pivots
////////////////////////////
CCI14 = CCI(14);
LSMA = round(LinearReg( Close, 25 ));
// Plot Woodies Pivots
pivots();
// Setup the title
TitleStr = Interval(2) + " " + Name() + ", " +
EncodeColor(colorPink) +
"Price=" + H + ", " + L + ", " + C + ", " +
EncodeColor(colorTurquoise) + "34EMA" + ",\n" +
EncodeColor(colorYellow) + "25lsma" +
EncodeColor(colorCustom12) + ", " +
EncodeColor(colorWhite) + Date();
Title = TitleStr;
// Plot the price bars
PlotOHLC(O,H,L,C,"Price",
IIf(C >= Ref(C,-1),colorGreen,colorRed),styleCandle);
Plot(EMA(C,34),"ema34",colorTurquoise,styledashed | styleNoLabel);
Plot(LSMA,"lsma",colorYellow,styleLine | styleNoLabel);
Comments:
m v h
allt som inte är vinst är förlust
Den har jag tagit hem själv för att kolla hur han räknade sina pivots och den funkar.
Det var något du behövde ändra, en "styledashed" som min version av AB inte tog, men det ser du när du trycker apply.
12# slängde in den och fick då detta error meddelande
Line 59, Column 1:
//
for (i=BarCount-2;i>(BarCount-13);i--)//set the last bars to the final PP
value
{
^
Error 23.
Syntax error
ps. vad är det för skillnad att lägga in den i tex guru?
m v h
allt som inte är vinst är förlust
Så här ser koden ut när jag laddat ner den, och efter att ha bytt "styledashed", så funkar den hur bra som helst.
Guru commentaryn? Det är en analysfunktion som letar köp och säljsignaler och som plottar ut köp och säljpilar i AB's inbyggda prischart. Där kan man inte lägga in ett chart script. Skriptet du la in initialt hade gått att lägga in där (om det inte har scriptfel).
Det finns olika typer av script, "chart script", som du lägger in i Indicator builder/ custom charts och som ritar charts.
Samt "analys script" som letar köp och säljsignaler efter vissa kriteria,dessa kör du i Gurun eller Automatic analysis.
tips kan vara leta fram kortare script å börja med ,,lite lättare att hitta fel på några enstaka rader än på 50-100raders
14# hur vet man vilket script som är vilket?
ska prova att lägga in det igen, återkommer. bilden går inte att kopiera, vad har du ändrat från orginalet så jag kan ändra sama sak?
m v h
allt som inte är vinst är förlust
Inlägget är redigerat av författaren.
ja, hur vet man det. Står det "plot...... i scriptet så kan du räkna med att det är ett chart, står det Sell=.... och Buy=... så är det en analys. Du lär dig att se det. Annars så står det på AFL sidan om det är en indicator eller något annat.
Som jag skrev, får du ett error på raden där det står "styledashed" eller nått sånt (det är nån vecka sedan jag gjorde det) så byt ut det mot tex "styleline".
17# ok ska prova tack för alla bra svar jag fått.
m v h
allt som inte är vinst är förlust

Visa sida
Ogilla! 1
Gilla!
klistra in scriptet så vi kan se det