Job: Migrate C-Code (EMA Trading Strategy) to Python + Automation + Video Tutorials
🔍 What I have:
I have a working EMA (Exponential Moving Average) trading strategy implemented in C-Programm (using CodeBlocks), which delivers excellent results. The strategy is used across multiple markets:
- Currencies, indices, commodities, and cryptocurrencies
- The current program runs via an .exe file with parameters like this:
EMA_D1_V1.exe AUS200_D1.csv 0.8 0.0 2.75 AUS200_D1_EMA_All_EMA_D1_V1.csv
- Historical price data is currently downloaded manually from websites like Dukascopy or Stooq. These files are cleaned manually using LibreOffice Calc and saved as .csv – this process is very time-consuming and error-prone.
🧩 Scope of Work
1. Migrate C-Code to Python Fully translate the existing C-Code EMA-Strategy into Python either manually or using tools like CodeConvert AI, Syntha.ai, or CodePorting AI.
2. Spread and Commission Handling
- Integrate spread calculation in percent (to be verified), for example:
close_ask[i] = close_bid[i] + spread
high_ask[i] = high_bid[i] + spread
low_ask[i] = low_bid[i] + spread
open_ask[i] = open_bid[i] + spread
- For stocks and indices, commission fees must also be accounted for (maby manuell in Python)
3. Flexible Timeframes The strategy must handle different timeframes: M5, M15, H1, H4, D1, etc.
4. Automatic Data Import The Python tool should be able to automatically download historical market data from public/free APIs like:
- AlphaVantage / Quandl / xxxxxx
- Or other reliable sources (feel free to suggest alternatives)
5. Validation Against MT4 The outputs from your Python tool (number of trades, risk-reward ratio, SL/TP/TP/exit dates, etc.) must match those of:
- The current C-Program (number of trades, risk-reward ratio, SL/TP/TP/exit dates, etc.)
- MetaTrader 4 (MT4) backtest results (number of trades, risk-reward ratio, SL/TP/TP/exit dates, etc.)
- Only if these match is the migration considered successful.
6. Video Tutorials (Im non-developers from Python) I need three simple, beginner-friendly video tutorials (screen recording with explanations):
- Video 1: Explanation of how the C-Code was translated into Python, including spread/commission logic and debugging (I need to be able with thies Video to migrate my other C-Codes to Python using tools like CodeConvert AI, Syntha.ai, or CodePorting AI)
- Video 2: How to connect the tool to a data source (API), including steps for future changes
- Video 3: How to use the Python tool (parameters, timeframe, file import, etc.)
7. Ongoing Support for Issues or Questions
- Some topics may be missed in the tutorials, or issues may arise later
- I need a clear and reliable way to get support afterward (email or video-call), not just a “done and gone” delivery
✅ Requirements for the Freelancer:
- Excellent skills in Python and C-Programing
- Experience with trading strategies, especially EMA
- Familiarity with MetaTrader 4 (MT4)
- Experience with API integration (e.g., AlphaVantage, Quandl, Yahoo Finance, Dukascopy, Stooq, etc.)
- Ability to produce clear, well-explained tutorial videos
- Knowledge of backtesting (in C, Python, and MT4)
📦 Deliverables
- Fully working, commented and documented Python code
- Three video tutorials covering setup, code logic, and API connection
- Ongoing Support for Issues or Questions
📬 Are you the right fit for this project?
If yes, I’d love to hear back from you with the following:
- Suggestions or improvements to the project as described
- What tools or libraries you plan to use (e.g., pandas, NumPy, matplotlib, yfinance, ccxt, etc.)
- Your API recommendation for reliable historical data import – with reasoning
- A brief explanation of your planned workflow – how will you approach the migration?
- Your realistic time estimate for project completion (including buffer)
- Your price proposal, either broken down by task or as a full package
🛠️ Post-Project Support
Please also describe your support offering after the delivery:
- How do you handle missed topics or tutorial gaps that may come up later?
- Are you available for questions via email, chat, or video call?
- Do you offer any support packages or charge per issue?