Jump to content
Tom Next - Daytrading Community

Intra-bar Order Generation


RAiNWORM

Recommended Posts

Vielleicht bin ich auch etwas MT4-geschädigt. Wenn ich ein Signal in MultiCharts programmiert habe und es mit intra-bar order generation laufen lasse, dann setzt der mir meine Buy-orders dennoch immer auf das Close der Kerze. Wie kann ich denn sofort (market) einsteigen?

 

Derzeit nutze ich z.B.

buy ("xyz") 2 contracts this bar;

 

Das impliziert ja "at close".

 

Falls es nicht anders geht, hätte ich noch eine Gegenfrage: was bringt mir dann intra-bar order generation?

Link to comment
Share on other sites

Bei aktivierten intrabarordergeneration nutzt er jede einlaufende Preisinformation bei deiner Schleife – egal ob tick, M1 oder was auch immer.

Bei Limitorder (bei aktiverten IOG) die per „DAY“ abgeschickt werden gilt dieser vom MC her auch nur bis zur nächsten Information -> heißt dass diese gecanceld werden und neu aufgegeben werden bei der nächsten Information – hab ich live getestet und schon größere Diskussionen mit dem Chat diesbezüglich gehabt. Für mich gilt ein „DAY-Limit“ für den ganzen Tag und nicht nur zum nächsten TICK.

Um die Variablenveränderung Intrabar zu berücksichtigen musst du vor jeder Variabel die Ihren veränderten Wert Intrabar behalten soll auch per Befehl „intrabarpersist“ mit Initialisieren ansonsten verliert er diesen Wert und bekommt den Wert den er hatte bei dem letzten vollendeten Balkens.

Welche und wie viele Preiseinformationen er jetzt im Backtest erhalten soll kannst du ja mit Tick oder M1 im zuständigen Backtest-Reiter (wenn aktiviert) einstellen.

 

EDIT 09:01: Ich weiss nicht mehr warum aber ich nutze nur noch "next bar at market" wenn ich eine Marketorder abgebe und IOG aktiviert habe. Es hatte einen Grund - da bin ich mir sicher :pumpkinsmile:

  • Upvote 4
Link to comment
Share on other sites

  • 2 weeks later...
Was hältst du denn von der (im verlinkten Thread zum MC-Forum) vorgeschlagenen Lösung, zwei Data-Streams zu nutzen? Klingt für mich nach einer sauberen Methode ohne IOG. So könnte man auf dem Tickchart handeln und den H1/D1-Chart zur Analyse nutzen.
Link to comment
Share on other sites

Ich halte die Lösung von Stan (Link MC-Forum) die Session Zeit zu kürzen um 5 min doch recht gut. Man verliert kaum Infos bezüglich dem Markt und umgeht das Gaprisiko. Es ist auf jeden Fall einfacher zu implementieren als eine 2 Data Lösung.
Link to comment
Share on other sites

Ich halte die Lösung von Stan (Link MC-Forum) die Session Zeit zu kürzen um 5 min doch recht gut.

Interessanter Ansatz. Aus meiner Sicht müsste man RecalcLastBarAfter immer setzen, wenn man auf Basis des Close einer Bar handelt. Sonst ist man schon in der nächsten Bar und geht dort mit "buy next bar" rein, sodass man immer eine Bar verlieren würde.

Link to comment
Share on other sites

  • 7 months later...
was bringt mir dann intra-bar order generation?

 

habe in der letzten Woche soviel von MC gelesen, dass ich Dir nicht mehr sagen, wo ich gelesen habe / gehört habe , dass .....

 

diese Option im Backtest zur Ausführung innerhalb des Bar´s nur an einem der vier Punkte O/H/L oder Close führt .

 

KB

 

PS.: Ich glaube aber, dass das bei BMT war, und zwar das Vid in dem er den BT und das Optimieren von MC mit NT vergleicht

Link to comment
Share on other sites

diese Option im Backtest zur Ausführung innerhalb des Bar´s nur an einem der vier Punkte O/H/L oder Close führt .

