Ik snap wel wat je wilt (denk ik), maar het kan niet door via Trading simulatie de startdatum op te geven. Je moet dan in de indicator zelf een startdatum opgeven zodat de indicator pas vanaf die datum signalen geeft..
{- Filename: Bakstenen koop op vaste dag systeem -}
var
i: integer;
dOpen, DofW, dStart: integer;
nTakeProfit, nStopLoss, EntryPrice: real;
Long, First: boolean;
begin
dOpen := 2 + CreateParameterSelect('Open koop dag', 'Maandag'#9'Dinsdag'#9'Woensdag'#9'Donderdag'#9'Vrijdag', 0, true);
nTakeProfit := CreateParameterReal('Take profit (pt)', 0, 9999, 0.1, true);
nStopLoss := CreateParameterReal('Stop loss (pt)', 0, 9999, 9999, true);
dStart := trunc(CreateParameterDate('Startdatum', EncodeDate(2020,1,1)));
{ Indicator eigenschappen }
with Indicator do
begin
RequiredBars := 10000;
NewBand := false;
ScaleRange := srAuto; // indicatorschaal automatisch
SignalView := svShowInMain;
AdvancedTrades := true;
end;
{ Berekening }
for i:=0 to BarCount-1 do
begin
DofW := DayOfWeek(DateTime[i]);
if Long then
begin
if (High[i] > EntryPrice + nTakeProfit) then
begin
if ExitLongLimit(i, EntryPrice + nTakeProfit) then
Long := false;
end else
if (Low[i] < EntryPrice - nStopLoss) then
begin
if ExitLongStop(i, EntryPrice - nStopLoss) then
Long := false;
end;
end else
if not First and (dOpen = DofW) and (DateTime[i] >= dStart) then
begin
First := true;
EnterLongAtOpen(i);
Long := true;
EntryPrice := Open[i];
end;
if dOpen <> DofW then First := false;
end;
end.
Eric,
iemand vroeg aan mij of het mogelijk is om uit te rekenen als je b.v elke maand of kwartaal een ETF op de AEX koopt, nu heb ik deze indicator gebruikt, en de instellingen zoals plaatje ingesteld, maar toch sluit WS de trades,, grafiek is een dag grafiek.
Hoe kan ik b.v instellen dat elke maand/kwartaal iets van de AEX gekocht wordt,zonder te verkopen
{- Filename: Bakstenen koop elke maand bij systeem -}
var
dStart, i, DD, MM, YY, CurMon, PrevMon: integer;
begin
dStart := trunc(CreateParameterDate('Startdatum', EncodeDate(2020,1,1)));
{ Indicator eigenschappen }
with Indicator do
begin
RequiredBars := 100;
NewBand := false;
ScaleRange := srAuto; // indicatorschaal automatisch
SignalView := svShowInMain;
AdvancedTrades := true;
StackedSignals := true;
end;
{ Berekening }
for i:=0 to BarCount-1 do
begin
if DateTime[i] >= dStart then
begin
DecodeDate(DateTime[i], YY, MM, DD);
CurMon := 12*YY + MM;
if CurMon <> PrevMon then
begin
EnterLong(i);
PrevMon := CurMon;
end;
end;
end;
end.