<?php
// 공포 탐욕 지수 API에서 점수를 가져오는 함수
// 공포 점수가 낮으면 매매금 상승, 높으면 하락 (역보정 : 50점 기준 상/하 값)
function get_fear_greed_score() {
$json = file_get_contents('https://api.alternative.me/fng/?limit=1');
$data = json_decode($json, true);
return (int)($data['data'][0]['value'] ?? 0);
}
$fear_greed_index = get_fear_greed_score(); // 공포 탐욕 지수
$buy_score = 50 - $fear_greed_index; // 역보정 (50 : 50점 기준 상/하 값)
$buy_score_point = $buy_score/1000*2+1; // 매수금 조정값 (백분률 10% 기준 *2 100점 보정과 연산 보정 +1)
// 업비트 DB 설정 파일 로드
require_once '/home/www/DB/db_upbit.php';
try {
// 2. 쿼리 수정: WHERE 절을 사용하여 KRW-BTC 종목만 필터링
$sql = "SELECT
market,
prev_closing_price,
trade_price
FROM daemon_upbit_Ticker
WHERE market = 'KRW-BTC'";
$stmt = $db_upbit->prepare($sql);
$stmt->execute();
// 3. 데이터 추출 (단일 종목이므로 fetch 사용 가능)
$row = $stmt->fetch(PDO::FETCH_ASSOC);
if ($row) {
$market = $row['market'];
$prev_closing_price = $row['prev_closing_price']; // 전일 종가
$trade_price = $row['trade_price']; // 현재가
} else {
echo "해당 종목의 데이터를 찾을 수 없습니다.";
}
} catch (PDOException $e) {
// 안전규칙: DB 호출 및 출력 불가능 시 공지
echo "데이터베이스 호출에 실패하였습니다: " . $e->getMessage();
}
$change_amount = $trade_price - $prev_closing_price; // 손익금
$profit_rate = ($change_amount / $prev_closing_price) * 100;// 손익률
// 전일 종가 대비 하락 시 매수
if ($profit_rate <= -1) {
$profit_rate = floor($profit_rate*-1); // 손익률을 양수로 변환 후 소수점 버림
$opening_price_point = 1+($profit_rate/100); // 매매 추가율 보정 (10% 기준)
} else {
$opening_price_point = 1; // -1% 이하 하락이 아닌 경우 보정값 1로 고정 (매수 보정 없음)
}
// 전체 보정 값
$correction_total =
($buy_score_point-1) +
($opening_price_point-1) + 1;
?>