Jump to content
Co nového? Mé kurzy
Komunita:
Diskuze Sledované příspěvky Žebříčky

Diskuze k článku: Zkušenosti s vývojem jednoduchého, ale profitabilního AOS – cesta tradera Mirka, dokončení


Doporučené příspěvky

Dekuji Mirku za prinosny clanek.

Taky programuju AOS. Pracuji ale na Rusell2000 a strategii jsem napsal v C# pro Ninjatrader. Snazil jsem se o co nejvetsi robustnost a backtestovane vysledky si delim 2 abych dostal predstavu o realnych vykonech :-)
Po nasazeni do paper modu zacatkem prosince se mi stalo to co jiz pozoruji u ruznych systemu jako pravidlo - jednoho z nejvetsich drawdownu system dosahuje tesne po nasazeni :-) Neni to ale tak prekvapive, kontrakt TF12-09 byl velmi uspesny, takze korekce prijit musela.

Na jak dlouhem casovem useku jste backtestoval svuj system? Ja 2 roky coz je zhruba 1000 obchodu.

Jeste jsem se chtel zeptat na data pro forward testovani. Jak je mam chapat, odkud jste je vzal? Jsou to data jinych trhu nebo nejakym zpusobem vygenerovana?

Dekuji za uverejneni dokumentace, jiz delsi dobu planuji vytvorit ucelenou dokumentaci k systemu, pokud dovolite, necham se nekterymi body inspirovat.

O VPS hostingu jsem take premyslel, ale zatim mam rad mit veci pobliz a moct si vse pohodlne nastavit. Do budoucna to ale bude nutnost.
Ohledne vasich problemu s neplanovanymi restarty - co si naprogramovat utilitku, ktera bude v programech spoustenych po startu a odesle vam email, ktery muze byt potom presmerovan na SMS branu?
Sam jsem si musel do Ninjy doprogramovat emailoveho klienta (sice je v NT funkce SendMail ale pro vetsinu SMTP serveru nefunguje, protoze NT nastaveni SMTP v zalozce Options neumoznuje zapnout SSL kodovani). Nechavam si posilat emaily pri vstupu do obchodu, pri ztrate pripojeni a pri podobnych kritickych udalostech a pokud to jen trochu jde, kontroluji system pres vzdalenou plochu z prace.

Omlouvam se za dlouhy prispevek, sam takove nerad ctu :-)
Martin.

Link to comment
Sdílet pomocí služby

  • Odpovědí 55
  • Vytvořeno
  • Poslední

Nejaktivnější diskutující

Nejaktivnější diskutující

Publikované obrázky

Aifel,
omlouvam se za pozdni reakci, byl jsem nejakou dobu mimo dosah internetu.
System jsem vyvijel a backtestoval na historickych datech za 3 roky (konec roku 2004 - 31.12.2007) - dohromady cca 300 obchodu. Forward-testing probihal nekolik mesicu spis formou papertradingu. Overoval jsem, zda by mely strategie nejaky potencial i na jinych trzich (tj. prestoze nejsou zrovna profitabilni, jsou z principu a technicky funkcni.).
Vim, ze je to dost kratke obdobi, ale vic dat jsem nemel v danou dobu k dispozici.

Myslim si, ze ke spolehlivosti All2Gather hodne prispiva fakt, ze to neni jen jedna strategie, ale portfolio nekolika ruznych strategii na ruznych trzich.

Vasich 1000 obchodu za 2 roky uz by mel byt statisticky relevantni vzorek obchodu. Skoro urcite ale doslo k nejake preoptimalizaci. Pokud neni moc velka, projevi se to mozna jen na mensi vykonnosti oproti backtestum. Pokud mate tu moznost, zkuste ho po ukonceni vyvoje overit na nezavislem vzorku dat, na ktery jste predtim vubec nesahl. Budou-li vysledky aspon polovicni, tak jste hvezda ;)

Utilitku pro posilani mailu uz mam, ale funguje jen s SMTP serverem, ktery nevyzaduje autentifikaci pri pristupu zvenku. Neznate nejaky takovy? Hosting VPS budu ale i tak presouvat a novy provider uz by mel byt v tomto ohledu bez problemu.

Urcite se inspirujte podle libosti, budu se prip. tesit na vase zkusenosti :)

Link to comment
Sdílet pomocí služby

