Jag tror jag har fipplat till?
Jag tror jag har fipplat till en av dom mer stabila omx strategierna,, kommer under ett antal bilder,, samma inputs på dom alla,, faktiskt förvånad hur samma strategi kan hålla sig över tid,, tyvärr får ni inte strategin men det kan kanske fungera som morot till någon iaf att jobba på och man kanske kan finna en edge ;)..
mvh PQ..
86-90 i första bilden
94-98
98-02
02-03
1986 till 2004
ndx 01-04
spx 01-04
och det roliga är att det är tre rader kod ;)
>30 rader kod men har lite svårt för konsolideringar...
Mvh/Therookie
9# mycket fin kurva compound eller lika ser iofs ut som lika bet ,, men iaf ett bra sätt att döda konsoller är att ha t.ex en trough över ett ma och sedan inte köpa förren toppen på nästa peak är tagen..
mvh PQ..
all heders på dig att det är intra dag oxå mycket svårare :)..
har en sådan där killer i garaget oxå ,,enda och största kruxet är om man får fills och är isad nog utan stoppar ;)
men det blir en del affärer
fast min scalpare kan nog hålla måttet för den som orkar.. C 60 min
dis60min
eller varför inte msft,, hatobjektet nr1
kanske synd att jag tycker det är roligare att utveckla strategier än att trada dom :(
och en strategi free för den som vill ha är i WL format så tyd och trada ;) funkar bara omx ,halvbra på oex men kör hårt..
{$I 'PFE'}
{#Optvar1 60;30;70;5}
{#Optvar2 70;30;70;5}
{#Optvar3 1;1;10;1}
var Bar,PFEPane, PFESer, p: integer;
PFESer := PFESeries(#Close,#Optvar1,4);
PlotSeries( WMASeries( #Close, 70 ), 0, #Green, #Thick );
for Bar := 70 to BarCount - 1 do
begin
if LastPositionActive then
begin
p := LastPosition;
if PositionLong( p ) then
begin
SellAtStop( Bar + 1, Lowest( Bar, #Low, 2 ), p, 'Stop' );
end;
if PositionShort( p ) then
begin
CoverAtStop( Bar + 1, Highest( Bar, #High, 2 ), p, 'Stop' );
end;
end
else
begin
if not LastPositionActive then
begin
if WMA( Bar, #Close, #OptVar2 ) > WMA( Bar - #Optvar3, #Close, #OptVar2 ) then
if @PFESer[Bar]>50 then
begin
BuyAtStop( Bar + 1, Highest( Bar, #High, 3 ), '0' );
end;
end;
if not LastPositionActive then
begin
if WMA( Bar, #Close, #OptVar2 ) < WMA( Bar - #Optvar3, #Close, #OptVar2 ) then
if @PFESer[Bar]<50 then
begin
ShortAtStop( Bar + 1, Lowest( Bar, #Low, 3 ), '3' );
end;
end;
end;
end;
PFEPane := CreatePane( 100, true, true );
PlotSeries( PFESer, PFEPane, 0, 0);
eller en släkting till föregående me som sagt till allt annat än omx är dom här nästan värdelösa:
var Bar, p: integer;
PlotSeries( HighestSeries( #High, 3 ), 0, #Red, #Thin );
PlotSeries( WMASeries( #Close, 70 ), 0, #Green, #Thick );
PlotSeries( LowestSeries( #Low, 2 ), 0, #Blue, #Thin );
PlotSeries( LowestSeries( #Low, 3 ), 0, #Blue, #Thin );
PlotSeries( HighestSeries( #High, 2 ), 0, #Red, #Thin );
for Bar := 70 to BarCount - 1 do
begin
if LastPositionActive then
begin
p := LastPosition;
if PositionLong( p ) then
begin
SellAtStop( Bar + 1, Lowest( Bar, #Low, 2 ), p, 'Stop' );
end;
if PositionShort( p ) then
begin
CoverAtStop( Bar + 1, Highest( Bar, #High, 2 ), p, 'Stop' );
end;
end
else
begin
if not LastPositionActive then
begin
if WMA( Bar, #Close, 70 ) > WMA( Bar - 10, #Close, 70 ) then
begin
BuyAtStop( Bar + 1, Highest( Bar, #High, 3 ), '0' );
end;
end;
if not LastPositionActive then
begin
if WMA( Bar, #Close, 70 ) < WMA( Bar - 10, #Close, 70 ) then
begin
ShortAtStop( Bar + 1, Lowest( Bar, #Low, 3 ), '3' );
end;
end;
end;
end;
en till för den som vill klura och gillar omx obs mycket skräp lämnat här å där i koden men en till funkus i omx:
{$I 'PFE'}
{#OptVar1 4;4;21;1} //stoch%K
{#OptVar2 0.1;1;2;1} //Uppewrthreshhold
{#OptVar3 -0.1;-1;-2;1} //Lowerthreshhold
{#OptVar4 100;50;200;10} //ma
{#OptVar5 60;50;70;10} //ma
{#OptVar6 40;30;50;10} //ma
var Bar,PFESer: integer;
var StopLossPrice: float;
var BullTrend, BearTrend, Oversold, Overbought: boolean;
// Set trade system variables
InstallTimeBasedExit(10);
InstallProfitTarget(5);
InstallbreakevenStop(2);
//Installstoploss(2);
InstallTrailingStop(0.5,2);
PFESer := PFESeries(#Close,70,4);
for Bar := 150 to BarCount() - 1 do
begin
// determine trend
BearTrend := false;
BullTrend := false;
if ema(bar,#close,#OptVar4) < ema(bar-1,#close,#OptVar4) then
//if @PFESer[Bar]<1 then
begin
BearTrend := true;
SetBarColor(Bar, #Red);
end;
if ema(bar,#close,#OptVar4) > ema(bar-1,#close,#OptVar4) then
//if @PFESer[Bar]>99 then
begin
BullTrend := true;
SetBarColor(Bar, #Green);
end;
// determine oversold, overbought
Overbought := false;
Oversold := false;
if ( ROC(Bar,#close,#Optvar1 ) > #OptVar2 ) or
( ROC(Bar-1,#close,#Optvar1 ) > #OptVar2 ) then
//if williamsR(bar,4) > #OptVar5 then
//if stochrsi(bar,#close,9) > 50 then
Overbought := true;
if ( ROC(Bar,#close,#Optvar1 ) < #OptVar3 ) or
( ROC(Bar-1,#close,#Optvar1 ) < #OptVar3 ) then
//if williamsR(bar,4) < #OptVar6 then
//if stochrsi(bar,#close,9) < 50 then
Oversold := true;
// determine short or long setup
if BearTrend and Overbought then
SetBackgroundColor(Bar, #RedBkg);
if BullTrend and Oversold then
SetBackgroundColor(Bar, #GreenBkg);
if LastPositionActive() then
begin
ApplyAutoStops(Bar);
if PositionShort( LastPosition() ) then
begin
// stop loss above high of entry bar-1
StopLossPrice := PriceHigh(
PositionEntryBar( LastPosition() )-1 )
+ 0.05;
CoverAtStop( Bar+1, StopLossPrice,
LastPosition(), 'Stop Loss Exit' );
end
else
begin
// stop loss below low of entry bar-1
StopLossPrice := PriceLow(PositionEntryBar(
LastPosition() )-1 ) - 0.05;
SellAtStop( Bar+1, StopLossPrice,
LastPosition(), 'Stop Loss Exit' );
end;
end
else
// Entry Rules
begin
if (BearTrend and Overbought and
((PriceHigh(Bar)-PriceLow(Bar))
/PriceLow(Bar)<0.06)) then
ShortAtStop( Bar + 1, PriceLow( Bar )
-0.05, 'Short Entry' );
if (BullTrend and Oversold and
((PriceHigh(Bar)-PriceLow(Bar))
/PriceLow(Bar)<0.06)) then
BuyAtStop( Bar + 1, PriceHigh( Bar )
+0.05, 'Long Entry' );
end;
end;
// Chart Stuff
HideVolume;
PlotStops;
var xStochF: float;
var Pane2: integer;
Pane2 := CreatePane( 80,true,false );
PlotSeries( StochKSeries( 6 ), Pane2,
#Purple, #Thin );
xStochF := StochK( BarCount - 1, 6 );
DrawText('Fast StochK(6) ' + FormatFloat( '#,##0.00',
xStochF ), Pane2, 4, 4, #Purple, 8 );
xStochF := StochD( BarCount - 1, 6, 1 );
DrawHorzLine( 40, Pane2, 777, #Dotted );
DrawHorzLine( 60, Pane2, 777, #Dotted );

Visa sida
Ogilla! 7
Gilla!
90-94