Author

Topic: Aricie: Codeplex bounty (130 btcs) (Read 1682 times)

newbie
Activity: 58
Merit: 0
February 28, 2012, 10:35:04 PM
#5
Hello,

I want to look a bit at the source may be contribute something to the community but I can't figure out,
how to install/upload this to dnn 6.0.
Sorry but I haven't any experience with dnn, but the first look is impresssive Smiley.

Any help is appreciated Smiley

kind regards, talpan

Hi Talpan,

Sorry for the late bump, I just committed the latest version with a DNN 6 compatible extension.

Are you still interested in looking up the source code?
Here's the procedure to get started:

  • Install DotNetNuke 6
  • Download the latest dnnbitcoin source from the codeplex site
  • In the PortalKeeper folder, you'll find 2 extension Zips to be installed within DNN. The Shared extensions must be installed first. To install a DNN extension, log as a super user and move to the Host/Extensions,  Manage Extensions/Install Extension Wizard. Then it's all about checkbox and validation buttons until an App restart
  • Once both extensions installed (they should appear in the list), create a dedicated page (Top Panel/Pages/Add Page), and within that page, instantiate the PortalKeeper module (Top Panel/Modules/Select with Categories=All/Add Module)
  • Once the module is displaying, click "Register components" (it will update your web.config file with dedicated parameters)
  • The module now displays your main configuration form. There is a default Firewall tab, move to the Scheduler Bots tabs
  • The scheduled farm is disabled by default. You won't want to enable it directly, only after having done prior tests through on-demand runs with the "Run Forced Bot" button
  • The farm contains a series of "Master" bots, which can optionally be transformed into "User bots". User Bots are copies of master bots where authorized site users can have their own instance of a selection of the parameters. Enabling a user bot usually comes in pair with defining default parameters in the master's definition and disabling the master instance. This is the case with the existing Bitcoin bots.
  • The default configuration features 2 trading bots (MtGox and CryptoXChange APIs) and 3 corresponding user bots (2 distinct types of strategies for MtGox and one for CryptoXChange). You'll have to choose  and enable a user bot, and include the master bot in the forced bots selection.
  • Next step is to create a dedicated portal user, distinct from the super-user, and to configure the user bot display for such a user.
  • This is done in the module's Manage/Settings page. In the permission tab, you'll want to grant "Edit" permission to the target user role (or simply "registered users" if you don't care about authorization roles). In the "Portal Keeper Settings" tab, check "Assign User Bot" and choose the user bot to display for this specific module instance (Super users always get the global configuration display, where as regular users get the display configured here for this specific module instance)
  • If you come back as a regular user (you can use distinct browsers to keep both sessions), you'll be familiar with the form, identical on dnnbitcoin, and you can save an instance of your parameters (don't forget to disable it on dnnbitcoin.aricie.com first if you plan on using the same Exchange account)
  • come back again as a super user to perform your tests. In order to get detailed logs, move to admin/event viewer/Manage/Edit log settings/Add Log Setting/Type=Debug Info (this is the log type used by the module and it is disabled on a default DNN installation). Event logs will be reported in the admin/event viewer page. You can enable logging for a bot in its "technical settings" tab.
  • Click the "Run Forced bots" button. If everything went fine, you should see the result on the exchange platform, in the event viewer, and in your user's bot history
  • Once you get the bot running, you can configure the scheduler. DNN comes with a event scheduler, which has 2 modes: timer or request (default). You'll want to switch to timer mode (Host/Host Settings) or to enable the bot that pings the site on the desired frequency in order to get a consistant schedule. The scheduled bot farm is embedded into a single DNN Scheduled task (Host/Schedule), but it maintains its own additional frequency as well as each individual bot (Technical Settings).
  • Finally about the code itself. A bots is made of a XML definition and related .Net libraries declared and consumed within the definition.  There are 2 dlls for the trading material: You can build the related VB.Net and C# projects from the source and replace the original dlls in the bin folder to start debugging. You can also edit the definition within the configuration form, and Export/Imports files are located at the root of your site's directory (~/Portals/0/)

Well I think that's about it.
Let me know if you have any additional question.
As for me, I'm still to upgrade the dnnbitcoin website to dnn 6 and install the new CryptoXChange bot.

Regards,