mirek77: jak jsem psal mam system otestovany na 2 lete historii a momentalne se mi nedari sehnat data pro Rusell2000 starsi nez kontrakt 12-07, takze jsem docela napnuty jak dopadnou testy na starsich datech a ano souhlasim a cekam ze to bude max 1/2 soucasne vykonnosti :-) Snazil jsem se system optimalizovat co nejmene, akckoliv me svrbi prsty protoze samozrejme vim kde jaky parametr priohnout. Dal jsem ale pri backtestu vzdy prednost rovnomerne distribuci mezi zisky v jednotlivych kontraktnich mesicich pred vysi absolutniho zisku. Testoval jsem system i na jinych trzich (NQ, ES) a tam byl system lehce v kladnych cislech, obchodovat by se to moc nedalo ale melo by se to motat nad nulou. Vetsi strach nez z nefungovani samotneho systemu mam z exekuci v NinjaTraderu, videl jsem pri papertradingu uz par chyb ze kterych me zamrazilo. O nekterych vecech support Ninjy vi ale nedela s nimi nic, hodne velky krok dopredu by mel znamenat Ninja verze 7. Preferuju ale odladit si strategii na nejake verzi programu a pak s ni nehybat ackoliv neni dokonala, nebo jen pod podminkou nekolika mesicu testovani na demo uctu. Sice se za to stydim jak jsem to v rychlosti zprasil ale nemam ted moc casu - pokud budes chtit (nevadi tykani?), napsal jsem ted takovou stupidni utilitku pres kterou muzes odesilat maily z prikazove radky = pro tve ucely si napises .bat soubor s prislusnymi parametry a tento .bat spustis po restartu pocitace. Funguje mi to s gmailem takze jsem to nemel potrebu zkouset na ostatnich SMTP serverech (takze si budes muset zalozit ucet na gmailu). Kdyz si otevres prikazovou radku v adresari kam nakopirujes soubor co sem prilozim a das SendMail.exe vypise se help jak vyplnit ty parametry. K fungovani bude potreba .NET. Snad to bude fungovat, doma mam 2PC a na nich to jede na obou. Projed si ten soubor pred spustenim antivirem, jsme na internetu takze duveruj a hodne proveruj :-) Martin.

12389

Link to comment
Sdílet pomocí služby

Pavel K.:
Ohledne presmerovani mailu na mobil je to ruzne operator od operatora. Ja mam O2 a tam je to jednoduche, mail misto na emailovou adresu posles na: +420xxxxxxxxx@sms.eurotel.cz
Jak je to u jinych operatoru z hlavy nevim ale kdyz vygooglujes heslo: presmerovani emailu na SMS urcite to uz nekdo resil.

Zkusim pozdejc neco napisat k tomu Ninjovi, zdrzel jsem se tou utilitkou v predchozim prispevku a musim letet.

Ostatne muzes ji k tomu presmerovani na mobil take pouzit.

Prilozeny soubor je samo nutno prejmenovat a odstranit tu priponu .doc (doufam ze to neni proti pravidlum diskuze..)

Hezky vikend.
Maritn.

Link to comment
Sdílet pomocí služby

mirek77:
- staci stiahnut dve utilitky srvany.exe a instsrv.exe napriklad su dostupne v tomto balicku:

www.microsoft.com/downloads/details.aspx?familyid=9d467a69-57ff-4ae7-96ee-b18c4790cffd&displaylang=en

- srvany.exe nakopirovat do adresara s Metatraderom

- instalacia servisu z commandlinu:
instsrv.exe MetaTreader "C:\Program Files\MetaTrader\srvany.exe"

- v registroch treba upravit/pridat do kluca
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MetaTrader\Parameters
hodnotu "Application" a nastavit v nej cestu k metatraderu napriklad
"C:\Program Files\MetaTrader\terminal.exe"

oala z MetaTradera sa stala plnohodnotna service :)

Link to comment
Sdílet pomocí služby

  • 1 month later...

Zachytil jsem vaši diskusi o funkci posílání emailu. Chci si nechat posílat upozornění z Nijatraderu na email pomoci funkce email alert v ,ale nevím jak to nastavit, aby to poslalo email. Když si to testuju v záložce Options - Mascalaneous - Email setting. Nechám si poslat testovací mail a vypíše mi to chybové hlášení "Failed to send email:503 AUTH command used when not advertised."

Nevíte prosím jak to nastavit aby to posílalo emaily?

