File size: 3,725 Bytes
63f9fbe
 
 
 
88111a5
 
 
 
63f9fbe
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
---
license: apache-2.0
---

The project on GitHub :
https://github.com/reuniware/CryptoForex-Trader-Framework/tree/main/CCXT_ICHIMOKU/julie_scanner


### How to Use `bluewenne8.py`

1. **Install Dependencies**:
   Ensure you have the required libraries installed:
   ```sh
   pip install ccxt pandas scikit-learn joblib argparse pytz
   ```

2. **Script Overview**:
   `bluewenne8.py` performs cryptocurrency data analysis, trains a machine learning model, and makes predictions. 

### Command-Line Usage

You run the script from the command line with various arguments to control its behavior:

#### 1. **Fetch Data and Analyze Symbols**
This command will fetch data for symbols, analyze the greatest candles, and save the results:

```sh
python bluewenne8.py --timeframe 1d
```

- **`--timeframe`**: Required. Defines the candlestick timeframe, e.g., '1d' for daily candles, '1h' for hourly candles.

#### 2. **Train the Model**
If you want to train a model on historical data, use the following command:

```sh
python bluewenne8.py --timeframe 1d --train
```

- **`--train`**: Optional. If included, the script will train a machine learning model using existing historical data.

#### 3. **Use Existing Model to Make Predictions**
To make predictions using an existing model:

```sh
python bluewenne8.py --timeframe 1d --use-existing
```

- **`--use-existing`**: Optional. If included, the script will use the pre-trained model to make predictions based on existing historical data.

### Detailed Steps for Each Mode

#### A. **Fetch Data and Analyze Symbols**

1. **Fetch Markets**: The script retrieves a list of available markets from the Binance exchange.
2. **Fetch OHLCV Data**: Collects candlestick data for each symbol based on the provided timeframe.
3. **Save Data**: Saves the fetched historical data to CSV files in the `downloaded_history` directory.
4. **Analyze Symbols**: Identifies and logs the greatest candle for each symbol, including current prices.

#### B. **Train the Model**

1. **Load Historical Data**: Reads data from CSV files in the `downloaded_history` directory.
2. **Preprocess Data**: Prepares data by formatting timestamps, setting indices, and splitting features and target variables.
3. **Train Model**: Uses a RandomForestRegressor to train on the historical data.
4. **Save Model**: Saves the trained model and scaler to disk (`model.pkl` and `scaler.pkl`).

#### C. **Use Existing Model to Make Predictions**

1. **Load Model and Data**: Loads the saved model and scaler, and reads historical data.
2. **Predict Next Candle**: Uses the trained model to predict future price movements based on the latest data.
3. **Save Predictions**: Writes predictions to a results file.

### File Structure and Directories

- **`downloaded_history/`**: Directory where historical data CSV files are saved.
- **`scan_results_bluewenne8/`**: Directory where results and prediction files are saved. Created based on the script name.
- **Model Files**: `model.pkl` and `scaler.pkl` are saved in the script's working directory when training.

### Example Use Case

1. **Fetch and Analyze Data**:
   ```sh
   python bluewenne8.py --timeframe 1d
   ```
   This will fetch data for all available USDT pairs, analyze it, and save results.

2. **Train Model**:
   ```sh
   python bluewenne8.py --timeframe 1d --train
   ```
   This will train the model on data from files matching the filter `BTC_USDT`.

3. **Predict with Existing Model**:
   ```sh
   python bluewenne8.py --timeframe 1d --use-existing
   ```
   This uses the pre-trained model to make predictions based on the latest historical data.

Feel free to adjust the timeframe and filters as needed for your specific analysis or training tasks.