Source Code
From Open Forex Platform Wiki
Prerequisites
In order to compile the entire solution, you will need Microsoft Visual Studio 2008 or Microsoft Visual Studio Express. It is also possible to use Microsoft Visual Studio 2005, but this will only allow you to build the projects separately.
Downloading the Source Code
The latest source code for the project can be obtained, using an SVN client, here:
http://code.google.com/p/openforexplatform/source/checkout
Step by Step downloading instructions
We recommend the usage of the free Tortoise SVN. Download the Tortoise SVN application, and install it. Once done, go to your windows explorer, to the folder you would like to deploy to, Right Click and select "SVN Checkout". A dialog box will appear.
In the field "URL of repository" enter: http://openforexplatform.googlecode.com/svn/trunk/
The other parameters must be left by default: Checkout Depth: "Fully Recursive" Omit Externals: unchecked Revision: HEAD revision
Click OK. If a dialog appears asking you "Would you like to create the new folder?" click Yes.
The download process will begin. When it has completed, click OK. You have downloaded the OFxP source code.
For instructions on how to build it, go to Building the Project.
Source Code Organization
The source code is organized in one big solution called "OpenForexPlatform" (OpenForexPlatform.sln). It contains all of the following projects:
- Arbiter
Project hosts an implementation of the Arbiter communication mechanism. The mechanism is based on messages. To use a component must implement the IArbiterClient interface.
- CommonSupport
Common helper classes from any format, both logic and user interface. Any class that is not related to financing and the Platform in specific and can be reused in any general application is stored here.
- CommonFinancial
Common financial classes, both business logic and user interface. All non Platform specific financial classes are stored here.
- MT4IntegrationDll
Provides an entry point for the integration with MetaTrader.v.4 integration expert. A copy of this DLL is deployed to the MT4 integration folder and loaded by it.
- ForexPlatformPersistence
Provides platform specific helper classes to assist the persistence of the platform (currently to a SQLite database).
- ForexPlatformIntegration
Handles integration with external platforms, stores classes needed for integrations.
- ForexPlatform
The core platform classes are stored here. All non user interface platform specific source code must be placed here.
- ForexPlatformFrontEnd
Almost all user interface components are stored in this project. It also serves as an actual starting point, contains the main application form etc.
- ForexPlatformClient
This is the start up executable project. Most importantly it verifies GAC registrations of the remaining components and runs the platform.