Díky tom

Link to comment
Sdílet pomocí služby

tomas77:
Fce mail alert v NT je krapet na H....O (a nebo mám problém někde mezi klávesnicí a židlí...)
Já si posílám emails touto funkcí kterou je možné umístit např. do třídy UserDefinedMethods - pak je dostupná bez problému ze všech strategií i indikátorů. Né že by to bylo nějak úchvatně napsáno, ale funguje. Je samozřejmě třeba nahradit hodnoty proměnných na začátku fce. Používá gmail jako smtp server. Pokud chceš používat jiný smtp snad bude taky chodit, ale mohou tam být komplikace z hlediska nastavení parametrů zprávy.

using System.Net.Mail;
using System.Net;
...
...
//Funkce odesle email na predem dane adresy
public void PosliEmail(string predmet,string text)
{
//nastaveni paramteru mailove komunikace
string fromAddress="ADRESA_ODKUD_JAKO_POSILAM_MAIL";
string toAddress="ADRESA_KAM_POSILAM_MAIL";
string smtpServer="smtp.gmail.com"; //priklad
string userName="MUJ_UCET@gmail.com";
string password = "HESLO";

// vytvoření nové zprávy
MailMessage zprava = new MailMessage(
new MailAddress(fromAddress, "NT"), //from addres
new MailAddress(toAddress) // to addres
);

// předmět zprávy
zprava.Subject = predmet;

// tělo zprávy
zprava.Body = text;

// vytvoření SMTP klienta
SmtpClient smtp = new SmtpClient(smtpServer, 25);

smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.EnableSsl = true;
smtp.UseDefaultCredentials = false;

// přihlášení k SMTP serveru
smtp.Credentials = new NetworkCredential(userName, password);

// odeslání vytvořené zprávy
smtp.SendAsync(zprava,"A");
}

Link to comment
Sdílet pomocí služby

To: Bop
děkuji za rychlou reakci. Protože nejsem programátor, tak jsem z toho trošku vedle.

Cele jak to leží tak to nakopiruju do UserDefinedMetods. (samo ze upravim adresy atd.), ale nemuzu to zkompilovat.

Mohl bych tě požádat o poslání toho souboru UserDefinedMetods, jestli ho máš ve funkčním stavu?

diky tom

Link to comment
Sdílet pomocí služby

Děkuji za rychlou reakci a ještě poslední detail. Ukazka jednoduché strategie, kde je prikaz SendMail tak jak vypadne z ninjatraderu a tennahradím? (PosliEmail(string predmet,string text)), nebo jak má přesně ta syntaxe vypadat?

díky tom


#region Using declarations
using System;
using System.ComponentModel;
using System.Diagnostics;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Xml.Serialization;
using NinjaTrader.Cbi;
using NinjaTrader.Data;
using NinjaTrader.Indicator;
using NinjaTrader.Gui.Chart;
using NinjaTrader.Strategy;
#endregion

// This namespace holds all strategies and is required. Do not change it.
namespace NinjaTrader.Strategy
{
///


/// Enter the description of your strategy here
///

[Description("Enter the description of your strategy here")]
public class WMAzones : Strategy
{
#region Variables
// Wizard generated variables
private int myInput0 = 1; // Default setting for MyInput0
// User defined variables (add any user defined variables below)
#endregion

///
/// This method is used to configure the strategy and is called once before any strategy method is called.
///

protected override void Initialize()
{

CalculateOnBarClose = true;
}

///
/// Called on each bar update event (incoming tick)
///

protected override void OnBarUpdate()
{
// Condition set 1
if (CrossAbove(VMAZones(90, 20, 180).Lower, Close, 1))
{
DrawArrowDown("My down arrow" + CurrentBar, false, 0, Low[0] + 10 * TickSize, Color.Red);
SendMail("a", "s", "d", "f");
}

// Condition set 2
if (CrossBelow(VMAZones(90, 20, 180).Upper, Close, 1))
{
DrawArrowUp("My up arrow" + CurrentBar, false, 0, Close[0] + -10 * TickSize, Color.Lime);
SendMail("a", "s", "d", "f");
}
}

#region Properties
[Description("")]
[Category("Parameters")]
public int MyInput0
{
get { return myInput0; }
set { myInput0 = Math.Max(1, value); }
}
#endregion
}
}

Link to comment
Sdílet pomocí služby


×
×
  • Vytvořit...