CryptoCurrency MT4 history maker MTF
This is a program in the form of an EA that attaches to a chart in MetaTrader 4. Then, by using API from Bittrex website, it downloads the history of altcoins.
By selecting a pair name, the EA automatically downloads all time frames history (Daily, H1, M30, M5) so there is no need to attach multiple EAs to different charts.
The EA also searches for opened offline charts and refreshes those opened charts to show the latest data automatically.
When I started working in CryptoCurrency market I saw that the charting platform of Bittrex website was really annoying. For example, when you draw some lines or Fibo on charts and refresh the tab in your browser all those lines will be removed.
So I started writing this EA to have Crypto Currency charts in MetaTrader and also being able to use my other written indicators to optimize my trading/analyzing the markets.
Because the history format of Bittrex is not compatible with the MetaTrader history format, there are 25 steps of conversion in the EA code to generate a usable history for MetaTrader 4.
Hope it will be a helpful tool for you too.
How to use
When you attach the EA to a chart, there is a list of altcoins in the EA. Select your needed pair (for example BTCIOP) then select the time frames you need the EA to generate charts for (by default all time frames are active).
Then select the time interval at which you want the history/charts to be refreshed (by default the timer is set to 1 Minute interval).
The first time that the timer activates (for example, after 1 minute of running the EA) the EA will show a message box with an API link to allow in MetaTrader allowed URLs. Also, It prints the "link to allow" in the log section.
Copy the link URL and add it to your MetaTrader (this should be done once).
You should add the link 'https://bittrex.com/Api' to tools --> options --> expert advisors --> allow web request for listed URL.
On each request, the size of the history that gets downloaded for all timeframes of each pair is near 1MB.
So in 24 hours for each pair on it will be around 1.5 GB/day or 43 GB/month. So I suggest using this EA on a non-metered network, or run it on your VPS or reduce the download time interval.
After that the EA downloads the history files, It will process them, and create the history files.
Then you should go to files --> Open Offline --> find your pair name and timeframe (for example BtcBLITZ, M601) and open the related offline chart.
The 5 min chart is saved under the name of M51, the M30 chart under name of M301, the H1 chart under name of M601, the D1 chart under name of M14401.
The "1" added to the end of TF is to prevent name conflict with broker live charts (like BtcUsd, M5).
After the offline chart is loaded, the EA will search for pair name and timeframes and refresh the opened charts to show latest data feed.
The Daily chart timeframe is enabled by default (as most of the pairs are not older than 2-3 years the size of downloaded history files is small).
- Pair_Name: the currency you want to have its chart like "BTCIOP"
- Decimal places: leave it to 8 decimal points for those markets.
- Download interval: the timer setting for getting the history of the chart. Default: 1 minute. Increase it if you want less network traffic to be used.
- Get_M5_Data: disable it if you don't need to have M5 charts.
- Get_M30_Data: disable it if you don't need to have M30 charts.
- Get_H1_Data: disable it if you don't need to have H1 charts.
- Get_D1_Data: (Always enable by default - no such option here).
- Print_Logs: Prints some of the generated history value in the logs section of MetaTrader to check if its working fine or not (disabled by default - for troubleshooting only).
Note 1: This EA is for generating offline charts and having cryptocurrency charts in MetaTrader so that you can use your indicators with those markets too.
Using experts for trading on this charts may not have the optimal results, so I may not be responsible for any other use of such charts.
Note 2: This EA will work as long as Bittrex website provides its API access for free. In case of changes in that website, I may find another API or history links to use in this EA. So there may be a downtime at some point in future till I upgrade the code.
Note 3: Webrequest function does not work in backtesting.
Note 4: There is no need to enable DLL option.
2. Added 1M charts so that users can participate in pump/dump actions easier.
3. Added 30 seconds timer to reduce latency of chart updates.