Mmm, nein. Ich glaube, du verwechselst das mit dem Bar Magnifier. Mit Intrabar Order Generation arbeitet MC in etwa wie MT4: der Programmcode wird mit jedem Tick ausgeführt. Ansonsten erfolgt eine Verarbeitung nur mit Close der Kerze.

 

Der Bar Magnifier zieht im Backtest die kleineren Zeitebenen heran. Ohne Bar Magnifier werden die Orders allerdings nicht am OHLC ausgeführt, sondern diese vier Punkte bestimmen nur die Reihenfolge der Signale. Dazwischen wird interpoliert. Im Normalfall sollte das ausreichend sein. Nur für den letzten Schliff würde ich den Bar Magnifier aktivieren - dauert halt.

Link to comment
Share on other sites

Man sollte aber wissen, dass der Bar Magnifer (noch) nicht im PortfolioBacktester zur Verfügung steht. Evtl. sollte man seinen EA also so coden, dass er auf M1 läuft. Ggf. Als MultiZeitframeEA, denn mehrere Timeframes kann man im PB wiederum angeben (zu data1, data2, ...).

 

Und wichtig zu wissen zum IntraBarOrderGenerator:

Auf Live setzt das Teil dann wirklich bei jedem Tick Limitorders ab (die gelten dann auch nur einen Tick lang...), auch wenn der Limitkurs derselbe ist. Das führt dann dazu, dass IB dir eine nette Mail schickt und dir droht, wesentlich höhere Kontokosten auszudrücken, wenn du nicht sofort aufhörst, im Sekundentakt Orders abzuschicken ^^

Link to comment
Share on other sites

  • 1 month later...

Mmm, nein. Ich glaube, du verwechselst das mit dem Bar Magnifier. Mit Intrabar Order Generation arbeitet MC in etwa wie MT4: der Programmcode wird mit jedem Tick ausgeführt.

Ich hab da mal folgenden Beispielcode:

[intrabarordergeneration=true]
input:
Lots(1);

variable:
intrabarpersist in1(false),
intrabarpersist out1(false);

in1=	marketposition=0 and Date=1111222 and Time_s>065725 and Time_s<090000;

if in1 then
begin
buy ("Long-Entry") Lots shares next bar at market;
end;

out1=marketposition=1 and Time_s > 091225;
if out1 then
begin
sell ("Close-Long") Lots shares next bar at market;
end

Es sollte also einfach nach 06:57:25 Uhr eingestiegen werden.

Nachdem Intrabarordergeneration gesetzt ist, würde ich erwarteten, dass beim ersten Tick nach 06:57:25 eingestiegen wird. Das impliziert auch die EL_essentials.pdf:

IOG.jpg

 

Warum wird dann aber erst beim nächsten Bar also um 7:00:00 Uhr eingestiegen?

IOG2.jpg

 

EDIT: Was ich natürlich noch dazusagen muss: Das Signal ist in einem 5-Minuten-Chat.

Link to comment
Share on other sites

Time

Returns a numerical value indicating the closing time of the current bar. The time is indicated in the 24-hour HHmm format, where 1300 = 1:00 PM.

 

Time_s

Returns a numerical value indicating the closing time, including seconds, of the current bar. The time is indicated in the 24-hour HHmmss format, where 130000 = 1:00:00 PM.

 

Auch bei IOG aktiv bleibt die Zeit des aktuellen Balkens gleich.

Versuch mal

CurrentTime

Returns a numerical value, indicating the computer's current time. The time is indicated in the 24-hour HHmm format, where 1300 = 1:00 PM.

 

CurrentTime_s

Returns a numerical value indicating the computer's current time, including seconds. The time is indicated in the 24-hour HHmmss format, where 130000 = 1:00:00 PM.

Nicht geeignet bei Marktzeit != Local

  • Upvote 1
Link to comment
Share on other sites

Auch bei IOG aktiv bleibt die Zeit des aktuellen Balkens gleich.

Danke siscop :doubleup:

ja, das war das Problem.

Versuch mal

 

Nicht geeignet bei Marktzeit != Local

Das funktioniert leider auch nicht, da CurrentTime auch für historische Bars die aktuelle Computerzeit ausgibt.

Aber mir ging's nur um das IOG und hier hab ich das Problem jetzt verstanden.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...