Hallo,
Graag zou ik willen weten of het mogelijk is om meerdere positie?s naast elkaar te kunnen hebben. B.v. op 3 september ga ik short, en op 6 september weer terwijl de eerste nog niet gesloten is.
Mijn bedoeling is om het aantal transactie?s naar Excel te exporteren. Het liefts met aan en verkoop prijzen erbij.
Wat heb ik zelf al geprobeerd?
-Gezocht op het forum.
-De VestiCode handleiding doorgezocht. Het enige wat ik heb kunnen vinden is het volgende:
Indien een vEnterLong functie wordt aangeroepen, en de huidige positie is reeds long, dan wordt de long positie verder vergroot, tenzij de instelling 'Positie Uitbreiden' is gedeactiveerd. Hetzelfde geldt voor vEnterShort bij een bestaande short positie.
Als ik op Positie Uitbreiden klik krijg ik dit: Pyramiding oftewel positie uitbreiden Op dit moment is pyramiding nog niet ondersteund in VestiCode ?
Maar misschien is de handleiding nog niet up to date? Ik heb namelijk ook niets kunnen vinden over ?buy? en ?sell?.
Een aantal uren ben ik zelf al aan het experimenteren geweest. Maar ik denk dat ik er een puinhoop van heb gemaakt.
###############################
value function zStochexceltest (value xADXBars=14,value xNeutral=20,value xStochBars=5,
value xSlowK=3,value xSlowD=3,) begin
value xADX,xHH[],xLL[],xSum1[],xSum2[],xAvgD[],xK[],xExitprice,xOpenShortPut=0,
xOpenShortCall=0,xCloseShortPut=0,xCloseShortCall=0,xentrydate,xkoop,xstartdatum;
{---Calculate ADX---}
xADX := ADXCustom(High,Low,Close,xADXBars);
{---Calculate Stochastic---}
xHH :=Highest(High,xStochBars);
xLL :=Lowest(Low,xStochBars);
xSum1 :=summation((Close-xLL),xSlowK);
xSum2 :=summation((xHH-xLL),xSlowK);
xK :=(xSum1/xSum2)*100;
xAvgD:=Average(xK,xSlowD);
{---Do the plottings---}
plot1(xK,'K%');
plot2(xAvgD,'xAvgD');
plot3(xADX,'xADX');
plot4(20);
{---Strategy---}
{---open short put---}
if xADX<20 and xK<20 and xK crosses above xAvgD then begin
xOpenShortPut:=1;
xStartDatum := EntryDate(1); ?
Print(File('c:\signalen.txt'), date ,",",
' Open Short Put ?',",",close,",",' Close ',",", xkoop ,
",",+NewLine);
end;
{---open short call---}
if xADX<20 and xK>80 and xK crosses below xAvgD then begin
xOpenShortCall:=1;
xStartDatum := EntryDate(2);
Print(File('c:\signalen.txt'), date ,",",
' Open Short Call ?',",",close,",",' Close ',",", xkoop ,
",",+NewLine);
end;
{---Close all position if ADX >20---}
if xStartDatum>0 and xOpenShortPut=1 or xOpenShortCall=1 and xADX>20 then begin
Print(File('c:\signalen.txt'), date ,",",
' Close all position(s). ADX a b o v e 20% ?',",",close,",",' Close ',",", xentrydate ,
",",+NewLine);
xOpenShortPut=0;
xOpenShortCall=0;
end;
{---Close Short Call if cross <80---}
if xOpenShortCall=1 and xK<80 and xK crosses above xAvgD then begin
Print(File('c:\signalen.txt'), date ,",",
' Close SHORT CALL. Stoch ADX crossing below 80%',",",close,",",' Close ',",", xkoop ,
",",+NewLine);
xOpenShortCall=0;
end;
{---Close Short Put if cross >20---}
if xOpenShortPut=1 and xK>20 and xK crosses below xAvgD then begin
Print(File('c:\signalen.txt'), date ,",",
' Close SHORT PUT. Stoch ADX crossing above 20%',",",close,",",' Close ',",", xkoop ,
",",+NewLine);
xOpenShortPut=0;
end;
end;
end;
##########################
Met deze code krijg je bij ASMI op 21-aug en op 23 aug een koopsignaal. Als ik met de entershort of buy werk wordt de positie van 21 augustus afgesloten voordat de positie op 23 augustus wordt ingenomen.
Wat ik graag zou willen zien in Excel zijn de transacties met b.v, :
Datum, Soort actie ( b.v. short call/put, sluiten i.v.m. crossing etc.), Aankoopprijs, rendement.
Hopelijk wil ik niet teveel
Met vriendelijke groet,
Gerard