Great Platform, but slow learning curve

Apr 25, 2013 at 10:04 AM
Hi all,
I found TradePlatform in just two days. I will give a five STARS for the project. But I think we needed to enhance the documentation. Otherwise, it is painful to the C# newbie like me to learn how to adopt it.
I can't make my app's or my experts run. Therefore I am asking for helping hand to make some clarification.
To my understanding, we can use the dlls in 2 ways:
  1. Develop dll library like the c++ dll project, then attach the dll to MT4 chart. All trading logic (or indicator calculation) are being done by the dll.
  2. Develop app that can communication with MT4 using the TradePlatform assemblies
What stopped me are following:
  1. Config file
  2. Folder Structure
Assuming my project is a expert typed project, only dll is generated. Please let me know what if I am wrong for the following settings:

EA purpose CAPTURE the chart for every new bar.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using TradePlatform.MT4.Core;
using TradePlatform.MT4.SDK.API;

namespace Fx
{
    public class Test : TradePlatform.MT4.Core.ExpertAdvisor
    {
        private int bar;
        protected override int Init()
        {
            this.bar = 0;
            return (1);
        }
        protected override int DeInit()
        {
            return (1);
        }
        protected override int Start()
        {
            if (this.bar < this.Bars())
            {
                this.WindowScreenShot(string.Format("{0}-{1}.gif", this.Symbol(), this.Period()), 640, 480);
                this.bar = this.Bars();
            }
            return (0);
        }
    }
}
The dll generated is call: Fx.dll

Now for the config file, I am wondering with few things:
  1. the name of the config file: should it be Shell.dll.config or Fx.dll.config. If the assembly (Fx.dll) is placed in the Shell.exe folder, then I suspect it would be Shell.exe.config
  2. in the config file,
<?xml version="1.0"?>
<configuration>
  <configSections>
    <section name="BridgeConfiguration" type="TradePlatform.MT4.Core.Config.BridgeConfiguration, TradePlatform.MT4.Core"/>
  </configSections>
  <runtime>
    <loadFromRemoteSources enabled="true" />
  </runtime>
  <appSettings>
    <add key="NotifyToEmail" value="[YOUR_EMAIL]"/>
  </appSettings>
  <BridgeConfiguration useEventLog="true" wcfBaseAddress="http://localhost:8080/TradePlatform">
    <Hosts>
      <Host name="host1" ipAddress="127.0.0.1" port="2007">
        <Handlers>
          <!-- Experts -->
          <Handler name="Test" typeName="Fx.Test" assemblyName="Fx" />
          <!-- Common -->
        </Handlers>
      </Host>
    </Hosts>
  </BridgeConfiguration>
</configuration>