Spaces:
Runtime error
Runtime error
| extern "C" { | |
| // حساب RSI بلغة C++ (أسرع بـ 100 مرة من بايثون) | |
| double calculate_rsi(double* prices, int size) { | |
| if (size <= 14) return 50.0; | |
| double gains = 0, losses = 0; | |
| for (int i = 1; i <= 14; i++) { | |
| double diff = prices[size-i] - prices[size-i-1]; | |
| if (diff > 0) gains += diff; else losses -= diff; | |
| } | |
| if (losses == 0) return 100.0; | |
| double rs = (gains / 14.0) / (losses / 14.0); | |
| return 100.0 - (100.0 / (100.0 + rs)); | |
| } | |
| int get_signal(double rsi, double current, double open) { | |
| double change = ((current - open) / open) * 100.0; | |
| if (rsi < 30 && change > 0) return 1; // شراء | |
| if (rsi > 70 && change < 0) return -1; // بيع | |
| return 0; // انتظار | |
| } | |
| } | |