Register


Results 1 to 15 of 20
Page 1 of 2 1 2 LastLast

Thread: En vinst robot???

  1. #1
    ghozt is offline Member
    Join Date
    Sep 2010
    Posts
    9

    En vinst robot???

    Hej alla intresserade!

    Har kodat en liten robot som tradar GBPUSD på 4H charts.
    Den har visat bra avkastning. Vad anser ni om automatiserad handel?

    För mig tror jag att det är det enda sättet då jag inte vill sitta framför datorn
    24/7.

    Bifogar statement för roboten. Kommentarer????

    //Ghozt
    ///////////////////////////////////////////////////////////////////////////////////////

    Bars in test 3367
    Ticks modelled 19243918
    Modelling quality 90.00%
    Mismatched charts errors 3
    Initial deposit 1000.00
    Total net profit 3799.80
    Gross profit 4147.38
    Gross loss -347.58
    Profit factor 11.93
    Expected payoff 49.35
    Absolute drawdown 312.25
    Maximal drawdown 865.55 (40.13%)
    Relative drawdown 48.62% (716.10)
    Total trades 77
    Short positions (won %) 46 (60.87%)
    Long positions (won %) 31 (90.32%)
    Profit trades (% of total) 56 (72.73%)
    Loss trades (% of total) 21 (27.27%)
    Largest
    profit trade 552.82
    loss trade -52.31
    Average
    profit trade 74.06
    loss trade -16.55
    Maximum
    consecutive wins (profit in money) 11 (944.47)
    consecutive losses (loss in money) 4 (-150.72)
    Maximal
    consecutive profit (count of wins) 944.47 (11)
    consecutive loss (count of losses) -150.72 (4)
    Average
    consecutive wins 4
    consecutive losses 2

    //////////////////////////////////////////////////////////////////////////////////////

  2. #2
    Alejandro Zambrano's Avatar
    Alejandro Zambrano is offline DailyFX Moderator
    Join Date
    Feb 2010
    Posts
    16,736
    Blog Entries
    1

    Att analysera en strategi

    Jag tänkte med detta inlägg visa hur man kan analysera en strategi.


    1. Total trades 77
    2. Profit trades (% of total) 56 (72.73%)
    3. Loss trades (% of total) 21 (27.27%)
    4. Average profit trade 74.06
    5. Average loss trade -16.55
    6. RR 4,49
    7. Initial deposit 1000
    8. Total net profit 3799
    9. Relative drawdown 48.62% (716.10)
    10. Average consecutive wins 4
    11. Average consecutive losses 2


    Jag tog mig friheten att rensa upp lite i statistiken, till de mått som jag tycker är intressanta vid en utvärdering av en strategi.

    Det viktigaste är det totala antalet affärer. Ju fler affärer en strategi genomfört desto robustare och säkrare är de estimat som återges. Enligt skolboken skall man vid statistiks undersökningar minst ha 30 observationer för att undvika att slumpen får alldeles för stor påverka på ens resultat.

    (2) visar sannolikheten för vinst vilket ligger på 72%, detta är ett högt och bra värde för att det krävs inte många förlustaffärer innan man vet att ens strategi slutat fungera. Som vi kan se på punkt (11) så genomför strategin i genomsnitt "maximalt" 2 förluster på raken. Vi ser dessutom att strategin i genomsnitt genomför "maximal" 4 vinster på raken. Börjar således denna strategi att producera 4 eller mer förluster på raken så vet vi att marknadsförutsättningarna ändrats och vi bör undersöka ifall strategin fortfarande är lämplig för marknaden.

    Punkt (4) och (5) visar genomsnittlig vinst och förlust. Delar vi genomsnittsvinsten genom, genomsnittsförlusten så få vi vårt RR värde, vilket blir 4,49 -> punkt (6). Detta värde är också väldigt bra med tanke på hur hög sannolikheten är för vinst är per trade.

    Punkt (7) visar den ingående kontobalansen som låg på 1000 enheter och punkt (8) visar nettovinsten på 3799 enheter, vilket innebär att kontot ökat från 1000 enheter till 4799 enheter. Detta motsvarar en procentuell ökning på 3,79 gånger pengarna. Detta mått bör relateras till hur långtid som det tagit att skapa denna avkastning. Om det tagit ca 5 år att skapa denna vinst motsvarar detta en procentuell uppgång på ca 30% per år. Vilket inte är helt orimligt avkastning om man handlar med en unik strategi och ett litet konto. Men det är värt att kommentera att 30% avkastning per år motsvarar det bra en väldigt bra hedgefonder avkastar.

    Om det tagit mindre än 5 år att skapa denna vinst är risken hög att det slutar lilla i långa loppen. För strategin är helt enkelt för aggressiv. Mått (9) visar just ett mått på risk och visar att den största nedgången motsvarat 48,62% av kontot. Efter denna nedgång var strategin i princip tvungen att dubbla pengarna för att komma upp på plus minns noll.

    Jag kan därför sammanfattningsvis säga att givet denna data som presenterats så är strategin väldigt bra men något för aggressiv för min smak.

    • Helst skulle jag vilja se en lägre drawdown på ca 25%-30%.
    • Sedan skulle det vara intressant att veta över hur lång tidsperiod du har testat strategin.
    • Sedan själva logiken
    • Samt om du optimerat över all tillgänglig data eller om du delat upp datan i stycken för att få ett relativt "unbiased" resultat. För det är lätt att överoptimera en strategi efter data.


    Men annars måste jag säga att du plockat fram en bra och lovande strategi Mr Ghozt
    DailyFX forum - Where pros and rookies are welcome to post!

    *
    Join the forum today to interact with traders. Send an email to azambrano at dailyfx.com if problems with you forum account.

    *Archives of my market research
    *Check out my Trading Strategy Video and my Money management video

  3. #3
    Don Millione is offline Member
    Join Date
    Apr 2010
    Posts
    270
    Quote Originally Posted by ghozt View Post
    Hej alla intresserade!

    Har kodat en liten robot som tradar GBPUSD på 4H charts.
    Den har visat bra avkastning. Vad anser ni om automatiserad handel?

    För mig tror jag att det är det enda sättet då jag inte vill sitta framför datorn
    24/7.

    Bifogar statement för roboten. Kommentarer????

    //Ghozt
    ///////////////////////////////////////////////////////////////////////////////////////

    Bars in test 3367
    Ticks modelled 19243918
    Modelling quality 90.00%
    Mismatched charts errors 3
    Initial deposit 1000.00
    Total net profit 3799.80
    Gross profit 4147.38
    Gross loss -347.58
    Profit factor 11.93
    Expected payoff 49.35
    Absolute drawdown 312.25
    Maximal drawdown 865.55 (40.13%)
    Relative drawdown 48.62% (716.10)
    Total trades 77
    Short positions (won %) 46 (60.87%)
    Long positions (won %) 31 (90.32%)
    Profit trades (% of total) 56 (72.73%)
    Loss trades (% of total) 21 (27.27%)
    Largest
    profit trade 552.82
    loss trade -52.31
    Average
    profit trade 74.06
    loss trade -16.55
    Maximum
    consecutive wins (profit in money) 11 (944.47)
    consecutive losses (loss in money) 4 (-150.72)
    Maximal
    consecutive profit (count of wins) 944.47 (11)
    consecutive loss (count of losses) -150.72 (4)
    Average
    consecutive wins 4
    consecutive losses 2

    //////////////////////////////////////////////////////////////////////////////////////

    Skullle vara intressant i vad för typ av marknadsläge du kört den i? Kom ihåg att det sällan finns en strategi som fungerar i alla marknadslägen. Min erfarenhet av automatiska handelsstrategier är att man ändå måste lägga lite kraft och analysera vad som fungerar i vad för marknad. Skulle vara intressant att höra mer....!

  4. #4
    ghozt is offline Member
    Join Date
    Sep 2010
    Posts
    9
    Testet är utfört mellan 2009-01-01 - 2010-09-18.

    Det är en risfylld strategi som involverar martingale strategi dvs man dubblar storleken på kontraktet om man förlorar( men det visste ni nog).

    Strategin går ut på att man går mot trenden vid extrema lägen(typ överköpt).

    Om man lägger Bollingerband på 4H GBPUSD med värdena
    period 40
    shift 0
    Deviation 3
    och en simple moving average period 40, price close

    Det som strategin går ut på är att när priset når yttre bollingerbandet så går man mot trenden. Om positionen går emot dig så addar man och dubblar vid specifika intervaller. Man tar hem vinsten när priset når moving average.
    Som sagt "farligt farligt men härligt härligt".

    Nedan följer koden till roboten, kopiera och klistra in i expertadvisor mappen.
    Sedan är det bara att testa.
    OBS!!!!!!!!!! försök inte att trada detta system live eftersom det inte finns några säkerhetsrutiner i koden, detta är bara ett grovt skal avsett för backtesting.

    Om ni har några funderingar så fråga på
    //ghozt

    #property copyright "Copyright © 2006, MetaQuotes Software Corp."
    #property link "http://www.metaquotes.net"

    extern double TakeProfit = 0;
    extern double Lots = 0.01;
    extern double stoploss = 0;
    extern int map,bbp;
    extern double spacing=0.0100;




    double open,openPrice,close,high=999,low=0,startPrice,shortMov=999,BB1Upper=999,longMov,BB3Lower,BB3Upper,BB1Lower,ma,BB2Lower
    ,BB2Upper;

    int prevprofit = 1,prevPos,nrOfLots,profit,short=0,long=0;

    bool restore = false;
    bool prevLong = false;
    bool prevShort = false;
    bool buyLong = false;
    bool buyShort = false;
    bool sellShort = false;
    bool sellLong = false;
    bool longPos = false;
    bool shortPos = false;

    bool oneLong = true;
    bool twoLong = true;
    bool threLong = true;
    bool fourLong = true;
    bool fiveLong = true;
    bool sixLong = true;
    bool sevenLong = true;
    bool eightLong = true;
    bool nineLong = true;




    //+------------------------------------------------------------------+
    //| expert initialization function |
    //+------------------------------------------------------------------+
    int init()
    {
    //----

    //----
    return(0);
    }
    //+------------------------------------------------------------------+
    //| expert deinitialization function |
    //+------------------------------------------------------------------+
    int deinit()
    {
    //----

    //----
    return(0);
    }
    //+------------------------------------------------------------------+
    //| expert start function |
    //+------------------------------------------------------------------+
    int start()
    {
    int limit;
    int cnt, ticket, total;

    if(Bars<100)
    {
    Print("bars less than 100");
    return(0);
    }
    //------------------------------------------------------------------------------------------------------------------
    //------------------------------------------------------------------------------------------------------------------

    BB3Lower=iBands(NULL,0,bbp,3,0,PRICE_TYPICAL,MODE_LOWER,0);
    BB3Upper=iBands(NULL,0,bbp,3,0,PRICE_TYPICAL,MODE_UPPER,0);


    BB2Lower=iBands(NULL,0,bbp,2,0,PRICE_TYPICAL,MODE_LOWER,0);
    BB2Upper=iBands(NULL,0,bbp,2,0,PRICE_TYPICAL,MODE_UPPER,0);

    BB1Lower=iBands(NULL,0,bbp,1,0,PRICE_CLOSE,MODE_LOWER,0);
    BB1Upper=iBands(NULL,0,bbp,1,0,PRICE_CLOSE,MODE_UPPER,0);
    ma=iMA(NULL,0,map,0,MODE_LWMA,PRICE_CLOSE,0);

    if(Ask<=BB3Lower && oneLong) {buyLong=true; oneLong =false; longMov=BB3Lower;}
    if(Ask<longMov-spacing && twoLong) {buyLong=true; twoLong =false; Lots=Lots*2;}
    if(Ask<longMov-spacing*2 && threLong) {buyLong=true; threLong =false; Lots=Lots*2;}
    if(Ask<longMov-spacing*3 && fourLong) {buyLong=true; fourLong =false; Lots=Lots*2;}
    if(Ask<longMov-spacing*4 && fiveLong) {buyLong=true; fiveLong =false; Lots=Lots*2;}

    if(Bid>=BB3Upper && oneLong) {buyShort=true; oneLong=false; shortMov=BB3Upper;}
    if(Bid>shortMov+spacing && twoLong) {buyShort=true; twoLong=false; Lots=Lots*2;}
    if(Bid>shortMov+spacing*2 && threLong) {buyShort=true; threLong=false; Lots=Lots*2;}
    if(Bid>shortMov+spacing*3 && fourLong) {buyShort=true; fourLong=false; Lots=Lots*2;}
    if(Bid>shortMov+spacing*4 && fiveLong) {buyShort=true; fiveLong=false; Lots=Lots*2;}


    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    total=OrdersTotal();
    if(total>0)
    {
    if(longPos)
    {
    if(Bid>ma)CloseAll();
    }

    if(shortPos)
    {
    if(Ask<ma)CloseAll();
    }
    }

    //////////////////////////////////////////////////////////////////////////////////////////////////////////////////



    total=OrdersTotal();
    if(total<20)
    {
    // no opened orders identified

    if(AccountFreeMargin()<(100*Lots))
    {
    return(0);
    }
    // check for long position (BUY) possibility.
    if(buyLong)
    {
    ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-stoploss*Point,Ask+TakeProfit*Point,"adx-m",16384,0,Green);
    if(ticket>0)
    {
    if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
    Print("BUY order opened : ",OrderOpenPrice());
    openPrice=OrderOpenPrice();
    buyLong=false;
    longPos=true;
    }
    else Print("Error opening BUY order : ",GetLastError());
    return(0);
    }
    // check for short position (SELL) possibility
    if(buyShort)
    {
    ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+stoploss*Point,Bid-TakeProfit*Point,"adx-m",16384,0,Red);
    if(ticket>0)
    {
    if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice());
    openPrice=OrderOpenPrice();
    shortPos=true;
    buyShort=false;
    }
    else Print("Error opening SELL order : ",GetLastError());
    return(0);
    }
    return(0);
    }

    }







    void restore()
    {
    Print("i restore : ***************************************************************************");

    prevPos = 0;
    buyLong = false;
    buyShort = false;
    oneLong = true;
    twoLong = true;
    threLong = true;
    fourLong = true;
    fiveLong = true;
    sixLong = true;
    sevenLong = true;
    eightLong = true;
    nineLong = true;
    longPos = false;
    shortPos = false;
    shortMov = 999;
    longMov = 0;
    Lots = 0.01;


    }



    void CloseAll()
    {
    int i;
    bool result = false;

    while(OrdersTotal()>0)
    {
    // Close open positions first to lock in profit/loss
    for(i=OrdersTotal()-1;i>=0;i--)
    {
    if(OrderSelect(i, SELECT_BY_POS)==false) continue;

    result = false;
    if ( OrderType() == OP_BUY) result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 15, Red );
    if ( OrderType() == OP_SELL) result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 15, Red );
    }
    for(i=OrdersTotal()-1;i>=0;i--)
    {
    if(OrderSelect(i, SELECT_BY_POS)==false) continue;

    result = false;
    if ( OrderType()== OP_BUYSTOP) result = OrderDelete( OrderTicket() );
    if ( OrderType()== OP_SELLSTOP) result = OrderDelete( OrderTicket() );
    if ( OrderType()== OP_BUYLIMIT) result = OrderDelete( OrderTicket() );
    if ( OrderType()== OP_SELLLIMIT) result = OrderDelete( OrderTicket() );
    //if (UseAlerts) PlaySound("alert.wav");
    }
    Sleep(1000);
    }
    restore();
    }
    // the end.






















    //+------------------------------------------------------------------+

  5. #5
    ghozt is offline Member
    Join Date
    Sep 2010
    Posts
    9
    Genom att införa lite trolleri med storleken på positionerna så har jag fått $1000
    att växa till ca $20000 under perioden 2009-01-01 tills idag.

    Nedan följer rapporten från Metatrader.
    //Ghozt



    Bars in test 3381
    Ticks modelled 19402686
    Modelling quality 90.00%
    Mismatched charts errors 1
    Initial deposit 1000.00
    Total net profit 20062.16
    Gross profit 21549.17
    Gross loss -1487.02
    Profit factor 14.49
    Expected payoff 257.21
    Absolute drawdown 313.45
    Maximal drawdown 3301.50 (30.97%)
    Relative drawdown 59.33% (1451.64)
    Total trades 78
    Short positions (won %) 47 (61.70%)
    Long positions (won %) 31 (90.32%)
    Profit trades (% of total) 57 (73.08%)
    Loss trades (% of total) 21 (26.92%)
    Largest
    profit trade 5197.74
    loss trade -183.08
    Average
    profit trade 378.06
    loss trade -70.81
    Maximum
    consecutive wins (profit in money) 12 (10974.19)
    consecutive losses (loss in money) 4 (-510.14)
    Maximal
    consecutive profit (count of wins) 10974.19 (12)
    consecutive loss (count of losses) -510.14 (4)
    Average
    consecutive wins 4
    consecutive losses 2

  6. #6
    Alejandro Zambrano's Avatar
    Alejandro Zambrano is offline DailyFX Moderator
    Join Date
    Feb 2010
    Posts
    16,736
    Blog Entries
    1
    Nu ska ditt första inlägg synas.

    Då det i princip är kod så tror forumet att du försöker spamma vilket gör att någon administratör måste godkänna inlägget innan det visas.

    De skulle nog vara bättre ifall du ladda upp din EA och sedan så kan de intresserade kolla upp koden i sin Metatrader 4 plattform?

    Jag tror även det skulle vara kul om du kunde ladda upp strategins avkastningskurva samt kommentera resultatet? Många är nya när det gäller backtesting och du vet ju att en bild säger mer än tusen ord
    DailyFX forum - Where pros and rookies are welcome to post!

    *
    Join the forum today to interact with traders. Send an email to azambrano at dailyfx.com if problems with you forum account.

    *Archives of my market research
    *Check out my Trading Strategy Video and my Money management video

  7. #7
    ghozt is offline Member
    Join Date
    Sep 2010
    Posts
    9
    Gör ett försök att lägga upp en bild på avkastningskurvan.En vinst robot???-testergraph.jpg

  8. #8
    ghozt is offline Member
    Join Date
    Sep 2010
    Posts
    9
    Strategins svaghet är när vi får en mycket kraftig trend och priset inte åtrkommer till ma40 på mycket länge. I slutet av 2008 hade vi ett sådant prisfall som hade varit katastrof och resulterat i ett margincall. Det skulle säkert gå att hitta något sätt att förhindra att man öppnar nya positioner vid sådana tillfällen.

    Det skulle vara roligt om ni hade några förslag på förbättringar eller kanske någon egen strategi som vi kunde hjälpas åt med att koda och testa.

    Som sagt om ni har några frågor så svarar jag mer än gärna.

    //Ghozt

  9. #9
    ghozt is offline Member
    Join Date
    Sep 2010
    Posts
    9
    Hej Alejandro!

    När jag försöker att ladda upp filen med EA:n så kan jag inte hitta den(skumt).
    Jag har döpt den till extremeBB och borde finnas i foldern experts.
    Men jag kan inte hitta den????????

    Får försöka senare.

    //Ghozt

  10. #10
    Alejandro Zambrano's Avatar
    Alejandro Zambrano is offline DailyFX Moderator
    Join Date
    Feb 2010
    Posts
    16,736
    Blog Entries
    1
    Ok.

    Förresten alltså dina strategier, de är lite för aggressiva för min smak men de behöver vara det för att vinna 10 000 USD i FXCM Automated Trading Challenge.

    Skulle det inte vara kul vara med i den tävlingen?
    DailyFX forum - Where pros and rookies are welcome to post!

    *
    Join the forum today to interact with traders. Send an email to azambrano at dailyfx.com if problems with you forum account.

    *Archives of my market research
    *Check out my Trading Strategy Video and my Money management video

  11. #11
    StyrBernt is offline Registered User
    Join Date
    Nov 2010
    Posts
    4
    Hej Ghozt, Mycket intressant angreppssätt! Jag är ny på det här, vilket system använder du för att handla, och har dom någon demo man kan testa?

    mvh /p

  12. #12
    Alejandro Zambrano's Avatar
    Alejandro Zambrano is offline DailyFX Moderator
    Join Date
    Feb 2010
    Posts
    16,736
    Blog Entries
    1
    Quote Originally Posted by StyrBernt View Post
    Hej Ghozt, Mycket intressant angreppssätt! Jag är ny på det här, vilket system använder du för att handla, och har dom någon demo man kan testa?

    mvh /p
    Hej StyrBernt! Välkommen till forumet! Mitt namn är Alejandro och jag arbetar som moderator på forumet. Jag är osäker på ifall Ghozt tar emot e-post när nya medelanden postats. Jag ska se om jag kan få tag på honom.

    Mvh
    Alejandro

  13. #13
    ghozt is offline Member
    Join Date
    Sep 2010
    Posts
    9
    Hej StyrBernt och välkommen!

    Jag använder Metatrader som plattform.
    Det finns många som erbjuder Metatrader som demo.

    Själv använder jag Interbank.

    Om du har övriga frågor så svarar jag gärna.

    //Ghozt
    Last edited by Daily FX; 11-08-2010 at 09:36 AM.

  14. #14
    StyrBernt is offline Registered User
    Join Date
    Nov 2010
    Posts
    4
    Quote Originally Posted by Alejandro Zambrano View Post
    Hej StyrBernt! Välkommen till forumet! Mitt namn är Alejandro och jag arbetar som moderator på forumet. Jag är osäker på ifall Ghozt tar emot e-post när nya medelanden postats. Jag ska se om jag kan få tag på honom.

    Mvh
    Alejandro
    Hej Alejandro, Tack så mycket

    Du som också verkar rätt insatt i det här vet inte vart man kan läsa lite om olika sätt att bygga valutamodeller på? Typ en crash cours? Jag är inte helt grön på modeller, har av eget intresse byggt en del aktiemodeller Jag har googlar runt en hel det, och internet är ju nersmetat med modeller som man får köpa om man vill :P Känner inte att det är min grej, vill veta vad ja/modellen gör

    /Philip

  15. #15
    Alejandro Zambrano's Avatar
    Alejandro Zambrano is offline DailyFX Moderator
    Join Date
    Feb 2010
    Posts
    16,736
    Blog Entries
    1
    Quote Originally Posted by StyrBernt View Post
    Hej Alejandro, Tack så mycket

    Du som också verkar rätt insatt i det här vet inte vart man kan läsa lite om olika sätt att bygga valutamodeller på? Typ en crash cours? Jag är inte helt grön på modeller, har av eget intresse byggt en del aktiemodeller Jag har googlar runt en hel det, och internet är ju nersmetat med modeller som man får köpa om man vill :P Känner inte att det är min grej, vill veta vad ja/modellen gör

    /Philip
    När du byggt modeller tidigare så antar jag att du menar "tekniska modeller" alltså modeller som bygger på teknisk analys.

    För detta har vi har en speciell sektion på den engelska forumet där det finns resurser - > Strategy Trader - DailyFX Forex Forum

    I grund och botten så handlar det om att kunna programmera och att kunna omsätta sina kunskaper om marknaden och teknisk analys för skapa automatiska system.

    På vilken nivå har du tidigare arbetat med automatiska system?

    Mvh
    Alejandro

Page 1 of 2 1 2 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Disclaimer: Trading foreign exchange on margin carries a high level of risk, and may not be suitable for all investors. The high degree of leverage can work against you as well as for you. Before deciding to trade foreign exchange you should carefully consider your investment objectives, level of experience, and risk appetite. The possibility exists that you could sustain a loss of some or all of your initial investment and therefore you should not invest money that you cannot afford to lose. You should be aware of all the risks associated with foreign exchange trading, and seek advice from an independent financial advisor if you have any doubts. Any opinions, news, research, analyses, prices, or other information contained on this website is provided as general market commentary and does not constitute investment advice. Forex Capital Markets LLC. will not accept liability for any loss or damage, including without limitation to, any loss of profit, which may arise directly or indirectly from use of or reliance on such information.