Pagina 1 van 1

automated traden - Vesticode voor automated trading voor IB

BerichtGeplaatst: zo 11 apr 2004, 19:22
door cees
Al enige tijd ben ik het automatisch traden aan het testen. Ik gebruik hiervoor Ninjatrader(NT) en IB. Bij een signaal schrijft Vestics een bestand weg die NT leest ?en de order doorgeeft aan het TWS van IB. Daarnaast houdt Vestic ook nog een logfile bij zodat je, mocht het fout gaan, kunt nagaan of en wat Vestics heeft weggeschreven.

Het prgramma werkt alleen met signalen aan het EIND van de bar. Hiervoor moet je bij grafiekeigenschappen de optie ?grafiek bij elke tick verversen UIT zetten. Je kunt het bv gebruiken voor de ROCEMA die op deze manier werkt.

De logfile logfile.txt moet je eerst even aanmaken in de map
c:\Program Files\Ninjatrader\Ninjatrader version 3\AT

De vesticode moet je naar een nieuwe indicator kopieren met de naam NinjaDax. Hier wordt op een future van de dax gehandeld die je eerst in NT moet definieren. Wil je op iets anders handelen dan moet je DAX vervangen door een ander symbool, gedefinieerd in NT.

Deze indicator moet je toevoegen na het handelssysteem en evt aparte stops.


Iedereen zal begrijpen dat ik geen enkele verantwoording aanvaard mocht iemand deze code gebruiken voor het echt handelen.
Mocht je echt geinteresseerd zijn download Ninjatrader, lees alle documentatie en ga in simulatiemode automated trading.

mvg

Cees

Ps Als Pierre de koppeling met IB klaar heeft kan de oplossing met NT komen te vervallen.

value function NinjaDax
?Begin
?value xMarketPosition;
?String Ninjamap,tijd;

?{-------NINJA TRADER--------}

NinjaMap='C:\Program Files\NinjaTrader\NinjaTrader Version 3\AT\';
tijd=Numtostr(Currenttime);

if CurrentBar=vLastBar then
begin
{-----Long entry-----}
if (xMarketPosition=0) and (MarketPosition=1) then
Begin
Print(File(NinjaMap+'order.txt'),'DAX,1,GTC,BUY,MKT,,,,,,,TRUE,,');
FileAppend(NInjaMap+'Logfile.txt',tijd+' ?#1 DAX,1,GTC,BUY,MKT,,,,,,,TRUE,,');
End;

{----Short Entry------}
if (xMarketPosition=0) and (MarketPosition=-1) then
Begin
Print(file(NinjaMap+'order.txt'),'DAX,1,GTC,SELL,MKT,,,,,,,TRUE,,');
FileAppend(NInjaMap+'Logfile.txt',tijd+' ?#2 DAX,1,GTC,SELL,MKT,,,,,,,TRUE,,');
End;

{----Close Long Position--}
if (xMarketPosition=1) and (MarketPosition=0) then
Begin
Print(file(NinjaMap+'close.txt'),'DAX');
FileAppend(NInjaMap+'Logfile.txt',tijd+' ?#3 DAX ?CLOSE');
End;

{----Close Short Position--}
if (xMarketPosition=-1) and (MarketPosition=0) then
Begin
Print(file(NinjaMap+'close.txt'),'DAX');
FileAppend(NInjaMap+'Logfile.txt',tijd+' ?#4 DAX ? CLOSE');
End;

{-----Reverse Long->Short --}
if (xMarketPosition=1) and (MarketPosition=-1) then
Begin
Print(file(NinjaMap+'reverse.txt'),'DAX,1,,');
FileAppend(NInjaMap+'Logfile.txt',tijd+' ?#5 DAX,1,, ?REVERSE');
End;

{-----Reverse Short->Long--}
if (xMarketPosition=-1) and (MarketPosition=1) then
Begin
Print(file(NinjaMap+'reverse.txt'),'DAX,1,,');
FileAppend(NInjaMap+'Logfile.txt',tijd+' ?#6 DAX,1,, ?REVERSE');
End;

End;

xMarketPosition=MarketPosition;



?end;

?

automated traden

BerichtGeplaatst: do 15 apr 2004, 13:30
door poekmeister
Cees,
Bedankt voor je ervaringen. Ik probeer dit momenteel ook uit. Zal mijn leermomenten ook hier delen.

Ik zit nu specifiek te worstelen met het opvoeren van de ES50 future in NT. Ik doe dit in Instrument mgr van NT, maar als ik vervolgens een order in probeer te leggen via NT dan herkent hij het symbol niet.
Kun jij mij vertellen wat je invult in NT voor de DAX future??

Michel

automated traden

BerichtGeplaatst: vr 28 mei 2004, 9:09
door hansch
Beste Cees,
Ik heb alles geinstalleerd, maar kom nog een paar problemen tegen. Kun je iets meer vertellen wat ik in moet stellen bij Ninjatrader?

