<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Forex Software — Skype Conference 2012-04-01 Chat Log]]></title>
		<link>https://forexsb.com/forum/topic/3160/skype-conference-20120401-chat-log/</link>
		<atom:link href="https://forexsb.com/forum/feed/rss/topic/3160/" rel="self" type="application/rss+xml" />
		<description><![CDATA[The most recent posts in Skype Conference 2012-04-01 Chat Log.]]></description>
		<lastBuildDate>Sun, 01 Apr 2012 11:09:23 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Skype Conference 2012-04-01 Chat Log]]></title>
			<link>https://forexsb.com/forum/post/13559/#p13559</link>
			<description><![CDATA[<p>[13:00:11] Miroslav Popov: Hello everyone,<br />[13:00:19] Miroslav Popov: how are you today?<br />[13:00:45] Miroslav Popov: Who is online now?<br />[13:00:56] Adam Burgess: I am here.<br />[13:01:14] Miroslav Popov: Hello Adam! Nice to see you here<br />[13:01:28] Adam Burgess: Thank you, how was your tournament?<br />[13:01:49] Miroslav Popov: We started yesterday with kata.<br />[13:01:55] Miroslav Popov: Today is the sparring<br />[13:02:19] Miroslav Popov: I&#039;m starting in 1 hour. Now I&#039;m in the change room<br />[13:03:01] Adam Burgess: Showing some hard core dedication to FSB by being here.<br />[13:03:42] Miroslav Popov: I&#039;m totally dedicated to both programming and martial arts<br />[13:04:37] Adam Burgess: I didn&#039;t get a chance this week to check our the exp branch that you mentioned last week.&nbsp; Have you done some work on the plugin interface ideas in this one?<br />[13:04:58] Miroslav Popov: No, I didn&#039;t<br />[13:05:22] Miroslav Popov: I want to publish FSB final and FST till the end of upcoming week<br />[13:05:53] Adam Burgess: OK .. I built a plugin interface for the existing mainline release for indicators only that appeared appears to work nicely.&nbsp; Once you have published the next release I will look at integrating some of this for you to take a look at.<br />[13:06:55] Adam Burgess: I&#039;d like to be able to build a strategy performance report with similar functionality to what is available in some of the commercial tools that I have, but only have some of the math in proprietary DLL files so a plugin DLL would be the only way for me to do this.<br />[13:06:59] Miroslav Popov: The final release will not differ from the current master branch<br />[13:07:11] Adam Burgess: OK.<br />[13:07:32] Adam Burgess: Can you tell me a little more about what you are thinking around the changes to the math in future releases please?<br />[13:07:42] Miroslav Popov: If you know the formulas, we can integrate the analysis in FSB<br />[13:08:20] Miroslav Popov: I want to reformat FSB in order to make it more modular and object oriented<br />[13:08:40] Adam Burgess: [12:08] Miroslav Popov: <br />&lt;&lt;&lt; If you know the formulas<br />Some of the formulas I only have in commercial binary format.&nbsp; I&#039;m licensed to redistribute these, but only as binaries.<br />[13:09:00] Miroslav Popov: The bigest problem now is that the Backtester calculations and data files are static classes<br />[13:09:22] Miroslav Popov: Formulas cannot be patented and copyrighted<br />[13:09:36] Miroslav Popov: If you know the maths we can rebuild the formulas freely<br />[13:10:19] Adam Burgess: [12:09] Miroslav Popov: <br />&lt;&lt;&lt; Formulas cannot be patented and copyrighted<br />Understood, I was more thinking of the effort involved in re-creating some of the stuff that I already have access to now.&nbsp; Will play around with a few ideas over the coming weeks and make some suggestions.<br />[13:10:23] Miroslav Popov: If we do not use code, we can reproduce the logic<br />[13:10:48] Miroslav Popov: OK<br />[13:10:53 | Edited 13:10:57] Miroslav Popov: About FSB<br />[13:11:14] Miroslav Popov: I separated Backtester in a class<br />[13:11:49] Miroslav Popov: Now different tools like Generator and Optimizer instantinate a backtester&nbsp; to use it<br />[13:12:03] Adam Burgess: My guess is that you are looking to be able to build multiple instances of the backtester to allow for multi-threaded applications?<br />[13:12:11] Miroslav Popov: So they calculate independantly<br />[13:12:21] Miroslav Popov: That&#039;s one<br />[13:12:36] Miroslav Popov: The other is to make more modern GUI<br />[13:12:47] Miroslav Popov: with tabs for different strategies and tools<br />[13:13:08] Miroslav Popov: Also later to integrate Trader to FSB<br />[13:21:49] Adam Burgess: I think integrating FST and FSB together would be a great idea, and a much lower overhead than maintaining both of these products individually.<br />[13:22:38] Adam Burgess: I was going to suggest that consideration be given to moving some of the duplicated logic into a class library which is available to both FSB and FST so there is only a single codebase to maintain, but it there is a way to merge the two products that would be much easier.<br />[13:22:58] Miroslav Popov: I want to keep the Forex Strategy Builder brand since FST is not very popular<br />[13:23:14] Adam Burgess: Makes sense.<br />[13:23:47] Miroslav Popov: But also we need a light weight VPS trader<br />[13:24:24] Adam Burgess: Have you thought about actually building a &#039;translator&#039; of sorts into FSB that would convert the FSB logic into MQL (or other code) for execution directly in the platform?<br />[13:24:59] Miroslav Popov: After finishing current FSB&nbsp; / FST releases I&#039;ll start working on next steps<br />[13:25:04] Adam Burgess: There would obviously need to be external DLL&#039;s that would be called from the resulting code so the actual FSB logic doesn&#039;t need to be duplicated (only the trading logic).<br />[13:25:36] Miroslav Popov: Probably we can leave FST for MT4 and to make MQL5 application for executing strategies directly<br />[13:27:00] Miroslav Popov: I&#039;m not familiar what are the advantages of MQL5 but read that offer some improvements<br />[13:27:24] Adam Burgess: My long term goal is to be able to build strategies in FSB and trade them in a couple of other platforms, but the first translation will be the hardest of course, since the underlying DLL&#039;s will need to be created.<br />[13:27:58] Miroslav Popov: unfortunately MT5 doesn&#039;t support .NET dlls<br />[13:28:43] Adam Burgess: I can build a set to C++ wrapper&#039;s for MT4/MT5/etc that will do data translation from managed to unmanaged code.<br />[13:29:36] Miroslav Popov: FST also needs a major refactoring but it will not take too much time<br />[13:30:27] Miroslav Popov: the trading logic with indicators will be small and fast if we remove all GUI, charts and journals<br />[13:30:40] Miroslav Popov: only maintaining status file and log file<br />[13:31:08 | Edited 13:31:18] Miroslav Popov: Also FST has to be able to work with multiple strategies<br />[13:32:41] Adam Burgess: If there was a way to translate the strategies directly into a platform, FST could possibly be removed from the equation alltogether, eg:<br />1. Build strategy with FSB<br />2. Translate strategy (in FSB) to MT4/MT5 --&gt; result placed in clipboard.<br />3. Paste translated strategy into platform editor.<br />4. Compile in platform.<br />Very lightweight, and no mapping back to FST, no need to have a one-to-many mapping of strategies (if the user wants to run multiple strategies, they are just run in multiple platform windows/charts).<br />[13:33:10] Adam Burgess: Very much thinking out loud here ... I have not done any analysis to see how much work/time would be needed to make this happen.<br />[13:33:33] Miroslav Popov: The bigger problem is the indicators<br />[13:33:58] Miroslav Popov: they has to remain same as the one in FSB<br />[13:34:19] Miroslav Popov: also custom indicators has to be used<br />[13:34:43] Adam Burgess: Agreed ... possibly the FSB indicators are all stored in a class library that is accessed by both FSB and can be called from the platform (via a wrapper DLL) ...<br />[13:34:55] Miroslav Popov: so MQL strategy has to call these indicators from exeternal files or dll<br />[13:35:21] Adam Burgess: Custom indicators will present a challenge, as this would only work if the user compiled the custom indicators into the DLL that was called externally also.<br />[13:35:54] Miroslav Popov: .NET dll can find custom indis and compile them<br />[13:37:01] Adam Burgess: Yes ... needs more thought but I believe this to be definately tecnically possible.&nbsp; Depending on your longer term plans for FSB, this approach may encourage other developers to get involved to build translators for other platforms also.<br />[13:37:16] Miroslav Popov: What do you suggest for trading logic? It to remain on C# or to be translated to C++ dll or MQL5<br />[13:38:17] Adam Burgess: This message has been removed.<br />[13:38:21] Miroslav Popov: My idea for FST was it to be a single tool that works through a Bridges.<br />[13:39:03] Miroslav Popov: As the case with MT4: We have a .NET part of the bridge and dll and expert for MT4<br />[13:40:30] Adam Burgess: Possible something like:<br />a. User saves strategy file as XML file to C:\Strategies\MyStrat.xml (current format).<br />b. The EA has an input of StrategyName=C:\Strategies\MyStrat.xml<br />c. When the EA initialises, it could pass this (strategy file name) into the underlying DLL and the logic would be available as long as the DLL remains in memory - the file would only need to be loaded once.<br />[13:41:25] Miroslav Popov: When MT4 loads a DLL, it uses it for all experts<br />[13:42:22] Miroslav Popov: Such DLL has to be able to work with different data files and strategies simultaneously<br />[13:42:40] Miroslav Popov: That&#039;s why I started refactoring FSB and will do the same with FST<br />[13:43:16] Adam Burgess: OK ... Instead of saving C:\Strategies\MyStrat.xml, we create a DLL from within FSB named C:\Strategies\MyStrat.dll that is a compiled DLL file containing the strategy as a variable ...<br />[13:43:46] Adam Burgess: The platform could have any number of FSB created DLL&#039;s loaded, and each one would have distinct logic (so no overlap).<br />[13:43:49] Miroslav Popov: Interesting<br />[13:44:08] Miroslav Popov: A dll with the strategy, used indicators and the trading logic<br />[13:44:39] Miroslav Popov: in that case only FSB will need indicators<br />[13:45:15] Adam Burgess: Yes, and providing that the indicator file is registered in the GAC or available in a static location to the dll file, then the logic would always be available.<br />[13:45:53] Miroslav Popov: But what about some changes to the strategy as number of entry lots<br />[13:46:13] Miroslav Popov: If we allow changes, we need to provide some UI<br />[13:47:07] Miroslav Popov: Or after compiling from FSB, the strategy will be unchangeable (and directly sent to MT)<br />[13:47:24] Adam Burgess: It is possible to call the C# DLL using a direct DLL call (as if it were a C or C++ DLL) but this can only be performed by editing the underlying IL code.&nbsp; It may be possible to do this from within the application, but I&#039;ve only ever done it the manual way before (compile, decompile, edit IL code, compile).<br />[13:48:05] Miroslav Popov: C# can call DLL on request<br />[13:48:16] Miroslav Popov: but cannot free it after<br />[13:48:19] Adam Burgess: [12:46] Miroslav Popov: <br />&lt;&lt;&lt; But what about some changes to the strategy as number of entry lots<br />We could still allow settings to be entered in the EA, so user-modifiable settings could probably just be changed in the platform I guess.<br />[13:49:11] Miroslav Popov: FSB can export MyStrat.dll and MyStrat.mql<br />[13:49:24] Miroslav Popov: So dll can have some controls from the expert<br />[13:50:03] Adam Burgess: Sorry ... what I was suggesting was that instead of having a C/C++ wrapper dll that then calls a .NET dll, it may be possible to build all necessary logic (strategy, indicators, and custom indicators) into a single dll that could be called directly from MT4/MT5 (rather than needing to know the location of the indicators DLL).<br />[13:50:04] Miroslav Popov: MyStrat.dll to be with indicators and trade logic<br />[13:50:54] Miroslav Popov: FSB to export a C++ dll with the strategy logic?<br />[13:51:16] Miroslav Popov: I do not like that<br />[13:51:18] Adam Burgess: No, to have everything inside a .NET dll that is callable from MT4/MT5.<br />[13:51:54] Miroslav Popov: MT4/5 uses expert that calls the dll, right?<br />[13:51:59] Adam Burgess: I have TradeStation calling directly into .NET dll&#039;s even though TradeStation does not support .NET.<br />[13:53:23] Adam Burgess: [12:52] Miroslav Popov: <br />&lt;&lt;&lt; MT4/5 uses expert that calls the dll, right?<br />Yes ... the EA (MyStrat.mql) calls MyStrat.dll, which would either:<br />a. Call FSBLogic.dll to do indicator calculations; or<br />b. Use internal logic if MyStrat.dll was a .NET class library modified to allow calling from a non-.NET application (which is possible).<br />[13:54:08] Miroslav Popov: [13:53] Adam Burgess: <br />&lt;&lt;&lt;&nbsp; MyStrat.dll was a .NET class library modified to allow calling from a non-.NET application (which is possible).<br />[13:54:26] Miroslav Popov: If we can do it we&#039;ll solve many problems<br />[13:54:47] Miroslav Popov: We&#039;ll remove named pipes<br />[13:55:15] Adam Burgess: Yes, I believe that it would be a much simpler approach.<br />[13:55:54] Miroslav Popov: Much simple and&nbsp; faster and&nbsp; reliable<br />[13:56:03] Adam Burgess: Yes<br />[13:56:23] Miroslav Popov: In that case the dll can work directly with the expert<br />[13:56:53] Adam Burgess: I will take this on if you like, and run a few tests to see what I can come up with over the next couple of weeks if you like.<br />[13:56:56] Miroslav Popov: Now FST sends everything via named pipes to dll server -&gt; expert<br />[13:57:46] Miroslav Popov: That will be great. If we can access FST directly from the expert<br />[13:58:03] Miroslav Popov: we can make some simple tests first<br />[13:58:10] Adam Burgess: I believe that this would be a big step forward.<br />[13:58:14] Miroslav Popov: collecting data and sending commands<br />[13:58:34] Miroslav Popov: later we can make a bridge to FSB<br />[13:58:44 ] Miroslav Popov: and to backtest and compare trading in real time<br />[14:00:03] Adam Burgess: Yes ... I will start with building a dll that is callable from MT4 (I don&#039;t have MT5 anywhere) and pass some data around and work back from there, to see what dependencies are found.<br />[14:00:54] Miroslav Popov: I will finish with current FSB / FST in two weeks and will go forward<br />[14:01:31] Miroslav Popov: I&#039;ll be free from my main work till September, so I hope to make big progress<br />[14:03:01] Miroslav Popov: We have to put our plans in the forum so users can vote for the priority<br />[14:03:39] Adam Burgess: Yes .. I will start a thread on this idea once I have some basic tests done (would like to check a few things first).<br />[14:04:06] Miroslav Popov: OK. Thank you Adam. See you in&nbsp; the forum<br />[14:04:16] Adam Burgess: Thanks ... be well.</p>]]></description>
			<author><![CDATA[null@example.com (Popov)]]></author>
			<pubDate>Sun, 01 Apr 2012 11:09:23 +0000</pubDate>
			<guid>https://forexsb.com/forum/post/13559/#p13559</guid>
		</item>
	</channel>
</rss>
