<?php
// file này có nhiệm vụ cắt lỗ những lệnh nào bị vượt quá kháng cự hoặc hỗ trợ
date_default_timezone_set('Asia/Hong_Kong');
$date_check = date('Y-m-d H:i:s');
       require_once('config.php');
       // Create connection
       $conn = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
       // Check connection
       if ($conn->connect_error) {
       die("Connection failed: " . $conn->connect_error);
       } 
function curl($url)
{
	$ch = @curl_init();
	curl_setopt($ch, CURLOPT_URL, $url);
	curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/539.96');
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
	curl_setopt($ch, CURLOPT_TIMEOUT, 60);
	curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
	$page = curl_exec($ch);
	curl_close($ch);
	return $page;
}

$sql = "SELECT * FROM future_binance_bot WHERE check_statust = 'open' AND side = 'BUY' GROUP BY symbol";
$result = $conn->query($sql);
if ($result) {
// output data of each row
while($row = $result->fetch_assoc()) {
$symbol = "" . $row["symbol"] . ""; 
		$expire = '10';//3600 = 1h		
		$cachevideo = "price.cache";		
		if (!file_exists($cachevideo) OR (filemtime($cachevideo) < (time() - $expire))) {		
				
		$json = curl('https://api.binance.com/api/v3/ticker/price');		
				
		$cache = fopen($cachevideo, 'w');		
		fwrite($cache, $json);		
		fclose($cache);		
		}		
				
		$data = file_get_contents('price.cache');		
		$lastPrice = explode('"symbol":"'.$symbol.'","price":"',$data);		
		$lastPrice = explode('"',$lastPrice[1]);		
		$lastPrice = $lastPrice[0];		
				
				
				
		if($lastPrice){		
			// ok	
		}else{		
			die(' lỗi lấy giá <br>');	
		}		
				


				
		$lay_gia = $conn->query("SELECT * FROM future_binance_bot WHERE avgPrice IN(SELECT MIN(avgPrice) FROM future_binance_bot WHERE symbol = '$symbol' AND side = 'BUY' AND check_statust = 'open') AND check_statust = 'open' AND side = 'BUY'");		
				
		$lay_gia_db = $lay_gia->fetch_object();		
		$id = $lay_gia_db->id;		
		$origQty = $lay_gia_db->origQty;		
		$avgPrice = $lay_gia_db->avgPrice;		
				
				
				
		// kiểm ra avgPrice		
		if($avgPrice){		
			// co	
		}else{		
			die(''.$symbol.' ko co coin nay <br>');	
		}		
				

$phan_tram = 0.3;

/// kiểm tra xem giá đã vượt quá 1.2% tính từ giá vào đầu tiên chưa


$lay_gia_m = $conn->query("SELECT * FROM future_binance_bot WHERE avgPrice IN(SELECT MAX(avgPrice) FROM future_binance_bot WHERE symbol = '$symbol' AND side = 'BUY' AND check_statust = 'open') AND check_statust = 'open' AND side = 'BUY'");		
				
$lay_gia_db_m = $lay_gia_m->fetch_object();		
$id_m = $lay_gia_db_m->id;		
$origQty_m = $lay_gia_db_m->origQty;		
$avgPrice_m = $lay_gia_db_m->avgPrice;	

$tinh_phan_tram_m = (($lastPrice - $avgPrice_m) / $avgPrice_m) * 100;		
$tinh_phan_tram_m = sprintf('%.18f', floatval($tinh_phan_tram_m));//force 18 decimal places	

// nếu giá xuống dưới -1.2% so với giá vào lúc đầu thì thực hiện cắt lỗ và dừng lệnh

if($tinh_phan_tram_m < -1.2){
	// giá xuống dưới cắt lỗ lệnh này thôi
	////BẮT ĐẦU LẤY TỔNG LỆNH ĐÃ VÀO		
	// $tong_origQty = $conn->query("SELECT SUM(origQty) as origQty FROM future_binance_bot WHERE symbol = '$symbol' AND side = 'BUY' AND check_statust = 'open'");		
	// $tong_origQty_db = $tong_origQty->fetch_object();		
	// $tong_origQty_m = $tong_origQty_db->origQty;		
				// $json_curl = curl('https://coin.congtytraxanh.com/api-binance/future/Ck-Dong-lenh-2-chieu.php?symbol='.$symbol.'&side=SELL&quantity='.$tong_origQty_m.'&type=LONG');		
				// $dataJson_curl = json_decode($json_curl,1);		
				// $check_ok = $dataJson_curl["avgPrice"];		
				////check thử xem có bị lỗi chốt lệnh hay ko?		
				// if($check_ok){		
					////ko lỗi	
					// $sql = "UPDATE future_binance_bot SET check_statust='close', phan_tram_lenh = '$tinh_phan_tram', check_telegram = 'chot', time_check='$date_check' WHERE symbol= '$symbol' AND check_statust= 'open'";	
					////Thực hiện câu truy vấn	
					// if ($conn->query($sql) === TRUE) {	
					// echo "Update thành công";	
					// } else {	
					// echo "Update thất bại: " . $conn->error;	
					// }	
				// }else{		
					////lỗi, gửi thông báo về telegram	
					// $sql = "UPDATE future_binance_bot SET check_statust='loi-cho', check_telegram = 'loi-cho', time_check='$date_check' WHERE symbol= '$symbol' AND check_statust= 'open'";	
					////Thực hiện câu truy vấn	
					// if ($conn->query($sql) === TRUE) {	
					// echo "Update thành công";	
					// } else {	
					// echo "Update thất bại: " . $conn->error;	
					// }	
						
					// echo ''.$symbol.' này bị lỗi chốt lệnh<br>';	
				// }  	
				// $json_curl = curl('https://coin.congtytraxanh.com/api-binance/future/Ck-Dong-lenh-2-chieu.php?symbol='.$symbol.'&side=SELL&quantity='.$origQty_m.'&type=LONG');		
				// $dataJson_curl = json_decode($json_curl,1);		
				$check_ok = "5";		
				//check thử xem có bị lỗi chốt lệnh hay ko?		
				if($check_ok){		
					// ko lỗi	
					$sql = "UPDATE future_binance_bot SET check_statust='cat-lo', phan_tram_lenh = '$tinh_phan_tram_m', check_telegram = 'cat-lo', time_check='$date_check' WHERE id=$id_m";	
					// Thực hiện câu truy vấn	
					if ($conn->query($sql) === TRUE) {	
					echo "Update thành công";	
					} else {	
					echo "Update thất bại: " . $conn->error;	
					}	
				}else{		
					// lỗi, gửi thông báo về telegram	
					$sql = "UPDATE future_binance_bot SET check_statust='loi-cho-lo', check_telegram = 'cat-lo', time_check='$date_check' WHERE id=$id_m";	
					// Thực hiện câu truy vấn	
					if ($conn->query($sql) === TRUE) {	
					echo "Update thành công";	
					} else {	
					echo "Update thất bại: " . $conn->error;	
					}	
						
					echo ''.$symbol.' này bị lỗi chốt lệnh<br>';	
				} 	
				
}else{
	// giá chưa xuống dưới quá -1.2, thực hiện chốt lời theo chiến thuật đề ra ban đầu
	// lấy giá thấp nhất đối với lệnh BUY để so sánh % lời
	$tinh_phan_tram_chot = (($lastPrice - $avgPrice) / $avgPrice) * 100;		
	$tinh_phan_tram_chot = sprintf('%.18f', floatval($tinh_phan_tram_chot));//force 18 decimal places
	
	if($tinh_phan_tram_chot > 0.3){
		// nếu % lớn hơn thì chốt
		// $json_curl_dc = curl('https://coin.congtytraxanh.com/api-binance/future/Ck-Dong-lenh-2-chieu.php?symbol='.$symbol.'&side=SELL&quantity='.$origQty.'&type=LONG');		
		// $dataJson_curl_dc = json_decode($json_curl_dc,1);		
		$check_ok = 5;		
				// check thử xem có bị lỗi chốt lệnh hay ko?		
				if($check_ok){		
					// ko lỗi	
					$sql = "UPDATE future_binance_bot SET check_statust='close', phan_tram_lenh = '$tinh_phan_tram_chot', check_telegram = 'chot', time_check='$date_check' WHERE id=$id";	
					// Thực hiện câu truy vấn	
					if ($conn->query($sql) === TRUE) {	
					echo "Update thành công";	
					} else {	
					echo "Update thất bại: " . $conn->error;	
					}	
				}else{		
					// lỗi, gửi thông báo về telegram	
					$sql = "UPDATE future_binance_bot SET check_statust='loi-cho-chot', check_telegram = 'loi-cho', time_check='$date_check' WHERE id=$id";	
					// Thực hiện câu truy vấn	
					if ($conn->query($sql) === TRUE) {	
					echo "Update thành công";	
					} else {	
					echo "Update thất bại: " . $conn->error;	
					}	
						
					echo ''.$symbol.' này bị lỗi chốt lệnh<br>';	
				} 
				
		
	}else{
		// nếu % nhỏ hơn thì ko chốt
		echo 'Chưa đạt điều kiện phần trăm chốt lời 0.3 với lệnh BUY, coin: '.$symbol.' giá vào lênh: '.$avgPrice.' - phần trăm '.$tinh_phan_tram_chot.', dừng lệnh <br>';	
	}

	

}


}
} else {
echo "0 results";
}