Vr. gr. Han

automated traden

BerichtGeplaatst: zo 30 mei 2004, 14:01
door cees
Han,

Wat wil je weten over Ninja Trader

mvg
cees

automated traden

BerichtGeplaatst: zo 30 mei 2004, 15:55
door hansch
Hallo Cees,
moet ik in de map AT zelf order.txt ea aanmaken of doet vestics dit en wordt deze file na uitvoering gewist door Ninjatrader? Moet ik in het menu Tools bij de diverse managers iets instellen? Ik trade op de Eurostoxx50, heb deze ingesteld als ESTX50 in jou vesticodemodule en opgeven bij de instrumentmanager. Moet ik trouwens in de automated trading OIF builder nog iets instellen?
alvast bedankt,
Han

automated traden

BerichtGeplaatst: ma 31 mei 2004, 9:10
door hansch
Cees,
Het probleem dat ik tegenkom is het volgende:
als vestics een nieuw order naar ninjatrader stuurt, geeft ninjalogfile de melding: OIF deletion error: the process cannot access the file because it is being used by another process. Als ik vestics ververs wordt het process opeens wel uitgevoerd. Dus vestics houdt de file order.txt of reverse.txt vast tot ik ververs. Volgens mij gebeurt het bij zowel: grafiek bij elke tik verversen maar ook als deze uit staat.

Han

automated traden

BerichtGeplaatst: ma 31 mei 2004, 20:06
door cees
Hansch,

Ik begrijp dat ?je al een heel eind ben . Je hebt de estx50 gedefinieerd in NT en automated trading aangezet.

Mijn vraag is : Leest ?NT ?de file en wordt de de order uitgevoerd? Als de file door NT is gelezen delete NT de file en daar heb jij een probleem.
Het zou kunnen zijn dat jij bij grafiekeigenschappen ?grafiek bij elke tick verversen aan hebt staan. DAT MOET NIET.
Je hebt dan kans dat tijdens een bar ik weet niet hoeveek keer een order door Vestics wordt aangemaakt.

Het probleem wat jij schetst heb ik zelf nooit gehad, dus ik kan niet precies zeggen waar het aan zou kunnen liggen.

mvg

cees

automated traden

BerichtGeplaatst: di 01 jun 2004, 10:51
door hansch
Cees,
Met behulp van Pierre is het probleem opgelost door de funktie print file te vervangen door append zoals ook bij de logfile en door een file delete boven append toe te voegen. Nu heb ik echter nog het probleem dat NT alleen gesimuleerd wil traden, terwijl ik onder menu file de simulator NIET aangevinkt heb. Moet ik nog iets aanpassen?
Han

automated traden

BerichtGeplaatst: di 01 jun 2004, 14:59
door hansch
Cees, laatste probleem ook opgelost.

Begin
FileDelete(NinjaMap+'order.txt');
FileAppend(NinjaMap+'order.txt','ESTX50,1,GTC,BUY,MKT,,,,,,,FALSE,,');
FileAppend(NinjaMap+'Logfile.txt',tijd+' ?#1 ESTX50,1,GTC,BUY,MKT,,,,,,,FALSE,,');

bedankt voor je hulp!

Heb ik nog wel weer een ander vraagje: is het mogelijk om een extra stop of trailstop in te bouwen door bv de strategymanager van NT, en hoe moet dat. heb wat geprobeerd maar wil niet lukken. misschien heb jij een idee?
Trade je trouwens met ROCEMA op de dax? en hoe gaat dat. goede resultaten?

automated traden

BerichtGeplaatst: do 17 jun 2004, 12:27
door jand
Cees,

Deze indicator werkt goed, echter bij mij alleen een tijdsperiode later, m.a.w. het koop/verkoopsignaal van NINJADAX komt pas aan het eind van de volgende bar. Dit komt waarschijnlijk omdat in mijn geval eerst de indicator NINJADAX wordt uitgevoerd en vervolgens ROCEMA. Ik heb al geprobeerd dit om te draaien (eerst ROCEMA definieren en daarna NINJADAX en andersom) maar is niet gelukt. Heb jij niet hetzelfde probleem of missschien een oplossing?

automated traden

BerichtGeplaatst: wo 06 okt 2004, 9:51
door dct
Ik ben ook begonnen met het testen van Ninja trader. Alles werkt goed alleen ik zit ook met het probleem van handelen 1 bar na signaal.

Als ik currentbar=vlastbar weg haal ?wordt file wel meteen weggeschreven, maar blijft vestics dat aantal maal doen (ongeacht of grafiek elk tik verversen aan staat)

is er iemand die al een oplossing heeft gevonden?? Zo ja zou ik dat graag horen, want na een paar dagen proberen kom ik nog niet echt verder.

alvast bedankt,

david