Jesse
newbie
Activity: 58
Merit: 0
February 12, 2012, 03:49:31 PM
#4
Hi Talpan,

I'm not finished with updating the source code on Codeplex from the recent updates.
More specifically, I need to package the private assemblies for the latest version of the DNN module, and dump the updated XML bot definitions.
That should be in the coming days.
As for setting up your environment. Once you get DNN installed, you have to install the supplied Private assemblies as regular extensions, and instantiate the Portal Keeper module in a page.
Then it's all within the module's configuration form.
I'll make an announcement when the source code is up to date.

Regards,

Jesse
full member
Activity: 228
Merit: 100
February 12, 2012, 04:40:37 AM
#3
Hello,

I want to look a bit at the source may be contribute something to the community but I can't figure out,
how to install/upload this to dnn 6.0.
Sorry but I haven't any experience with dnn, but the first look is impresssive Smiley.

Any help is appreciated Smiley


kind regards, talpan
member
Activity: 70
Merit: 10
November 09, 2011, 04:18:14 AM
#2
I like the migrating suggestion Tongue ill start code digging later I guess Tongue
newbie
Activity: 58
Merit: 0
November 06, 2011, 07:59:21 PM
#1
Hi all,

As explained in a past announcement, this second bounty is about improving the trading material from our bot platform.
Since the previous trading contest bounty was cancelled, I'm reporting everything that's been provisioned on our public address at the moment, i.e 130 btcs.

Current situation:

There are more than 60 market making user bots currently running on the dnnbitcoin demo website, which contributed a volume of about 20 000 btcs to the market during the last month, namely more than tenfold the total resources on the corresponding exchange accounts.
I suppose that can be considered a successful experiment for the platform itself, and a good candidate for a useful tool for the bitcoin community. 

The bots are freely available on a Codeplex project, which contains the source code for the trading material, Xml exports of the corresponding bots, and Private assemblies to install the platform on a dedicated DotNetNuke instance.
That project was initially conceived as a simple illustration of the platform capabilities, and without extensive trading expertise, I tried to keep the bots extensible with a simple yet highly customizable trading algorithm. There is arguably a lot of room for improvements.

As I'm bound to moving on with our DNN projects and improving the platform itself, I'm looking for someone willing to help improving the Bitcoin part of that project.

Bounty:

The bounty will reward active contributors to the Codeplex project.
You should be a .Net programmer and request edit access to the source code.

As soon as you demonstrate understanding and commitment to the project with an update comprising both an improvement of the source code and of an XML export, I will release the 130 btcs to the address of your choice.
If by then there are several of you collaborating, the prize will be equally divided between each contributor successful at demonstrating minimum commitment.   
Below is a list of proposed improvements, which you can pick from.

I don't want to put a deadline on this, which was quite unfortunate with the previous bounty, nor a strict assignment, which would probably drive the wrong profile: If you're looking for a quick coding job here, please don't apply.
I'm looking for someone willing to use the platform for oneself, thus with a true incentive to improve it, and who will find it interesting on the long run to concentrate on the core trading material while I get to deal with all the low-level platform related issues.

Also, if you've been using our hosted demonstration platform, and you feel you've got the same incentive to seeing it improved, yet you don't have any coding skills, feel free to support the project with your additional contribution. Everything sent to our public address till the bounty's over will add up to the reward.

Possible improvements:

  • Supported APIs: upgrading to the latest MtGox API, adding support for CampBx, Bitcoinica etc.
  • Bots: email notifications, reporting etc.
  • Trading algorithms: improving the existing algorithm or proposing alternate strategies, introducing back-testing against historical data, optimizing the default configuration etc.
  • New bots: Arbitrage bot, Notification bots etc.
  • Migrating to c# or Iron Python, well if Vb.Net really doesn't suit you.

Getting started:

Installing the development environment involves setting up a local DotNetNuke instance, uploading the platform's private assemblies, and instantiating the module on a page.
Then you have a Visual Studio project to update the Bitcoin dedicated assembly, and online edits within the platform's DNN module to update the bots consuming that assembly.
You should see that the platform provides online tools to deal with schedule, http requests, sending emails, user params etc. such that the code to be updated strictly contains the DOM classes and trading algorithm.
Of course, once you get familiar with the environment, feel free to use the platform for your own projects.
Jump to: