Lmt Forex Formel 2 1


Heutige Börsennachrichten amp Analyse Real-Time After Hours Pre-Market News Flash Zitat Zusammenfassung Zitat Interaktive Charts Standardeinstellung Bitte beachten Sie, dass, sobald Sie Ihre Auswahl treffen, gilt es für alle zukünftigen Besuche bei NASDAQ. Wenn Sie zu irgendeinem Zeitpunkt daran interessiert sind, auf unsere Standardeinstellungen zurückzukehren, wählen Sie bitte Standardeinstellung oben. Wenn Sie irgendwelche Fragen haben oder irgendwelche Probleme beim Ändern Ihrer Standardeinstellungen begegnen, bitte email isfeedbacknasdaq. Bitte bestätigen Sie Ihre Auswahl: Sie haben gewählt, um Ihre Standardeinstellung für die Zählersuche zu ändern. Dies ist nun Ihre Standard-Zielseite, es sei denn, Sie ändern Ihre Konfiguration erneut, oder Sie löschen Ihre Cookies. Sind Sie sicher, dass Sie Ihre Einstellungen ändern möchten Wir haben einen Gefallen zu bitten Bitte deaktivieren Sie Ihren Anzeigenblocker (oder aktualisieren Sie Ihre Einstellungen, um sicherzustellen, dass Javascript und Cookies aktiviert sind), damit wir Ihnen weiterhin die erstklassigen Marktnachrichten liefern können Und Daten, die du von uns erwarten wirst. AmiBroker Auto-Trading-Schnittstelle für Interactive Brokers 1.3.8 Beta Read Me Mai 29, 2014 21:03 DIES IST EINE BETA-VERSION DER SOFTWARE (siehe FAQ-Bereich für eine Antwort quotwhy ist es markiert als BETA quot) AUTOMATISCHE HANDEL BRINGT BESTIMMTE RISIKEN BITTE BEACHTEN SIE SORGFÄLTIG DURCH IHREN CODE MIT DEM ERSTEN DEMO ZWEI UND DANN PAPIER HANDELSKONTO AUTOMATISCHER HANDELSINTEFACE IST ZUR HERSTELLUNG VON HÄNDLER EINFACHER UND SCHNELLER, ABER ES IST NICHT BEREITGESTELLT, UM ÜBER UNTERSTÜTZUNG LAUFEN. DURCHGEFÜHRTE AUTOMATISCHE HANDEL UNVERBRENNT WIE BESTIMMTE UMSTÄNDE KÖNNEN KÖNNEN WERDEN INTERNET-FEHLER, STROMVERSORGUNG, ANDERE UNERWARTETE SITUATION, DIE ZU DEN ERNSTEN FINANZVERLUST BEREITEN KÖNNEN. Führen Sie einfach den Installateur und folgen Sie den Anweisungen. Sehen Sie CHANGE LOG unten für detaillierte Liste der Änderungen. AmiBroker 4.70 oder höher. Empfohlene AmiBroker 5.30 vor allem auf Vista und Windows 7. TWS Workstation (DEMO, PaperTrading ist in Ordnung) von interaktiven Brokern. Bevorzugte Version: 907 oder höher. Verwenden Sie keine TWS Version 945.1 - es ist Buggy, vor allem Web-Version. Der IB Controller (BrokerIB. EXE) ist eine separate Anwendung, die als Puffer zwischen AmiBroker und Interactive Brokers TWS fungiert. Es akzeptiert Befehle von AmiBroker und sendet Aufträge, um Informationen von TWS abzurufen. Es erlaubt auch, Aufträge manuell zu übertragen. Die IB-Controller-Applikation wird automatisch von AmiBroker ausgeführt, wenn die Formel den folgenden Aufruf enthält: Nach diesem Aufruf wird die BrokerIB. EXE (IB Controller) Applikation gestartet und die Variable ibc enthält den Zeiger auf OLE Automatisierungsobjekt mit mehreren Methoden (Funktionen) Erlauben es, Aufträge über TWS zu beschlagnahmen und Portfolioinformationen abzufragen. Diese Methoden (Funktionen) werden als beliebige Automatisierungsobjektmethoden aufgerufen, zB: if (ibc. IsConnected ()) prüfe, ob die Verbindung zu IB erfolgreich war ibc. PlaceOrder (quotMSFTquot, quotBUYquot, 100, quotMKTquot, 0, 0, quotDAYquot, False ) Platzauftrag, aber noch nicht übermitteln Hinweis: Dies ist eine Low-Level-Schnittstelle für fortgeschrittene Benutzer, die in so genannter Phase-one der Implementierung automatisierten Handel über IB zur Verfügung gestellt wird. Es wird eine übergeordnete Schnittstelle geben, die später implementiert wird. IB-Controller-Methoden (Funktionen): Diese Funktion stellt einen neuen Auftrag dar Die Funktion gibt den OrderId (String) zurück, der später zum Ändern des Status des Auftrags des Auftrags verwendet werden kann. Parameter: Ticker-String, der das Symbol des zu erwerbenden Sicherheitsbeauftragten angibt. Das Symbol sollte der im Detail definierten Symbologie folgen: amibrokerib. html Aktion - spezifiziert die zu ergreifenden Maßnahmen, mögliche Werte sind: quotBUYquot, quotSELLquot, quotSSHORTquot Menge - die Anzahl der Aktienbeteiligungen an buysell Typ - gibt Auftragsart an, mögliche Werte sind: quotMKTquot , QuotMKTCLSquot, quotLMTquot, quotLMTCLSquot, quotPEGMKTquot, quotSTPquot, quotSTPLMTquot, quotTRAILquot, quotRELquot, quotVWAPquot - konsultieren Sie die Dokumentation von Interactive Brokers TWS für weitere Informationen zu den Auftragsarten LimitPrice - das definiert den Grenzwert für Limit - und Stop-Limit-Aufträge StopPrice - das definiert Stop Preis für Stopp-Aufträge TimeInForce - definiert die Zeit in der Bestellung, mögliche Werte sind: quotDAYquot, quotGTCquot, quotIOCquot, quotGTDquot Ausgehend von v1.0.8 TimeInForce-Feld in PlaceOrderModifyOrder akzeptiert GTD - und GAT-Spezifikationen GTD - Good Till Date - zeigt an, dass die Bestellung Sollte bis zum Zeitpunkt und Datum gesetzt bleiben. Gute Till-Datums-Spezifikation GTD YYYYMMDD HH: MM: SS TZONE Wo: JJJJ ist 4-stelliges Jahr MM ist 2-stelliger Monat DD ist 2-stelliger Tag HH ist 2-stellige Stunde MM ist 2-stellige Minute SS ist 2-stellige Sekunde (OPTIONAL) TZONE ist Zeit Zone (OPTIONAL) Nach den regulären TimeInForce-Spezifikationen (DAY, GTC, GTD) können Sie extra GoodAfterTime (GAT) Teil hinzufügen. GAT-Teil kommt nach Semikolon. Es gibt an, dass der Handel nach dem festgelegten Zeitpunkt und dem Datum eingereicht werden soll: DAYGAT YYYYMMDD HH: MM: SS TZONE - Tagesordnung gültig nach festgelegtem Datum GTCGAT YYYYMMDD HH: MM: SS TZONE - gut bis stornierte Bestellung gültig nach festgelegter Zeit GTD yyyymmdd hh: Mm: ss tzoneGAT YYYYYMMDD HH: MM: SS TZONE - GTD Bestellung gültig nach festgelegter Zeit, wo: JJJJ ist 4-stelliges Jahr MM ist 2-stelliger Monat DD ist 2-stelliger Tag HH ist 2-stellige Stunde MM ist 2-stellige Minute SS ist 2-stellig (OPTIONAL) TZONE ist Zeitzone (OPTIONAL) Hinweis: Es muss kein SPACE zwischen Semikolon und GAT-String eingegeben werden. Ibc. PlaceOrder (MSFT. KAUFEN 100. LMT 27. 0. DAYGAT 20051214 18:00:00 GMT True) - Tag Limit Order gut nach Dez 14,2005, 18:00 GMT ibc. PlaceOrder (MSFT. 100. LMT 27. 0. GTD 20051215 17:00:00 GMTGAT 20051214 18:00:00 GMT True) - Limit Order gültig ab Dec 14,2005 18:00 bis Dec 15,2005 17:00 GMT ibc. PlaceOrder (MSFT. KAUFEN 100. LMT 27. 0. GTD 20051215 19:00:00 GMT True) - Limit Order gültig von jetzt bis Dez 15,2005 19:00 GMT Transmit - Boolean Flag, der angibt, ob gegebene Bestellung sein sollte Tatsächlich an den Austausch übertragen Wenn dieses Flag auf FALSE gesetzt ist, wird die Bestellung NICHT gesendet, sondern erscheint in der TWS-Workstation, so dass man sie später manuell ändern kann. Zusätzliche Parameter für IBController 1.0.4 oder höher: TickSize - definiert minimale Preisschwankungen für das gegebene Symbol in Pips (0,0001 ). Für die meisten US-Aktien ist es für die meisten Währungen 100 (entspricht 0,01 Umzug), für die meisten Währungen: 1 (entspricht 0,0001 Umzug), wenn die minimale Verschiebung kleiner als 0,0001 ist, können Sie fraktionale Werte verwenden, zB 1100 für 0,000001 move. additionelle Parameter für IBController 1.0.8 Oder höher: Attribute - ist ein String, der es erlaubt, zusätzliche Auftragsattribute anzugeben (kommagetrennte Liste).outsideRTH - falls angegeben bedeutet, dass dieser Auftrag nicht nur während der regulären Handelszeiten (RTH), sondern auch im erweiterten Handel (vor dem Markt) auslöst Gilt für Stopp-Aufträge, bedingte Aufträge und Warnungen, die von der Trigger-Logik verwendet werden. Wenn nicht angegeben (falsche) Aufträge NUR während RTH auslösen werden. AllOrNone - füllen Sie alle oder gar nichts aus eTradeOnly - Handel mit elektronischen Zitaten nur firmQuoteOnly - Handel mit festen Zitaten nur Version 1.1 ignoreRth rthOnly Flags sind OBSOLETE jetzt und nicht unterstützt als TWS API fallen Unterstützung für diejenigen. Standardmäßig sind alle Flags INACTIVE (OFF) Beispiel: ibc. PlaceOrder (MSFT. KAUFEN 1000. LMT 27. 0. GTD 20051215 19:00:00 GMT True 100. allOrNone) (Beachten Sie, dass optionaler Parameter TickSize MUST Wenn Sie Attribute verwenden möchten) ParentID - ist ein String, der die übergeordnete Auftragskennung angibt (zurückgegeben von vorherigem PlaceOrder-Aufruf), so dass Sie BRACKET-Aufträge platzieren können. ParentID ibc. PlaceOrder (MSFT KAUFEN 1000. LMT 27. 0. GTC Falsch) ibc. PlaceOrder (MSFT. SELL 1000. LMT 28. 0. GTC Falsche 100. ParentID) ibc. PlaceOrder ( MSFT. SELBST 1000. STP 26. 26. GTC True 100. ParentID) Beachten Sie, dass das TRANSMIT-Flag auf FALSE auf allen Klammer-Aufträgen außer dem letzten gesetzt ist. Dadurch wird sichergestellt, dass Aufträge warten, bis der Klammerauftragssatz abgeschlossen ist. Einstellung Transmit-Flag auf TRUE auf dem allerletzten überträgt ganze Klammer. OCAGroup - optionaler String-Parameter (neu in 1.1.0), mit dem OCA (One-Cancels-All) Gruppe von Aufträgen definiert werden können OCA-Gruppenaufträge arbeiten zusammen, wenn ein Auftrag innerhalb der Gruppe ausgeführt wird, werden die restlichen Aufträge storniert . Für weitere Informationen siehe: interactivebrokersphpwebhelpMakingTradesCreateOrderTypesoca. htmExample: ibc. PlaceOrder (MSFT. SELL 1000. LMT. 28. 0. GTC True 100. 0. MYGROUP) ibc. PlaceOrder (MSFT. SELL 1000. STP. 26. OVATUM - OCAType - optionaler numerischer Parameter (neu in 1.1.0), der die Kontrolle der Art und Weise ermöglicht, wie OCAGroup-Aufträge abgewickelt werden, wenn ein Auftrag in der Gruppe teilweise gefüllt ist. Mögliche Werte sind: 1 CANCELWITHBLOCK - andere Aufträge werden abgebrochen 2 REDUCEWITHBLOCK - andere Aufträge werden in Größe reduziert und Überfüllsicherung ist ON 3 REDUCENONBLOCK - andere Aufträge werden in Größe reduziert und Überfüllsicherung ist OFF Defaultwert ist 3 FAParams - optionaler String Parameter (neu In 1.1.0) - für den Einsatz mit FA (Financial Advisor aka FamilyampFriends) Konten. Ermöglicht die Angabe von FA-Kontozuweisungsgruppe, Profil, Methode und Prozentsatz. Diese vier Parameter sollten als Semikolon-getrennte Zeichenfolge bereitgestellt werden: quotFAGroupFAProfileFAMethodFAPercentagequot. Wenn ein Parameter nicht notwendig ist, kann er leer gelassen werden, aber Sie müssen Semikolons behalten, falls weitere Parameter erforderlich sind. Um beispielsweise die Reihenfolge anzugeben, die die quotAllquot-Gruppe verwendet und die quotEqualQuantityquot-Methode verwendet, sollte der FAParameter wie folgt aussehen: quotAllEqualQuantityquot: ibc. PlaceOrder (MSFT. KAUFEN 1000. LMT 27. 0. GTC True 100. 0. 0. AllEqualQuantity) Wenn du das benutzerdefinierte Zuordnungsprofil verwenden möchtest, kannst du folgendes verwenden: ibc. PlaceOrder (MSFT KAUFEN 1000. LMT 27. 0. GTC True 100. 0. 0. AllMyCustomProfile) Wenn FAPARams nicht zur Verfügung gestellt wird und Sie verwenden FA-Konto als IBc verwendet Standard-Zuweisung von quotAllAvailableEquityquot Beachten Sie, dass standardmäßig IB-Controller in quotAllquot-Konto, die quotaggregatequot ist, dh hält die Summe aller Positionen auf allen Unterkonten. Konto - optionaler String-Parameter (neu in 1.3.5) - für die Verwendung mit FA (Financial Advisor aka FamilyampFriends) Konten. Dies ermöglicht es, das Zielkonto für die Bestellung von FampFFA IB-Konten im Einzelanruf anzugeben, anstatt sich auf die SetAccountPlaceOrder-Sequenz zu verlassen. Single-Call PlaceOrderModifyOrder mit Kontospezifikation erlaubt es, Konto anzugeben, ohne sich darum zu kümmern, dass andere Threadsprocesses das Konto zwischen SetAccount () und PlaceOrder () umschalten können. Mod................................................................................... OCAType optionaler String FAParam optionaler String Account) Diese Funktion ändert die Reihenfolge, die noch nicht gefüllt wurde. Diese Funktion kann auch verwendet werden, um Aufträge zu ändern, die mit der Option "Transmit-Flag" auf "False" gesendet wurden. Auch wenn OrderID-Parameter leer ist, funktioniert diese Funktion genau wie PlaceOrder (so können Sie Aufträge mit der Funktion ModifyOrder () alleine platzieren und ändern) Die Funktion gibt den OrderId (String) zurück, der später zum Ändern des Status der Bestellung verwendet werden kann. Parameter: OrderId - Zeichenfolge, die die zu ändernde OrderID spezifiziert (von früherem PlaceOrder oder ModifyOrder-Aufruf zurückgegeben). Wenn dieser Parameter leer ist, stellt die Funktion eine neue Reihenfolge dar. Alle verbleibenden Parameter sind die gleichen wie bei der Funktion PlaceOrder In Version 1.1.0 wurde eine Verbesserung der ModifyOrder-Funktion hinzugefügt, wenn einige optionale Parameter wie ParentID, OCAGroup, OCAType, FAParam sind Nicht spezifiziert - dann verwendet er zuvor bereitgestellte Werte (bei PlaceOrder). Dies verhindert z. B. das Verhindern von ParentID beim Aufruf von ModifyOrder bei einer untergeordneten Bestellung ohne currect parentID. Diese Funktion storniert ausstehende Bestellung. True - wenn ausstehende Bestellung gefunden wurde und eine Abbruchanforderung gesendet wurde, False - wenn es keine ausstehende Bestellung mit bestimmten OrderId - Parametern gibt: OrderId - string, die die zu ändernde OrderID angibt (von früherem PlaceOrder oder ModifyOrder - Aufruf zurückgegeben). GetAccountValue (string FieldName) Diese Funktion ruft die Account-Werte ab. String, der den Wert darstellt. Beachten Sie, dass, wenn Sie die Nummer in AFL benötigen, sollten Sie die StrToNum-Konvertierungsfunktion verwenden, die die von dieser Funktion zurückgegebene Zeichenfolge in die Zahl umwandelt. Leerer String wird zurückgegeben, wenn das Feld nicht existiert oder leer ist. Parameter: Feldname - definiert den Wert zur Abfrage Liste der verfügbaren Felder (Groß - / Kleinschreibung beachten): 1. Die Felder, die entweder währungsunabhängig sind oder in BASE-Kontowährung ausgedrückt werden (in der Regel Summen): AccountCode AccountReady AccountType AccruedCash CashBalance Währung DayTradesRemaining DayTradesRemainingT1 DayTradesRemainingT2 DayTradesRemainingT3 DayTradesRemainingT4 ExchangeRate FuturesPNL Leverage-S LookAheadNextChange NetLiquidationByCurrency OptionMarketValue PNL RealizedPnL StockMarketValue TotalCashBalance UnrealizedPnL 2. Felder, die separat für jede auf dem Konto gehaltene Währung bereitgestellt werden, bedeutet CUR in der nachfolgenden Liste Währungssymbol, also für USD lautende Fonds und Wertpapiere sehen Sie USD Präfix. Hinweis IDEALPRO Spot Forex Positionen sind in CURCashBalance hier enthalten. CURAccruedCash CURAccruedCash-C CURAccruedCash-S CURAvailableFunds CURAvailableFunds-C CURAvailableFunds-S CURBuyingPower CURCashBalance CURCurrency CUREquityWithLoanValue CUREquityWithLoanValue-C CUREquityWithLoanValue-S CURExcessLiquidity CURExcessLiquidity-C CURExcessLiquidity-S CURFullAvailableFunds CURFullAvailableFunds-C CURFullAvailableFunds-S CURFullExcessLiquidity CURFullExcessLiquidity-C CURFullExcessLiquidity-S CURFullInitMarginReq CURFullInitMarginReq-C CURFullInitMarginReq - S CURFullMaintMarginReq CURFullMaintMarginReq-C CURFullMaintMarginReq-S CURFutureOptionValue CURFuturesPNL CURGrossPositionValue CURGrossPositionValue-S CURInitMarginReq CURInitMarginReq-C CURInitMarginReq-S CURLeverage-S CURLookAheadAvailableFunds CURLookAheadAvailableFunds-C CURLookAheadAvailableFunds-S CURLookAheadExcessLiquidity CURLookAheadExcessLiquidity-C CURLookAheadExcessLiquidity-S CURLookAheadInitMarginReq CURLookAheadInitMarginReq-C CURLookAheadInitMarginReq-S CURLookAheadMaintMarginReq CURLookAheadMaintMarginReq-C CURLookAheadMaintMarginReq-S CURLookAheadNextChange CURMaintMarginReq CURMaintMarginReq-C CURMaintMarginReq-S CURNetLiquidation CURNetLiquidationByCurrency CURNetLiquidation-C CURNetLiquidation-S CURPreviousDayEquityWithLoanValue CURPreviousDayEquityWithLoanValue-S CUROptionMarketValue CUROptionMarketValue CURRealizedPnL CURSMA CURSMA-S CURStockMarketValue CURTotalCashBalance CURTotalCashValue CURTotalCashValue-C CURTotalCashValue-S CURUnalteredInitMarginReq CURUnalteredMaintMarginReq CURUnrealizedPnL Wenn Währung angegeben ist NICHT IBc erste Blicke Für Werte, die in der BASE-Währung angegeben sind und wenn nicht gefunden wird, verwendet dann USD als Standard, so dass Sie Alt-GetAccountValue (quotAvailableFundsquot) verwenden können und es wird das gleiche wie GetAccountValue (quotUSDAvailableFundsquot) zurückgeben - da dort verfügbare Mittel nicht in Basiswährung angegeben sind. Wenn Sie jedoch GetAccountValue (quotTotalCashBalancequot) anrufen, wird es in BASE-Währung berichten und es kann sich von GetAccountValue (quotUSDTotalCashBalancequot) unterscheiden, das nur USD nur Geld darstellt. Unterschiede werden auftreten, wenn Sie in vielen Währungen Bargeldpositionen haben, so dass die Quoten-Summe die Gesamtsumme aller Positionen in allen Währungen anzeigt, als ob sie in die Basiswährung umgetauscht wurden. GetExecInfo (String OrderId, String Field) Diese Funktion ruft den Wert des Field of OrderId ab Bestellen Sie aus der Ausführungsliste den numerischen oder sting-Wert des angeforderten Feldes für OrderId. Null, wenn kein Feld oder keine solche Position vorhanden ist Parameter: OrderId - String, der die Reihenfolge spezifiziert (von der PlaceOrder-Funktion zurückgegeben oder von GetExecList abgerufen). Feld - einer der Spaltennamen, die auf der Seite "ExExecingsquot" des IB-Controllers gefunden wurden. Zum Beispiel quotAvg. Preisquot gibt durchschnittlichen Preis des Kaufs der gegebenen Sicherheit, quotFilledquot gibt die Anzahl der Aktienbeteiligungen gefüllt GetExecList (Nummer Typ. String Filter) (neu in 1.3.0) Gibt Komma getrennte Liste der Aufträge aus der Ausführungsliste zurück Parameter: Typ - gibt an, was zurückgegeben werden soll 0 - gibt ORDERIDs (derzeit ist dies der NUR-Wert akzeptiert) Filter - wenn nicht leer es sagt IBc, dass nur Bestellungen mit bestimmten Status sollte zurückgegeben werden, wenn leer - alle Bestellungen aus ausstehende Liste zurückgegeben werden. Symbole ibc. GetPendingList (0. Gefüllt) - gibt Komma getrennte Liste der vollständig gefüllten Auftrags-IDs zurück Symbole ibc. GetPendingList (0.) - Rückgabe der Liste aller im Quotexecutions-Listenfeld vorhandenen OrderIDs Um Symbole aus der Liste zu extrahieren, verwenden Sie diese Art von Loop: Für (i 0 (Symbol StrExtract (Symbole, i)) i) printf (Symbol: Symbol n) Execlist ibc. GetExecList (0.) Liste aller Aufträge aus Ausführungen Seite execinfo für (i 0 (OId StrExtract (Execlist, i)) I) execinfo execinfo OID Symbol: ibc. GetExecInfo (OID, Symbol) Gefüllt: ibc. GetExecInfo (OID, gefüllt) Durchschn. Preis: ibc. GetExecInfo (OID, Avg. Preis) n Diese Funktion gibt den Text der letzten Fehlermeldung zurück, die die Fehlermeldung darstellt. Leere im Fall, wenn es keine Fehlermeldung gab oder es keine solche Bestellung gibt OrderId - gibt die Bestell-ID an, um die letzten Fehlerinformationen abzufragen. Es gibt einen besonderen Wert, den du passieren kannst: 0 (null) und es hat eine besondere Bedeutung: Es ruft die letzte Fehlermeldung für jeden Auftrag ab. Dies ist genau diese Meldung, die am oberen Rand der Fehlerliste in der IBController-Benutzeroberfläche erscheint. GetStatus (String OrderId. Optional boolean InclFilled) Diese Funktion ruft den Status des ausstehenden Auftrags ab. String, der den Status beschreibt, kann es sein: quotNotYetTransmittedquot, quotPreSubmittedquot, quotPendingquot, quotCancelledquot, quotSubmittedquot, quotFilledquot, quotErrorquot (neu in 1.0.2), quotInactivequot oder leer, wenn Matching Order nicht gefunden wurde Abhängig vom InclFilled-Feld sind einige Status intermittierend. Wenn InclFilled nicht angegeben oder gleich false (Null) ist, dann nur quotNotYetTransmittedquot, quotPendingquot, quotPreSubmittedquot, quotSubmittedquot Status werden konsistent gemeldet. QuotCancelledquot und quotFilledquot Status sind intermittient, weil solche Aufträge aus einer ausstehenden Auftragsliste innerhalb einer Sekunde aus der Abrechnung der Bestellung entfernt werden (dies wird sich in Zukunft ändern). \Errorquot-Status bedeutet, dass bei der letzten Bearbeitung ein Fehler vorliegt, um eine Bestellung zu beschreiben und Sie können detaillierte Fehlerinformationen mit der GetLastError-Funktion abfragen. Wenn InclFilled auf True gesetzt ist, werden auch Status von Aufträgen, die auf der quotExecutionsquot-Liste aufgeführt sind, gemeldet, und das bedeutet, dass Sie quotCancelledquot, quotFilledquot, quotErrorquot, quotInactivequot konsistent erhalten können. Anmerkung: InclFilled-Parameter wurde in 1.0.8 eingeführt. Parameter: OrderId - String, der die zu modifizierende OrderID angibt (von früherem PlaceOrder oder ModifyOrder Call zurückgegeben). GetPositionInfo (String Ticker String Field) Diese Funktion ruft den Wert des aktuell im Portfolio enthaltenen Field of Ticker-Symbols ab. WICHTIGER CHANGE in 1.1.0. Die Funktion gibt keine Positionen mit null Größen mehr an den numerischen Wert des angeforderten Feldes für Ticker. Null, wenn kein Feld oder keine solche Position vorhanden ist Parameter: Ticker - String, der das Symbol des Securitycontract angibt. Das Symbol sollte der im Detail definierten Symbologie folgen: amibrokerib. html Feld - einer der Spaltennamen, die in der quotPortfolioquot Seite des IB Controllers gefunden wurden. Zum Beispiel quotAvg. Costquot gibt durchschnittliche Kosten für den Kauf der gegebenen Sicherheit, quotUnrealisierte PNLquot gibt unrealisierte Gewinn und Verlust. Diese Funktion ruft die Anzahl der Aktienaufträge des Ticker-Symbols ab, die derzeit im Portfolio gehalten werden, die Nummer, die die aktuell gehaltene Positionsgröße für Ticker beschreibt. Positive Zahlen bedeuten lange Position, negative Zahlen bedeuten kurze Position, Null bedeutet, dass der Ticker nicht im Portfolio stattfindet Parameter: Ticker - String, der das Symbol des Securitycontract angibt. Das Symbol sollte der im Detail definierten Symbologie folgen: amibrokerib. html IsConnected () Diese Funktion ruft den Verbindungsstatus zu TWS ab. 0 - NEIN Verbindung 1 - Verbindung läuft 2 - bedeutet Verbindung OK, keine Meldungen 3 - Verbindung OK, aber TWS generiert einige Warnfehlermeldungen (siehe Registerkarte "Ziffern") IsOrderPending (String OrderId) Diese Funktion prüft, ob die Bestellung anhängig ist (oder noch nicht) Übertragen). True - wenn die Bestellung noch in der ausstehenden Liste steht, False, wenn die Bestellung gefüllt wurde, abgebrochen oder es gibt keine solche Bestellung an allen Parametern: OrderId - String, die die zu ändernde OrderID angibt (von früherem PlaceOrder oder ModifyOrder Call zurückgegeben). Gibt eine kommagetrennte Symbolliste der aktuell geöffneten Positionen zurück. WICHTIGER ÄNDERUNG in 1.1.0. Die Funktion gibt keine Positionen mit null Größen mehr Liste der offenen Positionen und deren Größen ibc GetTradingInterface (IB) für (i 0 (Symbol StrExtract (openpos, i)) i) printf (Position i tSymbol: Symbol tGröße: ibc. GetPositionSize ( Symbol) n) Gibt Komma getrennte Liste von Aufträgen aus ausstehender Liste zurück Parameter: Typ - gibt an, was zurückgegeben werden soll 0 - gibt ORDERIDs, 1 gibt Symbollisten Filter - wenn nicht leer, sagt es IBc, dass nur Aufträge mit dem angegebenen Status bei leerem zurückgegeben werden sollen - alle Aufträge aus der ausstehenden Liste werden zurückgegeben. Symbole ibc. GetPendingList (0. Pending) - gibt Komma getrennte Liste der ausstehenden Auftrags-IDs zurück Symbole ibc. GetPendingList (1. Pending) - gibt Komma getrennte Liste von SYMBOLS zurück, die ausstehende Aufträge Symbole ibc. GetPendingList (0. Error) - Rückgabeliste Von Ordnern, die Fehler haben Symbole ibc. GetPendingList (0. Abgebrochen) - gibt die abgebrochenen orderids zurück (bitte beachten Sie, dass die stornierte Bestellung nach wenigen Sekunden automatisch aus der Liste entfernt wird) Symbole ibc. GetPendingList (0.) - gibt die Liste aller OrderIDs zurück (Symbole, i)) i) printf (Symbol: Symbol n) CloseAllOpenPositions (optional.).Anzeigen Sie die Option aus String Ticker) (neu in 1.0.8) Sendet Aufträge, um alle derzeit offenen Positionen zu schließen. Sendet MARKET SELLBUY-Auftrag für jede LONGSHORT-Position in der Portfolioseite - sollte alle offenen Positionen effektiv schließen (sofern die Abschlussaufträge korrekt füllen), beachten Sie jedoch, dass es möglich sein kann, dass diese Abschlussaufträge fehlschlagen können (zB wenn die Märkte geschlossen sind ) Neu in 1.1.0: jetzt Funktion akzeptiert optionalen Parameter. Wenn es vorgesehen ist, schließt die Funktion Positionen nur auf dem angegebenen Ticker. Wenn es nicht angegeben ist, funktioniert es wie zuvor (schließt Positionen auf allen Symbolen). CancelAllPendingOrders (optionaler String Ticker) (neu in 1.0.8) Storniert alle ausstehenden Aufträge Sendet Abbruch für jede Bestellung auf der Seite Ausstehende Aufträge (mit Ausnahme von Aufträgen mit Fehlern) Neu in 1.1.0: jetzt Funktion akzeptiert optionalen Parameter . Wenn es vorgesehen ist, storniert die Funktion nur Aufträge des angegebenen Tickers. Wenn es nicht spezifiziert ist, funktioniert es wie vorher (storniert alle ausstehenden Aufträge auf allen Symbolen). Sende (String OrderID) (neu in 1.0.8) Ändert das Sendeflag auf NotYetTransmitted order Paramters: OrderID - String, der die von PlaceOrder zurückgegebene orderid angibt. Rückgabewert ungültig (true), wenn Bestellwert in der ausstehenden Auftragsliste gefunden wurde und ansonsten null. Es bedeutet nicht zwangsläufig, dass die Übertragung erfolgreich war. Transmit (orderid) wird verwendet, um Aufträge zu übermitteln, die zuvor mit dem Sende-Flag gesetzt wurden, das auf false gesetzt wurde. Sende intern wird mit dem Aufruf von quotmodify orderquot-Funktion bearbeitet (also musst du nicht die gleichen Parameter nochmal angeben), aber beachten Sie, dass TWS Probleme mit der Bearbeitung von Änderungsaufträgen hat, die zu schnell kommen, so dass Sie NICHT in der Lage sein werden, modifytransmit sofort nach der Auftragsabwicklung zu übermitteln falsch. In solchen Fällen empfehlen wir den manuellen Auslöser, der langsam genug ist, um keine Probleme zu verursachen. Beispiel: ibc. Transmit (orderid) Dies ist EXPERIMENTAL Funktion. Unterbricht die Ausführung für die angegebene Anzahl von Millisekunden. Bitte benutze diese Funktion NICHT, solange du nicht musst. Da es sowohl IBController als auch AmiBroker für einen bestimmten Zeitraum sperrt und beide Anwendungen nicht auf Benutzeraktionen reagieren (z. B. mousekeyboard input). Wenn Sie die Ausführung für mehr als wenige Sekunden aussetzen, wird sich AmiBroker über den OLE-Server beschweren, der nicht reagiert. Beispiel: ibc. Sleep (1000) Schlaf für 1000 Millisekunden 1 Sekunde Löscht die angegebene Anzeigeliste. Wo ListNo sein kann: 0 - ausstehende Auftragsliste 1 - Ausführungsliste 2 - Portfolioliste 3 - Kontoinformationsliste 4 - Fehlermeldungsliste -1 - Sonderbedeutung (neu in 1.3.5) - ALLE Listen löschen ibc. ClearList (4) Löscht die Fehlermeldungsliste Beachten Sie, dass diese Funktion nur die Anzeige beeinflusst, beeinflusst sie den Status der Aufträge nicht. Also, wenn Sie irgendwelche aktiven Aufträge haben, werden die quotexecutionslotlisten mit aktuell aktiven Aufträgen bei der nächsten Statusaktualisierung (in der Regel im Bruchteil der Sekunde - also nicht visuell spürbar) erneut ausgefüllt. Es gilt auch für Portfolio - und Account-Informationen - sie werden mit dem nächsten Account-Update erneut ausgefüllt - in der Regel innerhalb von wenigen Sekunden. SetAccount (String Account) (neu in 1.1.0, geändert in 1.3.5) WICHTIG: Die Funktionalität dieser Funktion wurde in 1.3.5 nur für FA (Finanzberater) Konten geändert. Setzt aktives Konto für die nächsten PlaceOrder () ModifyOrder () Anrufe. Beachten Sie, dass es nun auch möglich ist, das Zielkonto direkt über den an PlaceOrderModifyOrder übergebenen Parameter anzugeben, anstatt auf SetAccount () zu verweisen. SetAccount () löscht keine Listen mehr und ändert NICHT das Betrachtungskonto wie in Pre-1.3.5 Versionen. Clearing-Ausführung und ausstehende Liste war problematisch, weil beim Umschalten der Konten die Informationen über zuvor gesendete Aufträge auf unterschiedlichem Konto auf FampF-Konten verloren gingen. So setzt SetAccount () keine Listen automatisch aus. Wenn du das tun willst, kannst du ClearList (-1) explizit anrufen. Auch diese Funktion ändert NICHT das Konto, das im Quotaccount-Infoquot-Fenster angezeigt wird, und quotportfolioquot-Registerkarten. Um das Konto zu ändern, das in der Quotaccount-Informationsseite angezeigt wird, und quotportfolioquot-Tabs verwenden Sie die neue Funktion SetInfoAccount (). Die Trennung von Auftrags - und Betrachtungskonten ermöglicht es, Aufträge auf ein Konto zu verweisen, bei dem man irgendwelche Ansichten ändern kann, d. h. Sie können die AnsichtskontaktAllquot-Konto überwachen, die kumulative Informationen für alle FampFFA-Konten oder ein anderes Konto anzeigt, während Aufträge für andere Konten vergeben werden. Standardmäßig ist die Anzeige von Informationen über das Quotenkonto und in den meisten Fällen gibt es keine Notwendigkeit, es zu ändern, da es Updates von allen Unterkonten erhält. SetInfoAccount (String Account) (neu in 1.3.5) Diese Funktion ändert das Konto, das im Quotaccount-Infoquot-Fenster und den quotportfolioquot-Tabs angezeigt wird. Es wird kein Konto für Bestellungen verwendet. Die Trennung von Auftrags - und Betrachtungskonten ermöglicht es, Aufträge auf ein Konto zu verweisen, bei dem man irgendwelche Ansichten ändern kann, d. h. Sie können die AnsichtskontaktAllquot-Konto überwachen, die kumulative Informationen für alle FampFFA-Konten oder ein anderes Konto anzeigt, während Aufträge für andere Konten vergeben werden. Standardmäßig ist die Anzeige von Informationen über das Quotenkonto und in den meisten Fällen gibt es keine Notwendigkeit, es zu ändern, da es Updates von allen Unterkonten erhält. Beachten Sie, dass IB verwendet quotAquot-Index, um quotAllquot-Konto zu bezeichnen, das Summe aller Unterkonten ist. Also, wenn Ihr FA-Konto eine Anzahl von F1234 hat, müssen Sie quotAquot-Suffix dazu hinzufügen, um aggregierte Daten zu erhalten: Schließt die Verbindung zu TWS und öffnet sie, löscht alle Listen und Requireies für ausstehende Bestellungen. Im Wesentlichen gibt die gleiche Wirkung wie Sie erreichen würde durch Beenden und Re-Laufen IB-Controller. 1. Platzierung und Übermittlung von Market Buy Order für 100 Aktien, wenn MACD überquert Signalleitung: Buy Cross (MACD (), Signal ()) if (LastValue (Buy)) ibc GetTradingInterface (IB) Überprüfen Sie, ob wir verbunden sind, wenn (ibc. IsConnected ()) Überprüfen Sie, ob wir noch keine offene Position auf diesem Bestand haben, wenn (ibc. GetPositionSize (Name ()) 0) die Bestellung übergeben ibc. PlaceOrder (Name (), Kauf 100. MKT 0. 0. Tag True) 2. Platzierung einer Limit Order zum aktuellen Preis plus 0,10 aber ohne Übertragung (manuelles Senden erforderlich). Dieser Code kann viele Male ausgeführt werden und es wird die bestehende Bestellung ändern, solange er nicht übertragen wird. Es verwendet statische Variablen, um orderId vom letzten Lauf zu speichern. Kaufen Sie L gt Ref (H. - 1) kaufen, wenn die Preise spalten, wenn (LastValue (Buy)) ibc GetTradingInterface (IB) überprüfen, ob wir verbunden sind OK, wenn (ibc. IsConnected ()) Bestellungen nur dann, wenn wir noch nicht haben Offene Position auf diesem Symbol, wenn (ibc. GetPositionSize (Name ()) 0) die OrderID aus dem vorherigen Run abrufen, leer ist, wenn keine Bestellung vor OrderID StaticVarGetText (OrderID Name ()) platziert oder geändert wurde Ibc. ModifyOrder (OrderID, Name (), KAUFEN 100. LMT. LastValue (C) 0.10. 0. Tag Falsch) Bestellcode für den nächsten Lauf, so dass wir wissen, welche Reihenfolge StaticVarSetText (OrderID Name (), OrderID) 3 ändern soll Manuelles Ändern manuell aus dem Dialogfeld Parameter. Code, der in Indicator Builder angewendet werden soll. (Geändert, um neue Funktionen in 1.0.2 zu verwenden) Dieser Code kann viele Male ausgeführt werden und es wird die bestehende Bestellung ändern, solange er nicht übertragen wird. Es verwendet statische Variablen, um orderId vom letzten Lauf zu speichern. Param-Block TriggerOrder ParamTrigger (Bestell-Nr. MXLMTSTP) TIF ParamList (Time In Force DAYGTCIOC) Ticker ParamStr (Ticker) Name ()) NumShares Param (Anzahl der Aktien 10. 10. 100. 10) LimitPrice LastValue (C) Param (Limit Price Offset 0, - 0.1 0.1 0.01) StopPrice LastValue (C) Param ( Stoppen Sie den Preis-Offset 0, - 0.1. 0.1 0.01) Sende ParamToggle (Transmit. NICHT sendenTransmit. 0) TriggerCancel ParamTrigger (Auftrag abbrechen) Hier klicken, um die Bestellung abzubrechen) Msg diese Variable speichert Fehlermeldung Text erstellen Instanz der Trading-Schnittstelle ibc GetTradingInterface (RFIDIsConnected ()) if (Modus 1) OrderID if-Modus (wenn Sie mit OK verbunden sind) Setzen Sie auf immer neue, dann klare Bestellpositionen nur, wenn wir noch keine offene Position auf diesem Symbol Platz haben oder ändern Sie die Bestellung - noch nicht zu senden, um zu bestellen. OrderID ibc. ModifyOrder (OrderID, Ticker, ACT, NumShares, OT, LimitPrice, StopPrice, TIF , Transmit) Store OrderID für den nächsten Run, so dass wir wissen, welche Reihenfolge zu StaticVarSetText (OrderID Ticker, OrderID) zu ändern, wenn (Mode 1) Msg Neue Bestellung wurde mit ID sonst Msg Bestellung platziert mit ID Msg Msg OrderID auf Now () sonst Msg Auftragsbestellung fehlgeschlagen wegen Keine Verbindung zu TWS if (TriggerCancel) if (OrderId) if (ibc. CancelOrder (OrderId)) Msg Anforderung zum Abbruch der Bestellung OrderID wurde erfolgreich gesendet Msg Anforderung zur Auftragsannullierung wurde fehlgeschlagen. Else Msg Kann die Bestellung nicht abbrechen, falls OrderID ist leer Execlist ibc. GetExecList (0.) alle execinfo für (i 0 (OId StrExtract (execlist, i)) i) execinfo execinfo OID Symbol: ibc. GetExecInfo (OID, Symbol) Gefüllt: Ibc. GetExecInfo (OID, gefüllt) Durchschn. Preis: ibc. GetExecInfo (OID, Avg. Preis) n Überwachungscode Titel Msg nLast TWS Nachricht: ibc. GetLastError (0) nAvailable Fonds: ibc. GetAccountValue (AvailableFunds) Gross Pos. Value: ibc. GetAccountValue( GrossPositionValue ) nOrderID OrderId nTicker Ticker nAction ACT nShares NumToStr (NumShares, 1.0 ) nOrderType OT nLimitPrice NumToStr (LimitPrice, 1.3 ) nStopPrice NumToStr (StopPrice, 1.3 ) nTimeInForce TIF nTransmit NumToStr (Transmit, 1.0 ) n nGetStatus ibc. GetStatus( OrderID ) nGetPositionSize ibc. GetPositionSize( Ticker ) nIsConnected NumToStr (ibc. IsConnected(), 1.0 ) nExecInfon execinfo 4. Placing bracket order create instance of trading interface ibc GetTradingInterface ( IB ) parentID ibc. PlaceOrder( MSFT. BUY. 1000. LMT. 27. 0. GTC. False ) ibc. PlaceOrder( MSFT. SELL. 1000. LMT. 28. 0. GTC. False . 100. . parentID ) ibc. PlaceOrder( MSFT. SELL. 1000. STP. 26. 26. GTC. True . 100. . parentID ) Note that TRANSMIT flag is set to FALSE on all bracket orders except the last one. This ensures that orders wait until bracket order set is completed. Setting Transmit flag to TRUE on the very last one transmits entire bracket. 5. Iterating through open positions: ibc GetTradingInterface ( IB ) for ( i 0 ( symbol StrExtract ( openpos, i ) ) i ) printf ( Position i tSymbol: symbol tSize: ibc. GetPositionSize( symbol ) n ) 6. Placing OCA group orders: ibc. PlaceOrder( MSFT. SELL. 1000. LMT. 28. 0. GTC. True . 100. . 0. MYGROUP ) ibc. PlaceOrder( MSFT. SELL. 1000. STP. 26. 26. GTC. True . 100. . 0. MYGROUP ) 1) Why IBController has BETA status The reason is simple - because it relies on IB API we have no control upon. You need to be aware of the fact that Interactive Brokers may and actually do change TWS and API quite often and any future changes in the APITWS may produce incompatiblities without any warning. We try to adjust IBController as soon as such incompatibilities surface, but we can only do that quotafter the factquot. Due to this there can be periods when IBController does not work properly with certain version(s) of TWS. That is the only reason why IBController is marked as BETA. 2) What exactly is the OrderID, where is the number stored How does it increment Can we assign our own OrderIDs OrderID is a string that represents the unique order number that is assigned by IB Controller (for orders placed via IB Controller) or TWS (for orders placed in TWS) when you place the order. It is automatically incremented on each NEW order. The implementation takes care that generated ID is unique for given session of TWS. You should NOT assign your own IDs because you may risk generating duplicates that will be rejected by TWS. 3) The IB Interface contains a lot of useful information, can we access this information in afl GetAccountValue() function (introduced in 1.0.2) allows that. 4) IMPORTANT. During development i often quotlosequot my connection to the TWS and cannot get it going again. Under what conditions candoes this happen This is probably caused by placing ModifyOrder calls too often so TWS is not able handle them and sends error messages (quotUnable to modify this order as its still being processedquot) and it results in IsConnected() returning false. This should be addressed by next version. If such thing happens you can simply close IB Controller window. 5) Is it possible to read IB LastBifAsk prices while running a eSignal database Right now there is no access to price data via IBController but maybe in the future 6) Why do we have a PlaceOrder() and a ModifyOrder(), if ModifyOrder can be used in both cases Just for completeness. Indeed ModifyOrder alone would be enough. 7) Can we retrieve the quotExecutionsquot and quotPendingquot page (string) from the IB Controller window, for display on the chart Pending - yes you can retrieve the status of the order while it is on quotPendingquot page using GetStatus. As for quotexecutionquot tab - as it is already described in the read me this is in the works. 8) It appears the startup sequence of TWS and AB is significant, is it Not actually TWS and AB - they are independent. But what is important to run TWS before running IB Controller. If you however have your trading code in indicator then it may be auto-refreshed at AB start and in this individual case you would need to run TWS before AB. Anyway if something fails you can simply close IB controller window and it will re-open automatically and reconnect on next call to GetTradingInterface. 9) When the TWSAB connection is broken during trading, what is the best way to restore it Close IB Controller manually. It will re-open automatically and reconnect on next call to GetTradingInterface. 10) What is the consequence of repeated PlaceOrder() or ModifyOrder() execution due to AB Refresh What happens when, instead of using Cross() with use quotgtquot or quotltquot Franly auto-trading interface is NOT indented to be used in indicators. It is intended to be used in AA window. But if you prefer to run it in IB you can do this too, but then you should check pending orders and check portfolio position size for given symbol not to buy too many shares. To answer your question: multiple PlaceOrder calls will result in multiple orders placed. Multiple ModifyOrder() calls may result in the same (if OrderID is empty) or may just result in updating the values of already exisiting, pending order if you specify correct OrderID of order placed before (see the example 2.) 11 ) A quotclearquot Message button would be nice in the IBc window, i have to scroll down continuously to see the latest message (perhaps last-on-top scrolling) It is already available in version 1.0.2 12) What is the best way to write a single-(user initiated)-execution line of code. this is where the ParamTask() i suggested earlier would come in handy. Use new AFL ParamTrigger function ParamTrigger( quotNamequot, quotButton textquot) - to be used in indicator builder - to create triggers (buttons). If you place ParamTrigger in the indicator code it will create a quotbuttonquot in Parameter dialog that can be pressed. Normally ParamTrigger will return zero (0) but when button in the param window is pressed then it will refresh the chart and ParamTrigger will return 1 (one) for this single execution (further refreshes will return zero, until the button is pressed again) trigger ParamTrigger ( Place Order. Click here to place order ) if ( trigger ) your one-shot code here 13) When placing orders from an indicator (the thing to do in RT trading) and editing the code will result in additional afl executions, how can i prevent randon order placement from the extra passes Parameters and Signals may not be the same as a result of using loops, DLLs, and things. Use static variables as given in example 2 to MODIFY existing order instead of placing many new orders. Or use code given in response to question 10 14) I got an warning from TWS that is treated as error in Pending list. How can I solve that You can put specific TWS code onto quotIgnore listquot (use File-gtError code ignore list to enter codes in comma separated list). Any code entered here will be ignored by Pending List page, but still will be displayed in the messages window. 15) some message in the IBc are not clearprecise in their meaning. Well these messages come from TWS and I have no influence on their wording :-) CHANGES FOR VERSION 1.3.8 removed the workaround introduced in 1.3.5 for symbol translation because it caused problems for symbols like 6EU0-GLOBEX-FUT where symbol is not equal to local symbol less expiration code (EUR vs 6E). Instead symbol translation now relies solely on method introduced in 1.3.6 CHANGES FOR VERSION 1.3.7 GetPositionList() returned empty symbol part for non-stocks. Fixed PlaceOrder failed on Financial advisor accounts when non-master Account was passed in a parameter without preceding SetAccount call. Fixed. CHANGES FOR VERSION 1.3.6 IBController now uses more reliable way to translate from local symbol to TWS symbolexpiry pair based on information sent back by TWS. (It is not as simple as one may think because sometimes local symbol does not contain TWS symbol, so one can not derive TWS symbol from local symbol in general case, for example FESX SEP 10 local symbol translates to ESTX50,20100917, therefore IBController needs to get info from TWS) CHANGES FOR VERSION 1.3.5 New SetInfoAccount( account ) This function changes the account which is displayed in the quotaccount informationquot window and quotportfolioquot tabs. It does NOT change account used for orders. Separation of order and viewing accounts allows directing orders to any account withing changing any views, i. e. you can monitorview quotAllquot account - that displays cumulative information for all FampFFA accounts or any other account while placing orders for other accounts. By default viewing information is the quotALLquot account and in most cases there is no need to change it as it receives updates from all sub-accounts. To workaround recent change in TWS, for futures (FUT) symbol field is set by IBController as localsymbol without expiration monthyear. This is temporary workaround which may be broken by other TWS releases. Tested to work with TWS 907.7Pending OrdersExecutionsPortfolioAccount info tabs now have additional command quotAccountquot that specifies the account given item refers toPlaceOrder and ModifyOrder now accept optional Account parameterThis allows to specify destination account for order for FampFFA IB accounts in single call, instead of relying on SetAccountPlaceOrder sequence. Single-call PlaceOrderModifyOrder with account specification allows to specify account without worrying that other threadsprocesses can switch the account between SetAccount() and PlaceOrder(). Now SetAccount() only sets account for NEXT order(s). It does NOT clear lists anymore and does NOT change viewing accountClearing execution and pending list was problematic because when switching accounts the information about previously sent orders on different account was lost on FampF accounts. So SetAccount() does not clear lists automatically. If you want to do this, you can call ClearList( -1 ) explicitely. Also this function does NOT change the account which is displayed in the quotaccount informationquot window and quotportfolioquot tabs. To change account displayed in the quotaccount informationquot page and quotportfolioquot tabs use new function SetInfoAccount(). Separation of order and viewing accounts allows directing orders to any account withing changing any views, i. e. you can monitorview quotAllquot account - that displays cumulative information for all FampFFA accounts or any other account while placing orders for other accounts. By default viewing information is the quotALLquot account and in most cases there is no need to change it as it receives updates from all sub-accounts. ClearList() method accepts -1 as listno - then it clears ALL lists CHANGES FOR VERSION 1.3.2 fixed compatibility issues with TWS version 904 CHANGES FOR VERSION 1.3.1 added configuration file to support AmiBroker 5.30 trading from chart functionality CHANGES FOR VERSION 1.3.0 added GetExecList and GetExecInfo functions. CHANGES FOR VERSION 1.2.1 The IBc now accepts new symbology convention with 4th part defining currency: SYMBOL-EXCHANGE-TYPE-CURRENCY. When currency is not specified USD is used as default. For more info see amibrokerib. html The IBc also accepts single letter type codes CHANGES FOR VERSION 1.2.0 IBc now allows to define which error codes should be ignored using File-gtError code ignore list upgraded to use latest TWS API 9.41 (tested with latest TWS 885.7, requires at least 879) following TWS API changes ignoreRth and rthOnly flags are removed and replaced with single flag: outsideRTH Quote from TWS DOC interactivebrokersensoftwareapiReleaseNotesapi94.phpibentityllc quotOutsideRTH Flag Replaces quotIgnore Regular Trading Hoursquot and quotRegular Trading Hours Onlyquot Flags Supported in: All API Platforms A new, single order atttibute, bool OutsideRTH(), replaces two flags: ignoreRTH and rthOnly in the Order classstruct. If set to true, this new extended order attribute allows orders to trigger or fill outside of regular trading hours. quot CHANGES FOR VERSION 1.1.1 primaryExchange is now set to empty. This solves quotinvalid symbolquot problem occuring for some accounts during last 2 weeks following apparent changes in IB. CHANGES FOR VERSION 1.1.0 Added handling of error codes 2100, 1100, 1101, 1102, 1300 Financial advisor Account support (FC Issue 69) : Added FA-only fields to PlaceOrderModifyOrder When run on FA account IBc automatically queries for account list and uses quotAllquot account by defaultGetAccountValue now allows to query values separately for each currency. Currency specific values are available using this syntax: CURFieldName where CUR is currency symbol for example: USDAvailableFunds EURAvailableFundsWhen currency is NOT specified IBc first looks for values specified in BASE currency and if not found then uses USD as default, so you can use old-style GetAccountValue(quotAvailableFundsquot) and it will return the same as GetAccountValue(quotUSDAvailableFundsquot) - because there available funds are not specified in base currency. If you however call GetAccountValue(quotTotalCashBalancequot) it will report in BASE currency and it may be different from GetAccountValue(quotUSDTotalCashBalancequot) which will represent USD cash only. Differences will occur if you have cash positions in many currencies so quotbasequot currency shows gross total of all positions in all currencies as if they were exchanged into base currency. added limit of error messages to be displayed (File-gtConfigure)added re-querying for positions after reconnectan option to restartreconnect (File-gtReconnect), new method Reconnect()CancelAllPendingOrders( optional Ticker ) now CancelAllPendingOrders method takes optional parameter Ticker. If it is specified - it cancels orders only for specified symbol. If it is NOT specified - it cancels all orders for ALL symbols. ClearList( iListNo ) method added ClearList( ListNo ) where ListNo can be: 0 - pending order list 1 - execution list 2 - portfolio list 3 - account information list 4 - error message listibc. ClearList( 4 ) clears error message list Note that this function only affects the display, it does NOT affect the status of orders. So if you have any active orders the quotpending ordersquot, quotexecutionsquot lists will be re-filled with currently active orders during next status update (usually within fraction of second - so it may not be visually noticeable) It also applies for portfolio and account information lists - they will be re-filled with next account update - usually within few seconds. CloseAllOpenPositions( optional Ticker ) now CloseAllOpenPosition method takes optional parameter Ticker. If it is specified - it closes positions only for specified symbol. If it is NOT specified - it closes all positions. exchange is reported correctly for non-US stocks in Portfolio pageGetPositionList() - returns only symbols with positions ltgt 0OCA groups support added to PlaceOrderModifyOrderuser-definable port and IP number (File-gtConfigure)SetAccount( AccNo ) - for FA accountsWarning 2107 (Historical Market Data Service inactive) and 2104 (market data OK) is silently ignored now CHANGES FOR VERSION 1.0.8 GetStatus() function now has optional parameter InclFilled GetStatus( string OrderId, optional boolean InclFilled ) when InclFilled is provided and set to true GetStatus function provides statuses for filled, cancelled and error orders that may have been already deleted from pending list. TimeInForce field in PlaceOrderModifyOrder allows now to specify quotGood Till Datequot and quotGood After Timequot datetimes)TimeInForce field in PlaceOrderModifyOrder accepts GTD and GAT specifications GTD - Good Till Date - indicates that the order should remain workign untilthe time and date set. Good Till Date specification GTD YYYYMMDD HH:MM:SS TZONE where: YYYY is 4 digit year, MM is 2 digit month, DD is 2 digit day, HH is 2 digit hour, MM is 2 digit minute, SS is 2 digit second (OPTIONAL), TZONE is time zone (OPTIONAL) After regular TimeInForce specifications (DAY, GTC, GTD) you may add extraGoodAfterTime (GAT) part. GAT part comes AFTER semicolon. It indicates thattrade should be submitted after the time and date set: GAT specifications: DAYGAT YYYYMMDD HH:MM:SS TZONE - day order valid after specified datetime GTCGAT YYYYMMDD HH:MM:SS TZONE - good till canceled order valid after specified time GTD yyyymmdd hh:mm:ss tzoneGAT YYYYYMMDD HH:MM:SS TZONE - GTD order valid after specified time where: YYYY is 4 digit year, MM is 2 digit month, DD is 2 digit day, HH is 2 digit hour, MM is 2 digit minute, SS is 2 digit second (OPTIONAL), TZONE is time zone (OPTIONAL) Note: there must be NO SPACE characted between semicolon and GAT string. ibc. PlaceOrder( MSFT. BUY. 100. LMT. 27. 0. DAYGAT 20051214 18:00:00 GMT. True ) - day limit order good after Dec 14,2005, 18:00 GMT ibc. PlaceOrder( MSFT. BUY. 100. LMT. 27. 0. GTD 20051215 17:00:00 GMTGAT 20051214 18:00:00 GMT. True ) - limit order valid from Dec 14,2005 18:00 to Dec 15,2005 17:00 GMT ibc. PlaceOrder( MSFT. BUY. 100. LMT. 27. 0. GTD 20051215 19:00:00 GMT. True ) - limit order valid from now until Dec 15,2005 19:00 GMT Portfolio page should now display correct exchange for futures (now it uses reqContractDetails to query for exchange string that is not sent via accountUpdates by TWS) new Transmit( orderID ) method Transmit( string orderid )- returns non-zero (true) when orderid has been found on the pending order listand zero otherwise. It does not necesarily mean that transmit was successful. Transmit( orderid) is used to transmit orders previously placed with transmit flag set to false. Transmit internally is handled by calling quotmodify orderquot function (so you dont need to specify the same parameters again) but note that TWS has problems with handling modify requests coming too quickly, so you will NOT be able to call modifytransmit immediatelly after placing order with transmit false. In such cases we recommend using manual trigger that is slow enough not to cause problems. GetPositionList() method added - returns comma separated list of currently open positionslist of open positions and their sizes ibc GetTradingInterface ( IB ) for ( i 0 ( symbol StrExtract ( openpos, i ) ) i ) printf ( Position i tSymbol: symbol tSize: ibc. GetPositionSize( symbol ) n ) GetPendingList( Type, Filter ) - retrieves comma-separated list of orders from pending listwhere: Type - specifies what should be returned 0 - gives ORDERIDs, 1 gives symbol lists Filter - when not empty it tells IBc that only orders with specified status should be returned when empty - all orders from pending list are returned. symbols ibc. GetPendingList( 0. Pending ) - returns comma separated list of pending order IDs symbols ibc. GetPendingList( 1. Pending ) - returns comma separated list of SYMBOLS that have pending orders symbols ibc. GetPendingList( 0. Error ) - returns list of orderids that have errors symbols ibc. GetPendingList( 0. Cancelled ) - returns cancelled orderids (please keep in mind that cancelled order are automatically removed from the list after few seconds) symbols ibc. GetPendingList( 0. ) - returns list of all orderIDs present in the quotpending listquot (may be pendingerrorcancelledpartially filledsubmitted, etc) added experimental Sleep() methodSleep( number Milliseconds ) - suspends the execution for specified number of milliseconds. Please do NOT use this function unless you really have to, because it locksboth IBController and AmiBroker for specified period of time and both applicationswont respond to user actions (such as mousekeyboard input). If you suspendexecution for more than few seconds AmiBroker will complain about OLE server not responding. added CloseAllOpenPositons(), CancelAllPendingOrders methods and Panic buttonCloseAllOpenPositions() method - sends MARKET SELLBUY order for each and every LONGSHORT position in the portfolio page - should effectively close all open positions (provided that closing orders will fill correctly), note however that it may happen that these closing orders may fail (for example when markets are closed) CancelAllPendingOrders - sends cancel for each and every order displayed in the Pending orders page (with the exception of orders with Errors) Panic button in the toolbar - sends CancelAllPendingOrders() and then CloseAllOpenPositions() Bracket orders support. PlaceOrder and ModifyOrder methods have two additional optional parameters: Attributes and ParentIDPlaceOrder( string Ticker, string Action, number Quantity, string Type, number LimitPrice, number StopPrice, string TimeInForce, bool Transmit, optional number TickSize 100, optional string Attributes quotquot, optional string ParentID quotquot Attributes - is a string that allows to specify additional order attributes (comma separated list). Supported attributes: rthOnly - (OBSOLETE NOW in 1.2.0) if specified means that the order will only be filled during RTH this applies to any order type including limit. ignoreRth - (OBSOLETE NOW in 1.2.0) if specified means that order will trigger not only during Regular Trading Hours (RTH), but also in extended trading (preafter market) this applies to stop orders, conditional orders, and alerts it is used by the triggering logic. If not specified (false) orders will trigger ONLY during RTH. allOrNone - fill all or nothing at all eTradeOnly - trade with electronic quotes only firmQuoteOnly - trade with firm quotes only By default all those flags are INACTIVE (OFF) Example: ibc. PlaceOrder( MSFT. BUY. 1000. LMT. 27. 0. GTD 20051215 19:00:00 GMT. True . 100. allOrNone ) (Note that optional parameter TickSize MUST be specified if you want to use Attributes) ParentID - is a string that specifies parent order identifier (returned by previous PlaceOrder call) allowing you to place BRACKET orders. parentID ibc. PlaceOrder( MSFT. BUY. 1000. LMT. 27. 0. GTC. False ) ibc. PlaceOrder( MSFT. SELL. 1000. LMT. 28. 0. GTC. False . 100. . parentID ) ibc. PlaceOrder( MSFT. SELL. 1000. STP. 0. 26. GTC. True . 100. . parentID ) now IBController does not require API installation CHANGES FOR VERSION 1.0.6 re-compiled with TWS API 8.41 BETA CHANGES FOR VERSION 1.0.5 fixed problem with GetPositionSize() reporting zero for SMART routed symbols in 1.0.4 CHANGES FOR VERSION 1.0.4 fixed symbology used in Order, Status and Porfolio pages so now futures and currencies work nicely added optional TickSize parameter that defines minimum price fluctuation allowed for given symbol (expressed in pips, i. e. 0.0001). For stocks usually 100 (i. e. 0.01), for Forex: 1. automatic reconnect implemented - IBc now attempts to reconnect to IB every 5 seconds when case connection is lost or IB has crashed and was restarted Now works with quotFire OpenOrder on status changequot setting turned off as well as turned on. Order once marked with quotErrorquot status keeps last error message CHANGES FOR VERSION 1.0.3 compiled with TWS API 8.30 added GetPositionInfo method added unlock code dialog (File-gtEnter Unlock code). IBController by default does not transmit orders automatically. Transmission can be enabled by entering unlock code that is made available to the user after accepting the agreement. CHANGES FOR VERSION 1.0.2 IBC: Now pending order list features new status code quoterrorquot and new column: Last error IBC: New toolbar button: auto-cancel orders with errors - when turned on, all orders with errors are cancelled automatically IBC: Error messages now show order id and error code IBC: Repeating messages are now displayed once with appropriate repeat count and last update time IBC: Most recent error messages now appear on the top of the quotmessagequot list, so you dont need to scroll IBC: quotDuplicate order IDquot problem solved Now when TWS sends quotduplicate orderquot message, appropriate order line is marked in IB Controlled as quoterrorquot and such order ID is no longer used. When new ModifyOrder is placed then new order id will be assigned IBC: GetAccountValue function in IB interface CHANGES FOR VERSION 1.0.1 CancelOrder() removes quotNotYetTransmittedquot orders from the pending list IsConnected() funcition now returns integer values 0..3 (not bool) Clear Messages toolbar button added CHANGES FOR VERSION 1.0.0 HOW TO REPORT BUGS If you experience any problem with this beta version please send detailed description of the problem (especially the steps needed to reproduce it) to bugs at amibrokerThe Snake Trading System - Forex Strategies - Forex Resources - Forex Trading-free forex trading signals and FX Forecast 461 The Snake Trading System ALL INDICATORS REPAINT For each indicators, there are a max number of bars within the signal can be repainted, it depends on how many bars the signal is calculated. If its calculated on the last 3 bars, the signal behind the fourth bar cant repaint. If the signail is calculated on the last bar only, it repaint the current open bar only, and you can trade the signal at the closing of the bar. Improperly, theyre called non-repainting indicators. Most indicators wich gives signails to EA (Auto-Trading systems, wich needs only clear signals) works this way, but this is not necessarily the best way to build an indicator for a discrtetional trading system. In a Discretional Trading Stystem repainting is a problem too. You cant have feeling with disappearing arrows, lines and dots Luckly, human eye can filter good and bad signals quite easily, using other indicators monitoring different paramenters. Sometimes, in a trading system . is better let the Trading system give you some fast signals, in addition to other lagged indicator, stronger. Share your opinion, can help everyone to understand the forex strategy.

Comments

Popular Posts