Forex Sql Datenbank
Ich habe vor kurzem die MetaTrader Terminal-Plattform (MT4) heruntergeladen. Ich habe meine eigene Back-Test-Engine, die einige Ausgabe in meiner SQL-Server-Datenbank speichert. Die Ausgabe hängt von dem Modell ab, das ich teste. Allerdings kann die Ausgabe einfach so einfach sein wie die Zeit der Eintragung eines Handels. Was ich wissen möchte, ist es in MQL4 möglich, Daten aus einer SQL-Server-Datenbank herunterzuladen und dann das Diagramm mit einem einfachen B für einen Kaufeintrag oder S für einen Verkaufeintrag zu kommentieren So habe ich eine Rücktestsimulation (zB EURUSD Von 2010 bis 2011) und speicherte die Zeit der Kauf - und Verkaufseinträge. Ich möchte dann zu meiner MetaTrader 4-Plattform gehen und ein Skript ausführen, das die Zeit aller Kauf - und Verkaufseinträge aus meiner SQL-Datenbank und auf meinem EURUSD-Chart-Label diese XTO-s herunterladen würde. Ja, das ist möglich MQL4-Sprache, einschließlich der New-MQL4 (aka MQL4.5), hat syntaktische Unterstützung für den Import DLL-basierte Dienste, die Re-Integration von Tools, die geschlossene Syntax ermöglichen Der MQL4 erlaubt es nicht, auf natürliche Weise zu gewinnen. So kann Ihr Code, sei es MQL4-Script oder MQL4-ExpertAdvisor, mit externen Prozessen, inkl. Jede vernünftig funktionierende DBMS. Beware Es gibt nur wenige wichtige Funktionen, die eine Code-Design - und Integrationsarchitektur berücksichtigen sollte. MQL4 ist seit den frühen Tagen kein einfacher sequentieller Prozessor, der MQL-CustomIndicator ist weit entfernt von diesem Paradigma. Der Code (außer im Fall von MQL4-Script) fungiert als ereignisgesteuerte Factory, die durch asynchronen Fluss von eingehenden Market Events initiiert wird. Der Benutzer ist für alle Maßnahmen verantwortlich, die die Echtzeitstabilität dieses Alpha-Amp-Omega-Prinzips-of-MQL4-Prinzip nicht verletzen. Mit anderen Worten, ein schlechtes Design, das möglicherweise einige I / O-Blockierung (aufgrund von RDBMS Verarbeitung et al), wird wahrscheinlich ein Grund für Trading Terminal Crash (es), die die letzte Sache ist jeder bereit ist, zu erleben (Sei es in Live-Trading-oder Back-Testing-Phase), ist es nicht so, eine solide nicht blockierende, heterogene, parallele Multi-Processing-Integration-Architektur Amp-Code-Design ist für diese Aufgabe verwendet werden. Es funktioniert großartig, wenn es professionell getan Keeping the sagte im Hinterkopf ermöglicht sehr intelligente, schnelle und (fast) unbegrenzte Architekturen zusammen mit Trading Terminal (s) zu arbeiten. Mehrere Fälle mit Nah-Echtzeit-Messaging zwischen MT4 / MQL4-Code und AI / ML-Engine über python, schnelle FIX-Protokoll-Streaming-Engine für Echtzeit-Dateneingabe von Liquidity Pool Provider, mit einem Remote-NVIDIA / GPU-Berechnung Stoff, Remote Kointegriert IRC / skype / email Signalbereitstellungskanäle. So eine kann Philosophie ist vorhanden. SQL ist nichts Extra in diesem Sinne. Puting-Labels sind im selben Sinne trivial. Gerade von Ihrer Fantasie, ermöglicht MQL4 (wieder, mit einem nahezu Echtzeit-Design) reagierende / interaktive GUI-Schicht, die innerhalb von wenigen Millisekunden Stabilität Barriere, mit dem Trading Terminal in einer rein grafischen Weise Vor einem One-Click-Trading-Marketing-Tag kam mit nur einem Click-To-Buy / Click-To-Sell) arbeiten voll interaktiv mit line-kontrollierten / grafischen Objekten visuelle Trading-Hilfe, sei es für eine voll automatisierte Trade - (Mit einer indirekten GUI-Konfiguration des Regelsatzes) oder für einen Augmented Trading-Stil. Ja, können Sie Ihre MT4 Trading Terminal eine Art von Remote-programmierbaren Charting-Display, nicht von FX-Market, sondern von einem Cloud-Prozessor, wo Ihre Remote-Strategie-Testing Engine rulez. Wie ich es verstehe (korrigieren Sie mich, wenn i39m falsch) der Experte Advisor amp Custom Indicator sind Event-driven so, wenn ein Marktereignis passiert, dass sie aufgerufen werden. Ein Skript ist nicht einmal getrieben, so ist dies, wo ich meinen Code erstellen sollte. Ist es möglich, die Diagramme zu aktualisieren, um die Stabilitätsproblematik zu stoppen Als I39m zurück Tests I39m nicht mit den Charts Aktualisierung betroffen. Ndash mHelpMe Oct 27 14 at 9:58 Richtig, MQL4-Script hat keinen Trigger aus einer Ereignis-Warteschlange, richtig. Trotzdem würde ich nicht darauf vertrauen, dass ein Blind-SQL-Querry-Amp wartet, sondern eine asynchrone Proxy-Schnittstelle implementieren würde, die das MQL4-Front-End / SQL-Back-End-Processing amp queue-management vermitteln würde , Um sowohl MQL4-Blockierung und MQL4-Seite Überlastung Fall zu vermeiden, beim Erhalten einer Lawine von Bytes in der quotblock-busterquot Antwort (ohne Erwähnung der HFT-Case-Skalen als erste Mühe in der Liste: o)) ndash user3666197 Oct 27 14 Um 10:06 Fragen Sie nach oben, Ihr Code weiß nicht, ob die MT4-Grafik ist ein online oder offline. Sie können Ihre MQL4-Script-Code auf einem off-line-Diagramm leicht zu aktivieren, es doesnt quotlistenquot auf alle Updates dennoch by-Design. Ein weiteres Problem ist, dass im MT4-HistoryCentre (eine Datenbank, aus der Ihre Graphik PriceDOMAIN-Daten zum Zeichnen von Kerzen / Balken abrufbar ist) bereits OHCRV-dataquot bereits vorhanden ist. Ndash user3666197 Oct 27 14 am 10: 12best SQL-Schema für Tick-Daten Joined Jan 2010 Status: Mitglied 86 Beiträge Ich plane, die Tick-Daten aus dukascopy in mssql Datenbank für offline statistische Analyse zu dump. Ich habe gehört, die Menschen sagen, dass relationale Datenbank ist nicht am besten geeignet für die Zeitreihen-Daten, aber es ist einfach, verschiedene Abfrage mit einigen SQL-Skript, die Sie Zeit für das Schreiben von Code, um Binär-oder csv-Daten zu analysieren. So entscheide ich mich, die Datenbank Weise zu gehen. Die Daten von dukascopy ist: Zeit Gebot Bid Volumen fragen fragen Volumen, so nehme ich natürlich die SQL-Tabellenstruktur ist: Zeit (datetime) double bid (dezimal) Gebot Volumen (int) fragen (dezimal) fragen Volumen (int) für diese wer Hat dies getan, bitte raten. Zuerst bin ich sehr neu auf diese Art von Sachen, aber ich kenne ein paar Dinge hier, die Ihnen auf dem Weg helfen können. Dies ist ein wirklich praktisch. CSV-Editor, wenn Sie jede Bearbeitung auf Ihre Daten vor dem Import tun müssen. Was ist ganz gut über dies ist, dass Sie Zeichen in bereits vorhandenen Daten hinzufügen können. Zum Beispiel Forex-Tester-Daten hat keine Trennzeichen zwischen Stunden Mins Sekunden, und kaum irgendwelche Programme erkennen es so, aber mit csved können Sie die Separatoren hinzufügen. Zweitens und Im noch daran, aber Sie können ein Data Miner, um die Zeit relevanten Daten zu extrahieren. Diese 2 sind echte einfach zu bedienen schauen Sie sich nur Tutorials auf Sie Rohr. Auch ich glaube (havent versucht es noch), aber ich glaube, Sie können in R-Projekt zu exportieren. Welches ein wirkliches leistungsfähiges statistisches Analyseinstrument ist. Das Beste, was mit den letzten drei genannten Software-Namen ist, dass es Open Source und frei zu verwenden. ) Der Thread oben wurde von Mikkon whos auch mit SQL gestartet, um eine Datenbank abzufragen. Viel Glück, hoffe, das hilft. Dank James für die Infos über die CSV-Editor, werde ich experimentieren und brechen bis datetime Spalte in Tag, Stunde, Minuten Spalte. Einige von diesen sind Fremdschlüssel, so können Sie das Muster gegen Stunde, Minuten, etc. von jedem Tag abfragen. Schaut weiter in knime und R. Scheint wie sehr gutes Werkzeug für Analysedaten. Zuerst bin ich sehr neu auf diese Art von Sachen, aber ich kenne ein paar Dinge hier, die Ihnen auf dem Weg helfen können. Dies ist ein wirklich praktisch. CSV-Editor, wenn Sie jede Bearbeitung auf Ihre Daten vor dem Import tun müssen. Was ist ganz gut über dies ist, dass Sie Zeichen in bereits vorhandenen Daten hinzufügen können. Zum Beispiel Forex-Tester-Daten hat keine Trennzeichen zwischen Stunden Mins Sekunden, und kaum irgendwelche Programme erkennen es so, aber mit csved können Sie die Separatoren hinzufügen. Zweitens und Im noch 03 November 2015 Jodie Beay und die Bereitstellung der datenbankübergreifenden Abhängigkeit Wenn Sie AdventureWorks als Praxis-Datenbank verwenden, haben Sie jemals den Code betrachtet und dachten, was Idiot das getan hat, oder was die DBAs denken, wenn sie Sah, dass Unbewusst, Sie gelegentlich vergessen, es ist nicht real und füllen Sie die Back-Geschichte. Die SQL-Release-Team bei Redgate tat das gleiche mit ihren eigenen Praxis-Datenbank, und stellte sich eine Reihe von Charakteren wrestling mit den Schwierigkeiten der Bereitstellung. Peter Gerrard Jodie Beay war schon besorgt, als v1 erschien. Sie war besorgt über die Zwei-Datenbank-Design, das vorhanden war, um separate Datenbank-Funktionalität. 8216OK, OK, die Designer sollten über die Verwendung von Schemas für diese.8217 Sie dachte, 8216But dieses Design ist das, was wir zu tun haben. Ursprünglich war die Deviseninformation ein externer OData-Service über SSIS, aber es gab Performance-Probleme und der Daten-Feed erwies sich als tricky.8217 So entstand eine Devisen-Datenbank auf einem separaten Server. Jodie hatte zuvor mit Cross-Server-Abhängigkeiten umgegangen und es war immer schwierig gewesen. Das Entwicklungsteam verwendete SQL Release. Die Teil der DLM Automation ist. Und Octopus Deploy. Um die automatisierte Bereitstellung in der QA-Umgebung durchzuführen. Es war die erste Bereitstellung seit der ersten Version. Jodie atmete tief durch und drückte auf den Einsatzknopf. Die Implementierung gelang, so lief sie einige manuelle Tests, um sicherzustellen, dass alles funktionierte. Als sie die Update RatesFromForex Prozedur führte, füllten rote Buchstaben sofort den Bildschirm. Eine schnelle Überprüfung der Prozedur zeigte, gab es einen Verweis auf eine Datenbank, die didn8217t auf dem aktuellen Server vorhanden sind. Es war ein hartcodierter Verweis auf eine Funktion in der Forex-Datenbank, und es scheiterte, da die Funktion Forex. dbo. GetLatestExchangeRate konnte nicht gefunden werden. Jodie kratzte sich am Kopf. Natürlich konnte es nicht gefunden werden. Der Entwickler verweist auf einen dreiteiligen Namen, wenn die Forex-Datenbank tatsächlich auf einem vollständig separaten Server in der Qualitätssicherung (QS) existiert, was einen vierteiligen Namen erfordert: ltservergt. ltdatabasegt. ltschemagt. ltobjectgt. Sogar dann, es wouldn8217t Arbeit, weil Sie can8217t Aufruf von Funktionen über vierteilige Namen. Seufzend wanderte sie durch den Korridor zu den Entwicklern und sagte ihnen, daß ihre Veränderungen nicht an der Produktion arbeiten würden. Es war Derek8217s Code. Ich glaube es, es funktionierte gut auf meiner Maschine8217 er stotterte. Die beiden haben den Laptop überprüft. Auf dem Laptop und allen anderen Entwicklungsmaschinen waren die beiden Datenbanken auf dem gleichen Server. So war der Code in der Lage, SQL-Objekte wie Tabellen, Ansichten, Funktionen und Prozeduren in Entwicklungsmaschinen mit dreiteiligen Namen verweisen. Zum Glück, in QA, mussten sie auf separaten Servern, wie sie in der Produktion sein, und so die Durchführung des Verfahrens war gescheitert. Die Referenz würde einen vierteiligen Namen und einen verknüpften Server zum Forex-Server benötigen. Eine Funktion muss über OPENQUERY aufgerufen werden. Jodie seufzte. Wie können wir Code bereitstellen, der in SQL den Speicherort der Datenbanken spezifiziert, wenn dieser Standort in Umgebungen unterschiedlich ist Das Problem war, dass ein verknüpfter Server auf Server-Ebene und nicht auf Datenbank konfiguriert ist, so dass es can8217t wirklich als Teil des Skripts Datenbank-Bereitstellung. Natürlich, wenn Sie die Server und Datenbanken verknüpfen, würden Sie ihnen eine konsistente 8216logical8217 Namen geben. Es wäre möglich, zu überprüfen, dass die Links konsequent konfiguriert wurden, mit dem gleichen Namen, über Umgebungen. Das Problem ist, dass Sie immer noch nicht über die Tatsache, dass die Entwickler hatte die Forex-Datenbank auf dem gleichen Server. Derek und Jodie kratzten sich eine Weile die Köpfe. Jodie sagte 8216We kann eine Verlegenheit für dieses tun. Der Trick besteht darin, ODBC als Schnittstelle zu verwenden. Auf diese Weise können Sie einen Server mit sich selbst verknüpfen und als separaten Server behandeln, genau so, wie er in der Produktion ist. Sie können dann eine konsistente vierteilige Referenz in jeder Umgebung verwenden. Ein Entwickler würde ein System-DSN auf der Entwicklungsmaschine, mit ODBC, die Links zu ihren lokalen SQL Server. Das könnte natürlich etwas genannt werden, aber let8217s nennen es 8216ForexDSN8217. Dann you8217d fügen Sie in einem verbundenen Server mit diesem 8216ForexDSN8217 DSN, indem Sie diesen Code auf dem Server8230 spaddlinkedserver ForexServer. . MSDASQL. ForexDSN. 8216Once you8217ve getan, dass 8217 die vierteilige Referenz für Tabellen, Ansichten und Prozeduren funktionieren würde, solange die Forex-Datenbank auf dem lokalen Server installiert wurde. Nun wird in jeder Umgebung der verknüpfte Server den gleichen logischen Namen, ForexServer, aber Links mit dem externen Live-Server ist in dieser bestimmten Umgebung. Sie sehen, effektiv, you8217ve abstrahiert diese Abhängigkeit aus dem Code in eine Server-Einstellung. Dann, soweit ich sehen kann, wird die einfache Bereitstellung ohne Skripte oder Komplikationen funktionieren. Sie können die Sicherheit auch entsprechend konfigurieren.8217 Aber Derek hatte ein Problem damit, 8216You8217d haben noch die Schwierigkeit, dass benutzerdefinierte Funktionen can8217t mit dieser Art von vierteiliger Referenz aufgerufen werden. You8217d müssen entweder gespeicherte Prozeduren verwenden oder die Funktion über OPENQUERY aufrufen. Wenn die Funktion auf dem gleichen Bediener war und Sie die dreiteilige Referenz arbeiteten, funktionierte es fein, aber es wouldn8217t Arbeit mit vierteiligen references8217 Sie setzten sich zusammen und beschäftigten dieses Problem. Es fing schließlich an zu arbeiten, aber, selbst wenn in einer lokalen Funktion eingewickelt, sah es so aus, als würde OPENQUERY wasn8217t eine besonders elegante Option sein. Allerdings schien Jodie zufrieden. Das wird an einem Ort sein. Sie können es lokal aufrufen und alle bösen Dinge passiert innerhalb der Funktion. Derek spürte seine Lippen. 8216Let8217s ändern Sie es nur in einer gespeicherten Prozedur, und verwenden Sie Synonyms8217. Jodie zuckte 8216It8217s Ihren Anruf. Aber auf diese Weise können Sie alle Ihre Zugriff auf die Forex-Datenbank über die eine lokale Funktion zu tun. Und it8217ll in der Entwicklung zu arbeiten, solange die DSN eingerichtet ist und der verknüpfte Server auf dem Server definiert ist, um es zu verwenden.8217 Derek runzelte die Stirn. 8216We shouldn8217t mit vier-teiligen Namen in der Datenbank überhaupt. Wir sollten ein Synonym an Ort und Stelle haben, das uns eine Ebene der Abstraktion gibt, so dass wir nur einen Teil des Codes ändern müssen, wenn wir die Referenz ändern müssen. Eine lokale Funktion zu haben ist fein, solange wir nie mehr brauchen. Ich don8217t wie die Idee der mit einer Reihe von OPENQUERY-Funktionen jedes Mal, wenn wir eine andere Funktion aus Forex verwenden wollen. I8217d fühlen sich glücklicher, wenn wir diese Schnittstelle mit einem Synonym abstrahieren. Eigentlich, I8217d eher auf die beiden Datenbanken nur aus der Anwendung. Es wäre eine viel sauberere Lösung.8217 8216Sie können den Zugriff auf die Anwendung beschränken. Wir haben einen End-of-Day-Synchronisationsprozess auf SQL Agent, der die Forex-Informationen benötigt. Auch, welche Option Sie wählen, haben Sie nur ein Objekt zu ändern, wenn Sie den Namen des Servers geändert haben, da Sie nur eine function8217 haben. Derek rief ein paar andere Entwickler, Riza und Will, über zu diskutieren. Schließlich war der Konsens für die Verwendung von Synonymen und Prozeduren. Jodie zuckte die Achseln und ging zu ihren administrativen Aufgaben zurück. Derek und Riza gingen zurück zur Forex-Entwicklungsdatenbank und änderten die Funktion GetLatestExchangeRate in eine gespeicherte Prozedur mit einer Ausgangsvariablen. Dies erforderte auch Änderungen an der Anwendung, die auf der gleichen Funktion beruhte. Um diese Änderungen zu verfolgen, schoben sie es durch Quellcodeverwaltung und implementierten das Ergebnis zu QA. Nachdem Sie die Funktion GetLatestExchangeRate in eine gespeicherte Prozedur geändert haben, haben Sie das Synonym dbo. GetLatestExchangeRate hinzugefügt. In LightningWorks auf Derek8217s Entwicklungs-Server. Dieses Synonym verwies auf die neue gespeicherte Prozedur GetLatestExchangeRate in der Forex-Datenbank. Anschließend verwendeten sie dieses Synonym in der Update RatesFromForex-Prozedur anstelle des festcodierten Verweises auf die ursprüngliche Funktion. Die modifizierte Update RatesFromForex-Prozedur sah nun so aus: Nachdem sie diese Änderung in QA implementiert hatten, war das Ausführen der Update RatesFromForex-Prozedur erfolgreich. 8216Jodie8217 Derek rief über das Telefon, 8216It8217s jetzt arbeiten. Es führt alle Tests. Können Sie sich abmelden die Freigabe please8217 8216That8217s groß. Nur lassen Sie mich einige Tests auf QA.8217 Bar den Klang der schnell klopfen Tasten laufen, ging die Telefonleitung für einen Moment ruhig. Dann kam die Stimme wieder. 8216Oh ja, alle meine Tests bestanden.8217 Es gab noch eine kleine Pause. 8216Oh. Hängen Sie an einem minute8217, fortgesetztes Jo, 8216You verwirklichen Sie, dass Sie auf den Bediener über die sysadmin Rolle Dock8217s ein Hauptsicherheitsproblem. Es geht gegen das Prinzip der geringsten Privilegien. Sorry Jungs, aber you8217ve haben, um die Berechtigungen von Verbindungen aus dem LightningWorks-Server auf den Forex-Server nur das, was Sie brauchen.8217 Derek und Riza verliehen noch einmal zu reduzieren. Sie beschlossen, einen neuen Benutzer mit der Rolle GetRates in der Forex-Datenbank mit einem zugehörigen SQL-Login, GetLatestRates zu erstellen. Die Getrate-Rolle hatte nur Berechtigung, die GetLatestExchangeRate-Prozedur auszuführen. Sie richten dann den verbundenen Server ein, um die GetLatestRates-Anmeldung anstelle von sysadmin zu verwenden. Der erste Einsatz in QA gelang, aber Tests zeigten, dass das Aufrufen von GetLatestExchangeRate jetzt fehlgeschlagen war. Dies liegt daran, dass SQL Release die Benutzerrollenmitgliedschaft standardmäßig ignoriert, sodass der neue Benutzer nicht Teil der Rolle "GetRates" in QA war. Dies bedeutete, dass sie die Funktion nicht ausführen konnten. Um das zu beheben, mussten sie die Option 8220IgnoreUsersRolesAndPermissions8221 aus dem Aufruf von SQL Release entfernen. Mit dieser Änderung, die sie wieder in QA eingesetzt. Das Kennwort für die GetLatestRates-Anmeldung wurde auf den Standardwert 8216pssw0rd8217 festgelegt, sodass sie diese manuell auf etwas sichereres aktualisiert haben. So weit, ist es gut. Sie hatten es manuell funktioniert. Aber sie mussten es automatisieren, um die Chancen einer Deployment-Ausfall aufgrund menschlicher Fehler zu vermeiden. Um die Änderungen zu automatisieren, müssten SQL-DDL-Skripts sein: Setzen Sie ein sicheres Kennwort für die GetLatestRates-Anmeldung Erstellen Sie einen verknüpften Server mit dem richtigen Servernamen und Datenbankname auf dem Server mit der LightningWorks-Datenbank Setzen Sie die RPC Out-Option auf 8216True8217 for Der verknüpfte Server Bearbeiten Sie den verknüpften Server, um das GetLatestRates-Anmeldeverfahren beim Herstellen einer Verbindung mit Forex zu verwenden Aktualisieren Sie das Synonym, um den richtigen Server - und Datenbanknamen in jeder Umgebung zu verwenden. Die einzige Komplikation war, dass diese Skripts für jede Umgebung spezifische Änderungen erforderten und daher parametrisiert werden mussten . Sie verwendeten Octopus Deploy-Variablen, um je nach Umgebung unterschiedliche Werte festzulegen. Diese Variablen wurden in den Skripten mit 8220 8220 referenziert. Danach schrieben sie lokale Skripts lokal, die diese Änderungen vornehmen würden. Sie testeten die Scripts und machten sie zu einem Teil ihres Implementierungsprozesses in Octopus Deploy. Auf Forex liefen sie das Skript: Sie löschten die manuellen Änderungen, die an QA vorgenommen worden waren und ließen eine Bereitstellung in QA mit den neuen Skripts. Das war erfolgreich. Später am selben Tag sprach Jodie mit Phil, dem grausigen älteren DBA im Team. Sie erzählte ihm von dem Problem und der Lösung, die sie beschlossen hatten. 8216Angesichts der Cross-Server-Abhängigkeit, was würden Sie getan haben, Phil Derek denkt, dass sie8217d getan haben, besser zu ziehen, die Abhängigkeit aus der Datenbank in die Anwendung. Das hätte vermieden, die Änderungen an der Forex-Datenbank, die wäre schwierig gewesen, wenn andere Anwendungen auf sie angewiesen wäre. Derek8217s auch besorgt über Post-Deployment-Skripte und müssen sie jedes Mal aktualisieren, wenn wir die Synonyme ändern oder verbundenen Server-Benutzer.8217 Phil dachte darüber nach. 8216Actually, würde ich vermeiden, mehrere Server insgesamt. Es sei denn, Sie haben spezielle Performance-Gründe für die Notwendigkeit, zwei separate Server, you8217re viel besser dran Partitionierung Ihrer Funktionalität, indem Sie Schemata. Wenn die Datenbanken von verschiedenen Teams besessen wurden und unabhängig voneinander entwickelt und aktualisiert wurden, verwendet I8217d separate Datenbanken auf demselben Server. Beide sind leicht zu verweisen. Die Verwendung von separaten Servern erschwert die Transaktionen erheblich und verursacht auch diese Probleme bei der Implementierung. Du solltest es nur als letzten Ausweg machen.8217 8216Well, was ist mit der Idee, die Abhängigkeit aus der Datenbank herauszuziehen und in die application8217 8216Hmm. Wenn Sie ein bestehendes System mit zwei Datenbanken haben, die kommuniziert werden müssen, hängt Ihre Auswahl davon ab, ob Sie Batchprozesse oder ETL-Systeme geplant haben, für die der Link erforderlich ist. You8217d haben auch ein schlechteres Problem, wenn eine zweite Anwendung begann, die Datenbank zu verwenden. I don8217t denke, dass die Komplikation der speziellen Anmeldung, um die Forex-Rate zu lesen ist ein Problem, weil you8217d haben, es zu tun, je nachdem, wie Sie sich entschieden haben. Konfigurieren eines verknüpften Servers isn8217t wirklich Teil des Datenbank-Skript, weil es8217s abhängig von der environment.8217 8216So, was über die Verwendung von Synonymen oder vierteilige Referenzen8217 Phil zerkratzte seinen Bart in Gedanken. 8216Yes, Brunnen-Synonyme oder Vier-Teil-Identifikatoren sind gleichermaßen gültige Lösungen. Aber you8217d wollen nur ein Synonym verwenden, wenn you8217re Zugriff auf mehrere Routinen in den verknüpften Server aus mehreren Teilen des Codes, und wenn Sie weren8217t Zugriff auf benutzerdefinierte Funktionen. Persönlich, I8217d haben einfach die Funktion beibehalten, wie es war, und stellte sicher, dass alle Umgebungen auf die Datenbanken mit den gleichen logischen Namen verwiesen. Schließlich stellen eine Synonymänderung und eine Funktionsänderung die gleiche Menge an DDL-Änderungen dar. Und der Zugang ist nur an einem Ort, der Körper, dass chaotisch aussehende Funktion.8217 Dieser Artikel ist Teil unserer Database Lifecycle Management-Muster Amp-Praktiken Zurück zu der Bibliothek, um weitere Artikel auf DLM zu finden, oder besuchen Sie www. red-gate / Dlm für weitere Informationen über SQL Server-Produkte für das Datenbanklebenszyklusmanagement. Related articlesNon-direkte Verbindung zu MySQL-Datenbank ltlt Zurück zu Remote Trade Kopierer Remote Trade Copier Experten-Berater, die auf Master - und Slave-Konten ausgeführt werden, stellen keine direkte Verbindung zur MySQL-Datenbank her. Sie verwenden HTTP-Verbindung zur Management-Website, um die Daten aus MySQL-Datenbank zu erhalten. Dies gilt als sehr hohes Sicherheitsniveau, da Sie keine IP-Adressen von Drittanbietern benötigen, um eine Verbindung zu Ihrer MySQL-Datenbank herzustellen. RTC Remote-Management-Website wird in der Regel auf dem gleichen Server wie MySQL-Datenbank (oder zumindest im gleichen lokalen Netzwerk), so dass die einzige Verbindung zu Ihrer MySQL-Datenbank wird von der lokalen IP-Adresse 127.0.0.1 (localhost) oder so etwas wie 192.168 gemacht werden. xx Auf diese Weise kann niemand auf Ihre MySQL-Datenbank in irgendeiner Weise zugreifen. Jetzt vorstellen, wenn Forex Handel Kopierer EA müsste eine Verbindung mit der MySQL-Datenbank direkt. Ihre Kunden werden rund um die Welt von Hunderten oder sogar Tausenden IP-Adressen. Sie werden nicht in der Lage sein, alle IP-Adressen zu sammeln und zu der weißen Liste hinzuzufügen, so dass Sie gezwungen werden, Verbindungen zu Ihrer MySQL-Datenbank von jeder IP-Adresse zuzulassen. Dies kann zu unerwünschten oder sogar nicht autorisierten Verbindungen zu Ihrer MySQL-Datenbank und zu Datenverlust führen. Es wäre eine Katastrophe zu verlieren Daten aus MySQL-Datenbank, wo Sie handeln Kopierer oder sogar andere Websites. Die privaten Daten Ihrer Kunden könnten verloren gehen und sogar gestohlen werden, was zu noch mehr Problemen führen würde. Tausende von Hackern scannen weltweites Netzwerk jeden Tag für offene Ports zu finden, wie offene MySQL und andere Art von Servern und es konnte nur eine Frage der Zeit sein, wenn Ihr Passwort geknackt werden könnte. Selbst wenn Ihr Passwort nicht geknackt wird, kann es sein, dass Ihr MySQL-Server unerwünschte Lasten auslöst, wenn jemand versucht, auf Ihre Datenbank zuzugreifen, die versucht, Ihr MySQL-Server-Passwort mit hundert Versuchen pro Minute auf 8220brute-force8221 zuzugreifen. Aus diesem Grund verwendet Remote Trade Copier diese Methode nicht, um eine direkte Verbindung zur MySQL-Datenbank herzustellen und eine HTTP-Verbindung zu verwenden. Mit unserem Forex Trade Copier ist Ihre MySQL Datenbank immer sicher und nur von privaten oder lokalen Netzwerken zugänglich. Erfahren Sie mehr über die Remote Trade Copier Abonnieren für mehr MT4 Knowledge Geben Sie Ihren richtigen Namen und die beste E-Mail-Adresse unten. Wenn du das Anmeldeformular nicht sehen kannst, muss es von AdBlock versteckt sein und du musst es zuerst für diese Website deaktivieren. Abonnieren Sie meinen Newsletter und seien Sie der Erste, der meine neuen MT4-Tutorials erhalten. P. S. Ich schicke Ihnen auch eine kostenlose Kopie meiner Content-verpackten eBook (19-Wert), die Ihnen beibringen, wie man Forex-Betrug zu identifizieren. Absolut kein Spam 100 Sicher. Follow Me Beliebteste Beiträge Über mich Rimantas Petrauskas ist der Autor, ein Forex Trader, Programmierer, Unternehmer, Vater und ein Ehemann. Er schafft seit 2009 Software für den Devisenhandel und die Signallieferung und hat Hunderte von Handelsrobotern für seine Kunden geschaffen. Er glaubt stark, dass wir mit einer positiven mentalen Einstellung jedes Ziel erreichen können. Mehr über Rimantas Petrauskas Anzeigen Follow Me US-Regierung erforderlich Disclaimer - Trading Devisen auf Margin trägt ein hohes Maß an Risiko, und kann nicht für alle Anleger geeignet. Der hohe Grad der Hebelwirkung kann sowohl gegen Sie als auch für Sie arbeiten. Vor der Entscheidung, in Devisen zu investieren, sollten Sie sorgfältig Ihre Anlageziele, Erfahrungsniveau und Risiko Appetit. Die Möglichkeit besteht, dass Sie einen Verlust von einigen oder allen Ihrer anfänglichen Investition zu erhalten und daher sollten Sie nicht investieren Geld, das Sie sich nicht leisten können, zu verlieren. Sie sollten mit dem Devisenhandel verbunden aller Risiken bewusst sein und eine Beratung durch einen unabhängigen Finanzberater, wenn Sie irgendwelche Zweifel haben. Der Kauf, Verkauf oder Beratung in Bezug auf eine Währung kann nur von einem lizenzierten Broker / Dealer durchgeführt werden. Weder wir, noch unsere verbundenen Unternehmen oder assoziierten Unternehmen, die an der Herstellung und Wartung dieser Produkte oder dieser Website beteiligt sind, sind ein eingetragener Broker / Dealer oder Anlageberater in irgendeiner staatlichen oder föderal sanktionierten Jurisdiktion. Alle Käufer von Produkten, die auf dieser Website referenziert werden, werden aufgefordert, mit einem lizenzierten Vertreter ihrer Wahl über eine bestimmte Handels-oder Handelsstrategie zu konsultieren. Es wird nicht vertreten, dass ein Konto ähnliche oder ähnliche Gewinne oder Verluste erzielt, wie die auf dieser Website besprochenen. Die bisherige Wertentwicklung eines Handelssystems oder einer Methodik ist nicht notwendigerweise ein Hinweis auf zukünftige Ergebnisse. Eindeutig verstehen: Die in diesem Produkt enthaltenen Informationen sind keine Einladung zum Handel mit bestimmten Investitionen. Handel erfordert riskieren Geld auf der Suche nach zukünftigen Gewinn. Das ist Ihre Entscheidung. Nicht riskieren Sie Geld, das Sie sich nicht leisten können, zu verlieren. Dieses Dokument berücksichtigt nicht Ihre eigenen finanziellen und persönlichen Umstände. Es ist nur für Bildungszwecke und nicht als individuelle Anlageberatung gedacht. Nicht auf diese ohne Beratung von Ihrem Investment-Profi, die überprüfen, was für Ihre speziellen Bedürfnisse amp Umstände geeignet ist handeln. Fehler zu suchen detaillierte professionelle persönlich zugeschnittene Beratung vor dem Handeln könnte dazu führen, dass Sie handeln im Widerspruch zu Ihren eigenen Interessen amp könnte zu Verlusten des Kapitals führen. CFTC RULE 4.41 - HYPOTHETISCHE ODER SIMULATIVE LEISTUNGSERGEBNISSE HABEN BESTIMMTE BESCHRÄNKUNGEN. EINE AKTUELLE LEISTUNGSAUFNAHME, SIMULATIVE ERGEBNISSE NICHT VERTRETEN. Von Marktfaktoren, wie der Mangel an LIQUIDITY Da auch die TRADES nicht ausgeführte, DIE ERGEBNISSE KÖNNEN NACH ODER ÜBER COMPENSATED FÜR DIE AUSWIRKUNGEN EVENTUELL. SIMULATED HANDELSPROGRAMME IM ALLGEMEINEN SIND AUCH AUF DIE TATSACHE, DIE SIE MIT DEM VORTEIL VON HINDSIGHT ENTWERFEN. KEINE REPRÄSENTATION WIRD DURCHGEFÜHRT, DASS JEDES KONTO ODER GELTEND ZU ERWERBEN ODER VERLUSTE, DIE DIESE ANGEZEIGT SIND. Diese Website verwendet Cookies, um zu sehen, wie die Website verwendet wird. Die Cookies können Sie nicht identifizieren. Wenn Sie diese Seite weiterhin nutzen, gehen wir davon aus, dass Sie damit zufrieden sind. Ich verstehe Thread: brauchen Beratung re: Forex-Daten-Feed zu SQL Server Ich stimme mit rdjabarov auf alle Punkte, die er oben gemacht. Wenn Sie denken, Forex Trading Systems Forex API dann Im ziemlich sicher, dass youll müssen einige Visual Studio (wahrscheinlich C) - Kodierung, um die Daten in SQL Server zu bekommen. Ich sehe keine andere Möglichkeit, um diese Arbeit zu erledigen. SQL Server ist nicht eine Insel, um effektiv zu nutzen, müssen Sie lernen, neue Werkzeuge die ganze Zeit. PowerShell und C sind die aktuellen Scripting-Tools der Wahl. SSIS, SSRS und SSAS sind die derzeitigen zweiten Server. Die IT-Welt ist weit davon entfernt, statisch zu werden, und die Microsoft-Umgebung ist keine Ausnahme. Das ist eigentlich ein nützlicher Link, Pat, danke. Ich schätze, Kran Download ihre API und sehen, wie viel Arbeit habe ich für mich ausgeschnitten. Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren «Ein Thema zurück | Ein Thema vor» Antwort schreiben Partner und Sponsoren Alle Zeitangaben in WEZ +1. Es ist jetzt 09:12 Uhr. Powered by vBulletin ™ Version 4.1.2 (Deutsch) Copyright © 2012 Adduco Digital eK und vBulletin Solutions, Inc. Alle Rechte vorbehalten
Comments
Post a Comment