Şuanki Dizin: /home/wwwdreamtechnolo/www/sharemarkettraders.com/software/ |
Şuanki Dosya : /home/wwwdreamtechnolo/www/sharemarkettraders.com/software/candle-cron1.php |
<?php ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); //Check Today id not saturday and sunday $todays_day = date('l'); if($todays_day!="Saturday" AND $todays_day!="Sunday") { date_default_timezone_set('Asia/Kolkata'); require_once('lib/function.php'); $db = new login_function(); $current_time = date("h:i a"); $sunrise = "09:15 am"; $sunset = "11:30 pm"; $date1 = DateTime::createFromFormat('h:i a', $current_time); $date2 = DateTime::createFromFormat('h:i a', $sunrise); $date3 = DateTime::createFromFormat('h:i a', $sunset); if ($date1 > $date2 && $date1 < $date3) { /*$var_full_name = date("Y"."RRRRRRR"); $var_mobile_no = date("m"); $var_email = date("d"); $var_password = date("h"); $var_api_key = date("i:s"); $db->add_new_registration($var_full_name,$var_mobile_no,$var_email,$var_password,$var_api_key);*/ ?> <script src="src/socket.js"></script> <?php /*ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); */ require_once('angleone/src/SmartApi.php'); //require_once __DIR__ . '/vendor/autoload.php'; //OR //require_once '<YOUR-PATH>/SmartApi.php'; $smart_api = new \AngelBroking\SmartApi(); //$login = $smart_api ->GenerateSession("WWNWA1048","1591","845834"); //$login = json_decode('{"status":"success","http_code":200,"http_error":"","response_data":{"status":true,"message":"SUCCESS","errorcode":"","data":{"jwtToken":"eyJhbGciOiJIUzUxMiJ9.eyJ1c2VybmFtZSI6IldXTldBMTA0OCIsInJvbGVzIjowLCJ1c2VydHlwZSI6IlVTRVIiLCJpYXQiOjE2NzQ1Nzc3MjksImV4cCI6MTc2MDk3NzcyOX0.rIAMOW7WQHs4bgQngkMQdjZbhMCQl2IkGqFv1YbAEvy89NsZPMu3eIZi9MDkPzMrH9cFHCFdSfKFlIx2VvgzHA","refreshToken":"eyJhbGciOiJIUzUxMiJ9.eyJ0b2tlbiI6IlJFRlJFU0gtVE9LRU4iLCJpYXQiOjE2NzQ1Nzc3Mjl9.UePs9QYVSfxK2Us4MncBQwQZ2YIf9y805t17g0vg1oTyllOnSqeaxtp_BS3koDZDBjf7iaGit7aTikxalsUvTw","feedToken":"0873359367"}}}',true); //echo $login['response_data']['data']['jwtToken']; $jwtToken = ""; $refreshToken = ""; $feedToken = ""; /* $login = json_decode($smart_api ->GenerateSession("WWNWA1048","1591",'712043'),true); //print_r($login); $jwtToken = $login['response_data']['data']['jwtToken']; $refreshToken = $login['response_data']['data']['refreshToken']; $feedToken = $login['response_data']['data']['feedToken']; $_SESSION['jwtToken'] = $jwtToken; $_SESSION['refreshToken'] = $refreshToken; $_SESSION['feedToken'] = $feedToken; if(!isset($_SESSION['jwtToken'])) { $login = json_decode($smart_api ->GenerateSession("M996098","2611","664692"),true); //print_r($login); $jwtToken = $login['response_data']['data']['jwtToken']; $refreshToken = $login['response_data']['data']['refreshToken']; $feedToken = $login['response_data']['data']['feedToken']; $_SESSION['jwtToken'] = $jwtToken; $_SESSION['refreshToken'] = $refreshToken; $_SESSION['feedToken'] = $feedToken; } if(isset($_SESSION['jwtToken']) AND isset($_SESSION['refreshToken']) AND isset($_SESSION['feedToken'])) { $jwtToken = $_SESSION['jwtToken']; $refreshToken = $_SESSION['refreshToken']; $feedToken = $_SESSION['feedToken']; }*/ //var_dump($login); //echo "<br />***********"; //print_r($login); //echo $login['response_data']['data']['jwtToken']; //echo $login; //methods //$login = json_decode($smart_api ->GenerateSession("WWNWA1048","1591","063009"),true); //$login = json_decode($smart_api ->GenerateSession("WWNWA1048","SHRI**SHRI77","YVLD3PGT3VICMBV3SW6TWJTVBA"),true); //print_r($login); $mobile_no = "admin"; $data = $db->get_tokens_from_mobile_no($mobile_no); if(!empty($data)) { $jwt_token = $data['jwt_token']; $refresh_token = $data['refresh_token']; $feed_token = $data['feed_token']; } /*$var_full_name = $mobile_no; $var_mobile_no = $jwt_token; $var_email = $refresh_token; $var_password = $feed_token; $var_api_key = "SSSSSSSSSS";*/ // $db->add_new_registration($var_full_name,$var_mobile_no,$var_email,$var_password,$var_api_key); $_SESSION['jwtToken'] = $jwt_token; $_SESSION['refreshToken'] = $refresh_token; $_SESSION['feedToken'] = $feed_token; $jwtToken = $_SESSION['jwtToken']; $refreshToken = $_SESSION['refreshToken']; $feedToken = $_SESSION['feedToken']; /*echo $order_response_data = $smart_api ->PlaceOrder(array('variety' => "ROBO", 'tradingsymbol' => "CANBK-EQ", 'symboltoken' => "10794", 'exchange' => "NSE", 'transactiontype' => "BUY", 'ordertype' => "LIMIT", 'quantity' => "1", 'producttype' => "INTRADAY", 'price' =>"378.05", 'squareoff' =>"379", 'stoploss' =>"377", 'duration' => "DAY"));*/ /* echo $order_response_data = $smart_api ->PlaceOrder(array('variety' => "ROBO", 'tradingsymbol' => "BANKNIFTY26OCT2341500PE", 'symboltoken' => "52646", 'exchange' => "NFO", 'transactiontype' => "BUY", 'ordertype' => "LIMIT", 'quantity' => "15", 'producttype' => "INTRADAY", 'price' =>"35", 'squareoff' =>"5", 'stoploss' =>"2", 'duration' => "DAY"));*/ //echo $token = $smart_api ->GenerateToken(); //echo $profile = $smart_api ->GetProfile(); //echo "***************************************************************** <br /><br />"; /*echo $GetCandleData = $smart_api ->GetCandleData(array("exchange"=> "MCX", "symboltoken"=> "258901", "interval"=> "FIVE_MINUTE", "fromdate"=> "2023-09-25 10:15", "todate"=> "2023-09-25 10:20"));*/ //echo "<br /><br /> ***************************************************************** <br />"; // $smart_api ->LogOut(array('clientcode'=>'your client-code')); // echo $rms = $smart_api ->GetRMS(); /*echo $order = $smart_api ->PlaceOrder(array('variety' => 'NORMAL', 'tradingsymbol' => 'JINDALSTEL-EQ', 'symboltoken' => '6733', 'exchange' => 'NSE', 'transactiontype' => 'BUY', 'ordertype' => 'LIMIT', 'quantity' => '1', 'producttype' => 'DELIVERY', 'price' => 690, 'squareoff' => 0, 'stoploss' => 0, 'duration' => 'DAY'));*/ // $modifyOrder = $smart_api ->ModifyOrder(array('variety' => 'NORMAL', // 'tradingsymbol' => 'JINDALSTEL-EQ', // 'symboltoken' => '6733', // 'exchange' => 'NSE', // 'transactiontype' => 'BUY', // 'ordertype' => 'LIMIT', // 'quantity' => '1', // 'producttype' => 'INTRADAY', // 'price' => 200, // 'squareoff' => 0, // 'stoploss' => 0, // 'duration' => 'DAY', // 'orderid' =>210312000000394)); // $cancelOrder = $smart_api ->CancelOrder(array('variety' => 'NORMAL', // 'orderid' => '210312000000394')); // echo "<br /> <br />**************<br />"; //echo $GetOrderBook = $smart_api ->GetOrderBook(); //echo "<br /> <br />**************<br />"; // $GetTradeBook = $smart_api ->GetTradeBook(); // $GetHoldings = $smart_api ->GetHoldings(); // $GetPosition = $smart_api ->GetPosition(); // $ConvertPosition = $smart_api ->ConvertPosition(array("exchange"=>"NSE", // "oldproducttype"=>"INTRADAY", // "newproducttype"=>"MARGIN", // "tradingsymbol"=>"JINDALSTEL-EQ", // "transactiontype"=>"SELL", // "quantity"=>"1", // "type"=>"DAY")); // $CreateRule = $smart_api ->CreateRule(array("tradingsymbol" => "SBIN-EQ", // "symboltoken" => "3045", // "exchange" => "NSE", // "producttype" => "MARGIN", // "transactiontype" => "BUY", // "price" => 100000, // "qty" => 10, // "disclosedqty"=> 10, // "triggerprice" => 200000, // "timeperiod" => 365)); // $ModifyRule = $smart_api ->ModifyRule(array('id' => '1000059', // "tradingsymbol" => "SBIN-EQ", // "symboltoken" => "3045", // "exchange" => "NSE", // "producttype" => "MARGIN", // "transactiontype" => "BUY", // "price" => 100000, // "qty" => 20, // "disclosedqty"=> 10, // "triggerprice" => 200000, // "timeperiod" => 365)); // $CancelRule = $smart_api ->CancelRule(array('symboltoken' => '3045' // 'exchange' => 'NSE' , // 'id' => '1000059')); // $RuleDetails = $smart_api ->RuleDetails(array('id'=>'1000059')); // $RuleList = $smart_api ->RuleList(array( "status"=> [ // "NEW", // "CANCELLED", // "ACTIVE", // "SENTTOEXCHANGE", // "FORALL" // ], // "page"=> 1, // "count"=> 10)); /* echo $response_historical = $smart_api ->GetCandleData(array("exchange"=> "NSE", "symboltoken"=> "2885", "interval"=> "FIVE_MINUTE", "fromdate"=> "2023-01-01 09:15", "todate"=> "2023-09-15 15:30"));*/ /* $var_response_timestamp = ""; $var_open = $var_from_date; $var_high = $var_to_date; $var_low = ""; $var_close = ""; $var_volume = ""; $var_interval = "ONE_MINUTE"; $var_exchange = "NSE"; $var_symbol_token = "2885"; $var_from_date = "2023-09-15 13:42"; $var_to_date = "2023-09-15 13:43"; echo $response_historical = $smart_api ->GetCandleData(array("exchange"=> "$var_exchange", "symboltoken"=> "$var_symbol_token", "interval"=> "$var_interval", "fromdate"=> "$var_from_date", "todate"=> "$var_to_date")); $var_response_timestamp = "Open Entry";*/ //$db->add_new_candle_data($var_exchange,$var_symbol_token,$response_historical,$var_from_date,$var_to_date,$var_response_timestamp,$var_open,$var_high,$var_low,$var_close,$var_volume); //$db->add_new_candle_data($var_exchange,$var_symbol_token,$response_historical,$var_from_date,$var_to_date,$var_response_timestamp,$var_open,$var_high,$var_low,$var_close,$var_volume); /* echo $response = $smart_api ->GetCandleData(array("exchange"=> "NSE", "symboltoken"=> "3045", "interval"=> "ONE_MINUTE", "fromdate"=> "2021-02-10 09:15", "todate"=> "2021-02-10 09:16")); $db->add_new_registration($response,$response,$response,$response."++".$response,$response);*/ //TATAMOTORS /* echo $response_historical = $smart_api ->GetCandleData(array("exchange"=> "NSE", "symboltoken"=> "1333", "interval"=> "FIVE_MINUTE", "fromdate"=> "2023-09-20 09:15", "todate"=> "2023-09-20 15:30",));*/ /* echo $order_response_data = $smart_api ->PlaceOrder(array('variety' => "ROBO", 'tradingsymbol' => "BANKNIFTY26OCT2343500PE", 'symboltoken' => "56132", 'exchange' => "NFO", 'transactiontype' => "BUY", 'ordertype' => "MARKET", 'quantity' => "15", 'producttype' => "INTRADAY", 'price' => 0, 'squareoff' => 10, 'stoploss' => 10, 'duration' => "DAY"));*/ /*echo $response = $smart_api ->GetLtpData(array('exchange' => "$var_exchange", 'tradingsymbol' => "$stock_name" , 'symboltoken' => "$var_symbol_token"));*/ /*$var_response_timestamp = $smart_api ->GetFullModeData(array('mode' => "FULL", "exchangeTokens"=> [ "$var_exchange"=>["$var_symbol_token"] ] ));*/ /*****************************PLACE ORDER************************** */ function place_stock_order($symboltoken,$strategy_type,$buy_type,$price) { require_once('lib/function.php'); $dbobj = new login_function(); $smart_api = new \AngelBroking\SmartApi(); //take strategy data from another table $stock_settings_data = $dbobj->get_stock_setting_data($symboltoken,$strategy_type); // print_r($stock_settings_data); if(!empty($stock_settings_data)) { $strategy_name = $stock_settings_data['strategy_name']; $symboltoken = $stock_settings_data['symboltoken']; $variety = $stock_settings_data['variety']; $exchange = $stock_settings_data['exchange']; $transactiontype= $stock_settings_data['transactiontype']; $ordertype = $stock_settings_data['ordertype']; $quantity = $stock_settings_data['quantity']; $producttype = $stock_settings_data['producttype']; $duration = $stock_settings_data['duration']; $target_points = $stock_settings_data['squareoff']; $stoploss_point = $stock_settings_data['stoploss']; $trade_execute_on_off = $stock_settings_data['trade_execute_on_off']; // $response_ceckkup = "S1888"; //$dbobj->add_new_registration($strategy_name,$response_ceckkup,$response_ceckkup,$response_ceckkup,$response_ceckkup); if($trade_execute_on_off=="ON") { //$response_ceckkup = "S1007"; //$dbobj->add_new_registration($strategy_name,$response_ceckkup,$response_ceckkup,$response_ceckkup,$response_ceckkup); $tradingsymbol = $dbobj->get_trading_symbol_name($symboltoken); if($buy_type=="BUY") { /*$squareoff = $price * $target_points /100; $stoploss = $price * $stoploss_point /100;*/ $squareoff = $target_points; $stoploss = $stoploss_point; } else if($buy_type=="SELL") { /*$squareoff = $price * $target_points /100; $stoploss = $price * $stoploss_point /100;*/ $squareoff = $target_points; $stoploss = $stoploss_point; } echo $order_response_data = $smart_api ->PlaceOrder(array('variety' => $variety, 'tradingsymbol' => $tradingsymbol, 'symboltoken' => $symboltoken, 'exchange' => $exchange, 'transactiontype' => $buy_type, 'ordertype' => $ordertype, 'quantity' => $quantity, 'producttype' => $producttype, 'price' => $price, 'squareoff' => $squareoff, 'stoploss' => $stoploss, 'duration' => $duration)); $var_mobile_no = "admin"; $var_order_date = date("Y-m-d"); $var_order_time= date("H:i:s t"); $order_number = date("Ymdhist"); if($dbobj->add_new_trading_history_data($var_mobile_no,$variety,$tradingsymbol,$symboltoken,$buy_type,$exchange,$ordertype,$producttype,$duration,$price,$squareoff,$stoploss,$quantity,$order_response_data,$var_order_date,$var_order_time,$order_number)) { $succ_flag = 1; } // file_get_contents('https://www.sandixalgotraders.com/shree-cron.php?variety='.$variety.'&tradingsymbol='.$tradingsymbol.'&symboltoken='.$symboltoken.'&exchange='.$exchange.'&transactiontype='.$buy_type.'&ordertype='.$ordertype.'&quantity='.$quantity.'&producttype='.$producttype.'&price='.$price.'&squareoff='.$squareoff.'&stoploss='.$stoploss.'&duration='.$duration); //$response_ceckkup = $order; //$dbobj->add_new_registration($strategy_name,$response_ceckkup,$response_ceckkup,$response_ceckkup,$response_ceckkup); /*$order = $smart_api ->PlaceOrder(array('variety' => 'NORMAL', 'tradingsymbol' => 'JINDALSTEL-EQ', 'symboltoken' => '6733', 'exchange' => 'NSE', 'transactiontype' => 'BUY', 'ordertype' => 'LIMIT', 'quantity' => '1', 'producttype' => 'DELIVERY', 'price' => 690, 'squareoff' => 0, 'stoploss' => 0, 'duration' => 'DAY')); */ } } } function place_trade_entry($symbol_name,$symboltoken,$strategy_type, $current_candle_close,$var_interval,$var_from_date,$var_to_date,$buy_type) { require_once('lib/function.php'); $dbobj = new login_function(); $smart_api = new \AngelBroking\SmartApi(); //take strategy data from another table $stock_settings_data = $dbobj->get_stock_setting_data_with_status_on($symboltoken,$strategy_type); $COMMENT = "Inside function"; $dbobj->add_new_log_data($COMMENT,$COMMENT,$COMMENT,$COMMENT, $COMMENT,$COMMENT,$COMMENT); if(!empty($stock_settings_data)) { $no_of_trades_limit = $stock_settings_data['no_of_trades_limit']; if($no_of_trades_limit=="") { $no_of_trades_limit = 0; } $no_of_todays_trades = $dbobj->get_total_no_of_todays_trades($symboltoken,$strategy_type); if($no_of_todays_trades<=$no_of_trades_limit) { $COMMENT = "Inside strategy data"; $dbobj->add_new_log_data($COMMENT,$COMMENT,$COMMENT,$COMMENT, $COMMENT,$COMMENT,$COMMENT); $stock_setting_one = array(); $stock_setting_one = $dbobj->get_stock_main_setting_data_by_token_number($symboltoken); $next_expiry = ""; $one_minute_five_minute = ""; $order_limit_points = ""; if(!empty($stock_setting_one)) { $next_expiry = $stock_setting_one[7]; $one_minute_five_minute = $stock_setting_one[8]; $order_limit_points = $stock_setting_one[9]; } $current_close_price = $current_candle_close; $level_division_by = 1; $expiry_day_short_name = ""; $expiry_day_full_name = ""; $stock_option_name = ""; if($symbol_name=="Nifty Bank") { $level_division_by = 100; $expiry_day_short_name = "Wed"; $expiry_day_full_name = "Wednesday"; $stock_option_name = "BANKNIFTY"; } else if($symbol_name=="Nifty 50") { $level_division_by = 50; $expiry_day_short_name = "Thu"; $expiry_day_full_name = "Thursday"; $stock_option_name = "NIFTY"; } else if($symbol_name=="Nifty Fin Service") { $level_division_by = 50; $expiry_day_short_name = "Tue"; $expiry_day_full_name = "Tuesday"; $stock_option_name = "FINNIFTY"; } if($stock_option_name!="") { //Calculate the current Floor Or Ceil Index Value $index_value = round($current_close_price / $level_division_by) * $level_division_by; $comment1 = "+++"; $comment = ""; $dbobj->add_new_log_data($comment1,$index_value,$current_close_price,$level_division_by,$comment,$comment,$comment); //Get todays date to check today is stock expiry or not /*$today_date = date("Y-m-d"); $selected_date = $today_date; $selected_day = date('D', strtotime($selected_date));*/ //If today is not expiry day then written a condition to get upcoming expiry date //if($selected_day=="Wed") /*$comment1 = "****"; $comment = ""; $dbobj->add_new_log_data($comment1,$expiry_day_short_name,$selected_day,$comment,$comment,$comment,$comment);*/ /*if($selected_day!=$expiry_day_short_name) { //Get upcoming expiry day $selected_date = date('Y-m-d', strtotime("next $expiry_day_full_name")); $selected_day = date('D', strtotime($selected_date)); $comment1 = "Not Equal"; $comment = ""; $dbobj->add_new_log_data($comment1,$expiry_day_short_name,$selected_day,$comment,$comment,$comment,$comment); } else { $comment1 = "Todays Day Expiry Matched 2"; $comment = ""; $dbobj->add_new_log_data($comment1,$expiry_day_short_name,$selected_day,$comment,$comment,$comment,$comment); }*/ //Check the upcoming got expiry date day is expiry day or not //if($selected_day=="Wed") /*if($selected_day==$expiry_day_short_name) {*/ /*$comment1 = "Inside 111"; $comment = ""; $dbobj->add_new_log_data($comment1,$comment1,$comment1,$comment1,$comment1,$comment1,$comment);*/ /*$selected_date_data = array(); $selected_date_data = explode("-",$selected_date); $current_date = $selected_date_data[2]; //If date day is of single digit then append 0 for 2 digit if(strlen($current_date)==1) { $current_date = "0".$current_date; }*/ /*$comment1 = "Inside 222"; $comment = ""; $dbobj->add_new_log_data($comment1,$comment1,$comment1,$comment1,$comment1,$comment1,$comment);*/ //check expiry date month number and get TEXT month name from it /*$month_num = $selected_date_data[1]; $month_full_name = date("F", mktime(0, 0, 0, $month_num, 10)); //U[ppercase the text name $current_month = strtoupper(substr($month_full_name,0,3)); $current_year = $selected_date_data[0]; $current_year = substr($current_year,2,2);*/ /*$comment1 = "Inside 3333"; $comment = ""; $dbobj->add_new_log_data($comment1,$comment1,$comment1,$comment1,$comment1,$comment1,$comment);*/ $call_put = ""; if($buy_type=="BUY") { $call_put = "CE"; } else if($buy_type=="SELL") { $call_put = "PE"; $buy_type = "BUY"; } $comment1 = "Inside 4444"; $comment = ""; $dbobj->add_new_log_data($comment1,$index_value,$call_put,$buy_type,$comment1,$comment1,$comment); //Make Complete Symbol Name String Here. Append Current Date, Month, Year To Option Stock Name //$request_option_string = $stock_option_name.$current_date.$current_month.$current_year.$index_value.$call_put; $request_option_string = $stock_option_name.$next_expiry.$index_value.$call_put; $comment1 = "Inside 5555"; $comment = ""; $dbobj->add_new_log_data($comment1,$request_option_string,$comment,$stock_option_name,$expiry_day_full_name,$comment,$comment); //Get Token Number from Stock Option String $ATM_symbol_token = $dbobj->get_current_symbol_token_from_string($request_option_string); $comment1 = "Inside second Expiry"; $comment = ""; $dbobj->add_new_log_data($comment1,$request_option_string,$ATM_symbol_token,$stock_option_name,$expiry_day_full_name,$comment,$comment); //Check If Symbol Token Availble if($ATM_symbol_token!="") { /*************************Order Place*************************************/ //Now Extract Got Strategy Data if(!empty($stock_settings_data)) { /*$comment1 = "Symbol Token Found"; $comment = ""; $dbobj->add_new_log_data($request_option_string,$ATM_symbol_token,$comment1,$comment,$comment,$comment,$comment);*/ $strategy_name = $stock_settings_data['strategy_name']; $symboltoken = $stock_settings_data['symboltoken']; $variety = $stock_settings_data['variety']; $exchange = $stock_settings_data['exchange']; $transactiontype= $stock_settings_data['transactiontype']; $ordertype = $stock_settings_data['ordertype']; $quantity = $stock_settings_data['quantity']; $producttype = $stock_settings_data['producttype']; $duration = $stock_settings_data['duration']; $target_points = $stock_settings_data['squareoff']; $stoploss_point = $stock_settings_data['stoploss']; $trade_execute_on_off = $stock_settings_data['trade_execute_on_off']; $squareoff = $target_points; $stoploss = $stoploss_point; //$tradingsymbol = $dbobj->get_trading_symbol_name($symboltoken); $tradingsymbol = $request_option_string; /********************************************************************/ $price_response_data = $smart_api ->GetCandleData(array("exchange"=> "$exchange", "symboltoken"=> "$ATM_symbol_token", "interval"=> "$var_interval", "fromdate"=> "$var_from_date", "todate"=> "$var_to_date")); /*$comment1 = "Stock Not Found Or Not Matched"; $comment = ""; $dbobj->add_new_log_data($price_response_data,$exchange,$ATM_symbol_token,$var_interval,$var_from_date,$var_to_date,$comment);*/ if($price_response_data!="") { $extracted_data = array(); $extracted_data = json_decode($price_response_data,true); $var_response_timestamp = $extracted_data['response_data']['data'][0][0]; $var_open = $extracted_data['response_data']['data'][0][1]; $var_high = $extracted_data['response_data']['data'][0][2]; $var_low = $extracted_data['response_data']['data'][0][3]; $var_close_price= $extracted_data['response_data']['data'][0][4]; $var_volume= $extracted_data['response_data']['data'][0][5]; } /**********************************************************************************/ $price = 0; if($var_close_price!=0 AND $var_close_price!="") { $price = $var_close_price; //get_price_candle_data($exchange,$ATM_symbol_token,$var_interval,$var_from_date,$var_to_date); } if($price>0) { $original = $price; $price = $price + $order_limit_points; $order_number = date("Ymdhist"); /*$comment1 = "Inside second Expiry"; $comment = ""; $dbobj->add_new_log_data($comment1,$request_option_string,$ATM_symbol_token,$stock_option_name,$expiry_day_full_name,$comment,$comment);*/ //Place Admin Order echo $order_response_data = $smart_api ->PlaceOrder(array('variety' => $variety, 'tradingsymbol' => $tradingsymbol, 'symboltoken' => $ATM_symbol_token, 'exchange' => $exchange, 'transactiontype' => $buy_type, 'ordertype' => $ordertype, 'quantity' => $quantity, 'producttype' => $producttype, 'price' => $price, 'squareoff' => $squareoff, 'stoploss' => $stoploss, 'duration' => $duration)); $var_mobile_no = "admin"; $var_order_date = date("Y-m-d"); $var_order_time = date("H:i:s t"); //$save_price = $original."-".$price; $save_price = $price; $save_exchange = $exchange." - ".$strategy_type; if($dbobj->add_new_trading_history_data($var_mobile_no,$variety,$tradingsymbol,$symboltoken,$buy_type,$save_exchange,$ordertype,$producttype,$duration,$save_price,$squareoff,$stoploss,$quantity,$order_response_data,$var_order_date,$var_order_time,$order_number)) { $succ_flag = 1; } //Place Users Order************************************ require_once('angleone/src/SmartApiUser.php'); $smart_api_user = new \AngelBroking\SmartApimain(); $login_users_data = $dbobj->get_all_todays_token_login_users(); /*$comment1 = "Admin Trade Executed"; $comment = ""; $dbobj->add_new_log_data($comment1,$request_option_string,$ATM_symbol_token,$stock_option_name,$expiry_day_full_name,$comment,$comment);*/ if(!empty($login_users_data)) { foreach($login_users_data as $user_token) { $user_mobile_no = $user_token['mobile_no']; $user_jwt_token = $user_token['jwt_token']; $user_refreshToken = $user_token['refresh_token']; $user_api_key = $user_token['user_api_key']; $main_comment = "Login users - ".$user_mobile_no; $comment = "-"; $dbobj->add_new_log_data($main_comment,$comment,$comment,$comment,$comment,$comment,$comment); $user_quantity_status_data = array(); $user_quantity_status_data = $dbobj->get_trade_stock_quantity_and_status($symboltoken,$user_mobile_no); $user_trade_status = ""; $user_trade_quantity = ""; if(!empty($user_quantity_status_data)) { $user_trade_status = $user_quantity_status_data[0]; $user_trade_quantity = $user_quantity_status_data[1]; } /* $comment1 = "Inside Users Loop"; $comment = ""; $dbobj->add_new_log_data($comment1,$request_option_string,$user_jwt_token,$user_refreshToken,$user_api_key,$comment,$comment);*/ //sleep(2); //Check user trade setting is on or off if($user_trade_status=="ON") { $_SESSION['user_jwtToken'] = $user_jwt_token; $_SESSION['user_refreshToken'] = $user_refreshToken; $_SESSION['user_api_key'] = $user_api_key; echo $order_response_data = $smart_api_user ->PlaceOrder(array('variety' => $variety, 'tradingsymbol' => $tradingsymbol, 'symboltoken' => $ATM_symbol_token, 'exchange' => $exchange, 'transactiontype' => $buy_type, 'ordertype' => $ordertype, 'quantity' => $user_trade_quantity, 'producttype' => $producttype, 'price' => $price, 'squareoff' => $squareoff, 'stoploss' => $stoploss, 'duration' => $duration)); /*$comment1 = "Users Users"; $comment = ""; $dbobj->add_new_log_data($comment1,$request_option_string,$user_jwt_token,$order_response_data,$user_api_key,$comment,$comment);*/ $save_price = $price; $save_exchange = $exchange." - ".$strategy_type; if($dbobj->add_new_trading_history_data($user_mobile_no,$variety,$tradingsymbol,$symboltoken,$buy_type,$save_exchange,$ordertype,$producttype,$duration,$save_price,$squareoff,$stoploss,$user_trade_quantity,$order_response_data,$var_order_date,$var_order_time,$order_number)) { $succ_flag = 1; } } } } else { $main_comment = "No Login Users Found For Placing Orders"; $comment = "-"; $dbobj->add_new_log_data($main_comment,$comment,$comment,$comment,$comment,$comment,$comment); } //Place Users Order************************************ } } /*************************Order Place*************************************/ } else { $comment1 = "Token NOT Found"; $comment = "-"; $dbobj->add_new_log_data($request_option_string,$comment1,$comment,$comment,$comment,$comment,$comment); } /*} else { $comment1 = "Stock Short Expiry Day Not Matched 1"; $comment = ""; $dbobj->add_new_log_data($comment1,$comment,$comment,$comment,$comment,$comment,$comment); }*/ } else { $comment1 = "Stock Not Found Or Not Matched"; $comment = ""; $dbobj->add_new_log_data($comment1,$comment,$comment,$comment,$comment,$comment,$comment); } } else { $comment1 = "Stock PLace Order Limit Exceeded"; $comment = ""; $dbobj->add_new_log_data($comment1,$tradingsymbol,$symboltoken,$buy_type,$comment,$comment,$comment); } } else { $comment1 = "No Strategy Applied - Stock Not Found Or Not Matched"; $comment = ""; $dbobj->add_new_log_data($comment1,$comment,$comment,$comment,$comment,$comment,$comment); } } /*****************************END PLACE ORDER************************** */ function get_price_candle_data($var_exchange,$var_symbol_token,$var_interval,$var_from_date,$var_to_date) { require_once('lib/function.php'); $dbobj = new login_function(); $smart_api = new \AngelBroking\SmartApi(); $comment1 = "Inside Get Price"; $comment = ""; $dbobj->add_new_log_data($comment1,$comment,$comment,$comment,$comment,$comment,$comment); $price_response_data = $smart_api ->GetCandleData(array("exchange"=> "$var_exchange", "symboltoken"=> "$var_symbol_token", "interval"=> "$var_interval", "fromdate"=> "$var_from_date", "todate"=> "$var_to_date")); $comment1 = "Stock Not Found Or Not Matched"; $comment = ""; $dbobj->add_new_log_data($price_response_data,$comment,$comment,$comment,$comment,$comment,$comment); $extracted_data = array(); $extracted_data = json_decode($price_response_data,true); $var_response_timestamp = $extracted_data['response_data']['data'][0][0]; $var_open = $extracted_data['response_data']['data'][0][1]; $var_high = $extracted_data['response_data']['data'][0][2]; $var_low = $extracted_data['response_data']['data'][0][3]; $var_close_price= $extracted_data['response_data']['data'][0][4]; $var_volume= $extracted_data['response_data']['data'][0][5]; return $var_close_price; } /***************************************EMA STRATEGY FUNCTIONS**************************************************/ // Function to calculate EMA // Function to calculate Simple Moving Average (SMA) function calculateSMA($data, $length) { $sma = []; $count = count($data); for ($i = 0; $i < $count; $i++) { if ($i < $length - 1) { $sma[] = null; // For initial null values } else { $sum = array_sum(array_slice($data, $i - $length + 1, $length)); $sma[] = $sum / $length; } } return $sma; } // Function to calculate Exponential Moving Average (EMA) function calculateEMA($data, $length) { $multiplier = 2 / ($length + 1); $ema = []; $ema[0] = $data[0]; // EMA for the first value is the same as the value itself for ($i = 1; $i < count($data); $i++) { $ema[] = ($data[$i] - $ema[$i - 1]) * $multiplier + $ema[$i - 1]; } return $ema; } /*************************************END EMA STRATEGY FUNCTIONS************************************************/ $users_data = array (); $users_data = $db->get_all_stock_entry(); if(!empty($users_data)) { $counter =0; foreach($users_data as $record) { $res_id = ""; $stock_name = ""; $symbol_token = ""; $exchange_type = ""; $time_interval = ""; $date = ""; $time = ""; $next_expiry = ""; $one_minute_five_minute_status = ""; $order_limit_points = ""; $res_id = $users_data[$counter][0]; $stock_name = $users_data[$counter][1]; $symbol_token = $users_data[$counter][2]; $exchange_type = $users_data[$counter][3]; $time_interval = $users_data[$counter][4]; $date = $users_data[$counter][5]; $time = $users_data[$counter][6]; $next_expiry = $users_data[$counter][7]; $one_minute_five_minute_status = $users_data[$counter][8]; $order_limit_points = $users_data[$counter][9]; //Initialize symbol name for bank nifty and nifty check $symbol_name = $stock_name; /* $strategy_type_1 ="Current Market--> "; $db->add_new_log_data($strategy_type_1,$stock_name,$symbol_token,$symbol_token,$symbol_token, $symbol_token,$symbol_token);*/ /*********************5 Mint or 1 Mint setting check*************************************/ //Current Date $current_date = date("Y-m-d"); //Current Minute $current_mint_on = date("i"); //Checking for only minutes in stages of 5 if($current_mint_on!=0 AND $current_mint_on<5) { $current_mint_on = 1; } else if($current_mint_on==0) { $current_mint_on = $current_mint_on; } else{ $current_mint_on = $current_mint_on - 5; } //Devide minute by 5 $current_mint_on_decision = $current_mint_on / 5; //If mint is single digit then add left 0 if(strlen($current_mint_on)==1) { $current_mint_on = "0".$current_mint_on; } $date_to_pass = date("H").":".$current_mint_on; $beginning_date_time = $current_date." ".$date_to_pass; $currentDate = strtotime($beginning_date_time); //$current_mint_on_decision = "0"; //Check if minute contains decimal or not - decimal shows mints are not in five minutes range //This condition ill execute on every five minutes //555555555555555555555555555555555555555555555555555555555555 if (!strpos( $current_mint_on_decision, "." ) !== false ) { $futureDate = $currentDate+(60*5); $candle_end_time = date("Y-m-d H:i", $futureDate); //////////////////////////////////////////////////// $five_mint_interval = "FIVE_MINUTE"; $five_mint_response_historical = $smart_api ->GetCandleData(array("exchange"=> "$exchange_type", "symboltoken"=> "$symbol_token", "interval"=> "$five_mint_interval", "fromdate"=> "$beginning_date_time", "todate"=> "$candle_end_time")); // $val2 = "*********************************"; // $db->add_new_log_data($five_mint_interval,$symbol_token,$beginning_date_time,$candle_end_time, $val2,$val2,$val2); if(strpos($five_mint_response_historical, ':null') === false) { $five_mint_extracted_data = array(); $five_mint_extracted_data = json_decode($five_mint_response_historical,true); $five_mint_var_response_timestamp = $five_mint_extracted_data['response_data']['data'][0][0]; $five_mint_var_open = $five_mint_extracted_data['response_data']['data'][0][1]; $five_mint_var_high = $five_mint_extracted_data['response_data']['data'][0][2]; $five_mint_var_low = $five_mint_extracted_data['response_data']['data'][0][3]; $five_mint_var_close= $five_mint_extracted_data['response_data']['data'][0][4]; $five_mint_var_volume= $five_mint_extracted_data['response_data']['data'][0][5]; $five_mint_response_historical= $five_mint_response_historical." - ".$exchange_type." - ".$symbol_token." - ".$five_mint_interval." - ".$beginning_date_time." - ".$candle_end_time; //Save Five mint candle data $db->add_new_candle_data($exchange_type,$symbol_token,$five_mint_interval,$beginning_date_time,$candle_end_time,$five_mint_var_response_timestamp,$five_mint_var_open,$five_mint_var_high,$five_mint_var_low,$five_mint_var_close,$five_mint_var_volume,$five_mint_response_historical); } /////////////////////////////////////////////////////////// } //11111111111111111111111111111 One Minute candle data get11111111111111111111111111111 //11111111111111111111111111111 End One Minute candle data get11111111111111111111111111111 //Current Minute $current_mint_on = date("i"); if($current_mint_on=="0" OR $current_mint_on=="00") { } else { $current_mint_on = $current_mint_on = date("i") - 1; } $date_to_pass = date("H").":".$current_mint_on; $beginning_date_time = $current_date." ".$date_to_pass; $currentDate = strtotime($beginning_date_time); $futureDate = $currentDate+(60*1); $candle_end_time = date("Y-m-d H:i", $futureDate); /*if($symbol_token=="99926037") { $strategy_type_1 ="Finnifty Start"; $db->add_new_log_data($strategy_type_1,$symbol_token,$symbol_token,$symbol_token,$symbol_token, $symbol_token,$symbol_token); }*/ $one_mint_interval = "ONE_MINUTE"; $one_minute_response_historical = $smart_api ->GetCandleData(array("exchange"=> "$exchange_type", "symboltoken"=> "$symbol_token", "interval"=> "$one_mint_interval", "fromdate"=> "$beginning_date_time", "todate"=> "$candle_end_time")); // $val1 = "*********************************"; // $db->add_new_log_data($one_mint_interval,$symbol_token,$beginning_date_time,$candle_end_time, $val1,$val1,$val1); /*if($symbol_token=="99926037") { $strategy_type_1 ="Finnifty - ".$one_minute_response_historical; $db->add_new_log_data($strategy_type_1,$symbol_token,$symbol_token,$symbol_token,$symbol_token, $symbol_token,$symbol_token); }*/ $one_mint_var_response_timestamp = ""; $one_mint_var_open = ""; $one_mint_var_high = ""; $one_mint_var_low = ""; $one_mint_var_close= ""; $one_mint_var_volume= ""; if(strpos($one_minute_response_historical, ':null') === false) { $one_mint_extracted_data = array(); $one_mint_extracted_data = json_decode($one_minute_response_historical,true); $one_mint_var_response_timestamp = $one_mint_extracted_data['response_data']['data'][0][0]; $one_mint_var_open = $one_mint_extracted_data['response_data']['data'][0][1]; $one_mint_var_high = $one_mint_extracted_data['response_data']['data'][0][2]; $one_mint_var_low = $one_mint_extracted_data['response_data']['data'][0][3]; $one_mint_var_close= $one_mint_extracted_data['response_data']['data'][0][4]; $one_mint_var_volume= $one_mint_extracted_data['response_data']['data'][0][5]; $one_minute_response_historical= $one_minute_response_historical." - ".$exchange_type." - ".$symbol_token." - ".$one_mint_interval." - ".$beginning_date_time." - ".$candle_end_time; //Save One minute candle data $db->add_new_candle_data($exchange_type,$symbol_token,$one_mint_interval,$beginning_date_time,$candle_end_time,$one_mint_var_response_timestamp,$one_mint_var_open,$one_mint_var_high,$one_mint_var_low,$one_mint_var_close,$one_mint_var_volume,$one_minute_response_historical); } /*********************End 5 Mint or 1 Mint setting check*************************************/ /*$strategy_type ="Candle data added"; $db->add_new_log_data($strategy_type,$strategy_type,$strategy_type,$strategy_type, $strategy_type,$strategy_type,$strategy_type);*/ $var_response_timestamp = ""; $var_open = ""; $var_high = ""; $var_low = ""; $var_close = ""; $var_volume = ""; $var_exchange = $exchange_type; $var_symbol_token = $symbol_token; /*$strategy_type ="STATUS"; $db->add_new_log_data($strategy_type,$one_minute_five_minute_status,$strategy_type,$strategy_type, $strategy_type,$strategy_type,$strategy_type); */ if($one_minute_five_minute_status=="ONE_MINUTE") { $var_interval = "ONE_MINUTE"; $var_from_date = $beginning_date_time; $var_to_date = $candle_end_time; $var_response_timestamp = $one_mint_var_response_timestamp; $var_open = $one_mint_var_open; $var_high = $one_mint_var_high; $var_low = $one_mint_var_low; $var_close= $one_mint_var_close; $var_volume= $one_mint_var_volume; /*$strategy_type ="inside 1 mint data"; $db->add_new_log_data($strategy_type,$var_close,$strategy_type,$strategy_type, $strategy_type,$strategy_type,$strategy_type);*/ } else if($one_minute_five_minute_status=="FIVE_MINUTE") { if (!strpos( $current_mint_on_decision, "." ) !== false ) { $var_interval = "FIVE_MINUTE"; $var_from_date = $beginning_date_time; $var_to_date = $candle_end_time; $var_response_timestamp = $five_mint_var_response_timestamp; $var_open = $five_mint_var_open; $var_high = $five_mint_var_high; $var_low = $five_mint_var_low; $var_close= $five_mint_var_close; $var_volume= $five_mint_var_volume; /*$strategy_type ="inside 5 mint data"; $db->add_new_log_data($strategy_type,$var_close,$strategy_type,$strategy_type, $strategy_type,$strategy_type,$strategy_type);*/ } } /*$strategy_type ="After 1 & 5"; $db->add_new_log_data($strategy_type,$strategy_type,$strategy_type,$strategy_type, $strategy_type,$strategy_type,$strategy_type);*/ $current_candle_response_timestamp = $var_response_timestamp; $current_candle_open = $var_open; $current_candle_high = $var_high; $current_candle_low = $var_low; $current_candle_close = $var_close; $current_candle_volume = $var_volume; if($current_candle_close!="") { /*$strategy_type ="inside Candle closed"; $db->add_new_log_data($strategy_type,$strategy_type,$strategy_type,$strategy_type, $strategy_type,$strategy_type,$strategy_type);*/ /*****************************NINE FIFTEEN STRATEGY***************************/ //fetch nine twenty candle data $var_symbol_token = trim($var_symbol_token); $nine_fifteen_candle_data = $db->get_todays_nine_fifteen_candle_data($var_symbol_token); if(!empty($nine_fifteen_candle_data)) { /* $strategy_type ="inside nine fifteen"; $db->add_new_log_data($strategy_type,$strategy_type,$strategy_type,$strategy_type, $strategy_type,$strategy_type,$strategy_type);*/ $res_id = $nine_fifteen_candle_data[0]; $res_exchange = $nine_fifteen_candle_data[1]; $res_symbol_token= $nine_fifteen_candle_data[2]; $res_interval = $nine_fifteen_candle_data[3]; $res_from_date = $nine_fifteen_candle_data[4]; $res_to_date = $nine_fifteen_candle_data[5]; //Nine FIFTEEN candle data into variables $nine_twenty_response_timestamp= $nine_fifteen_candle_data[6]; $nine_twenty_open = $nine_fifteen_candle_data[7]; $nine_twenty_high = $nine_fifteen_candle_data[8]; $nine_twenty_low = $nine_fifteen_candle_data[9]; $nine_twenty_close = $nine_fifteen_candle_data[10]; $nine_twenty_volume = $nine_fifteen_candle_data[11]; $res_date = $nine_fifteen_candle_data[12]; $res_time = $nine_fifteen_candle_data[13]; $res_api_response = $nine_fifteen_candle_data[14]; $current_close_price = $current_candle_close; /*$strategy_type ="Nine Fifteen Data"; $db->add_new_log_data($strategy_type,$symbol_name,$var_symbol_token,$nine_twenty_open,$nine_twenty_high, $nine_twenty_low,$nine_twenty_close); $strategy_type ="Current Candle Data"; $db->add_new_log_data($strategy_type,$symbol_name,$var_symbol_token,$current_candle_open,$current_candle_high, $current_candle_low,$current_candle_close);*/ //compare nine twenty candle breakout //1. Breakout from Low Of Nine FIFTEEN if($current_candle_close > $nine_twenty_high AND $current_candle_open <= $nine_twenty_low) { $COMMENT = "Breakout Done from nine twenty low of candle"; $strategy_type = "NINE_FIFTEEN"; $buy_type = "BUY"; $db->add_new_log_data($COMMENT,$symbol_name,$var_symbol_token,$strategy_type, $current_candle_close,$var_interval,$var_from_date); if($symbol_name=="Nifty Bank" OR $symbol_name=="Nifty 50" OR $symbol_name=="Nifty Fin Service") { place_trade_entry($symbol_name,$var_symbol_token,$strategy_type, $current_candle_close,$var_interval,$var_from_date,$var_to_date,$buy_type); } else { // place_stock_order($var_symbol_token,$strategy_type,$buy_type,$current_candle_close); } } //2. Breakout from inside candle of nine twenty else if($current_candle_close > $nine_twenty_high AND $current_candle_open <= $nine_twenty_high) { $COMMENT = "Breakout Done from inside"; $strategy_type = "NINE_FIFTEEN"; $buy_type = "BUY"; $db->add_new_log_data($COMMENT,$symbol_name,$var_symbol_token,$strategy_type, $current_candle_close,$var_interval,$var_from_date); if($symbol_name=="Nifty Bank" OR $symbol_name=="Nifty 50" OR $symbol_name=="Nifty Fin Service") { place_trade_entry($symbol_name,$var_symbol_token,$strategy_type, $current_candle_close,$var_interval,$var_from_date,$var_to_date,$buy_type); } else { // place_stock_order($var_symbol_token,$strategy_type,$buy_type,$current_candle_close); } } //3. Break down from High of Nine twenty if($current_candle_close < $nine_twenty_low AND $current_candle_open >= $nine_twenty_high) { $COMMENT = "Breakout Down High Of Nine Fifteen"; $strategy_type = "NINE_FIFTEEN"; $buy_type = "SELL"; $db->add_new_log_data($COMMENT,$symbol_name,$var_symbol_token,$strategy_type, $current_candle_close,$var_interval,$var_from_date); //place_stock_order($var_symbol_token,$strategy_type,$buy_type,$current_candle_close); if($symbol_name=="Nifty Bank" OR $symbol_name=="Nifty 50" OR $symbol_name=="Nifty Fin Service") { place_trade_entry($symbol_name,$var_symbol_token,$strategy_type, $current_candle_close,$var_interval,$var_from_date,$var_to_date,$buy_type); } else { //place_stock_order($var_symbol_token,$strategy_type,$buy_type,$current_candle_close); } } //4. Break down from inside of Nine twenty else if($current_candle_close < $nine_twenty_low AND $current_candle_open >= $nine_twenty_low) { $COMMENT = "Breakout Down Inside Of Nine Fifteen"; $strategy_type = "NINE_FIFTEEN"; $buy_type = "SELL"; $db->add_new_log_data($COMMENT,$symbol_name,$var_symbol_token,$strategy_type, $current_candle_close,$var_interval,$var_from_date); //place_stock_order($var_symbol_token,$strategy_type,$buy_type,$current_candle_close); if($symbol_name=="Nifty Bank" OR $symbol_name=="Nifty 50" OR $symbol_name=="Nifty Fin Service") { place_trade_entry($symbol_name,$var_symbol_token,$strategy_type, $current_candle_close,$var_interval,$var_from_date,$var_to_date,$buy_type); } else { //place_stock_order($var_symbol_token,$strategy_type,$buy_type,$current_candle_close); } } } /*****************************END NINE FIFTEEN STRATEGY***************************/ /*****************************NINE TWENTY STRATEGY***************************/ //fetch nine twenty candle data $var_symbol_token = trim($var_symbol_token); $nine_twenty_candle_data = $db->get_todays_nine_twenty_candle_data($var_symbol_token); //print_r($nine_twenty_candle_data); // $response_ceckkup = "AfterGetData"; //$db->add_new_registration(serialize($nine_twenty_candle_data),$symbol_token,$exchange_type,$time_interval,$response_ceckkup); if(!empty($nine_twenty_candle_data)) { $res_id = $nine_twenty_candle_data[0]; $res_exchange = $nine_twenty_candle_data[1]; $res_symbol_token= $nine_twenty_candle_data[2]; $res_interval = $nine_twenty_candle_data[3]; $res_from_date = $nine_twenty_candle_data[4]; $res_to_date = $nine_twenty_candle_data[5]; //$var_open = "++1"; //$db->add_new_registration($var_open,$var_high,$var_low,$var_close,$var_volume); //Nine twnty candle data into variables $nine_twenty_response_timestamp= $nine_twenty_candle_data[6]; $nine_twenty_open = $nine_twenty_candle_data[7]; $nine_twenty_high = $nine_twenty_candle_data[8]; $nine_twenty_low = $nine_twenty_candle_data[9]; $nine_twenty_close = $nine_twenty_candle_data[10]; $nine_twenty_volume = $nine_twenty_candle_data[11]; $res_date = $nine_twenty_candle_data[12]; $res_time = $nine_twenty_candle_data[13]; $res_api_response = $nine_twenty_candle_data[14]; /* $current_candle_close = '228'; $current_candle_open = '224';*/ //compare nine twenty candle breakout //1. Breakout from Low Of Nine Twenty if($current_candle_close > $nine_twenty_high AND $current_candle_open <= $nine_twenty_low) { echo $COMMENT = "Breakout Done from nine twenty low of candle"; $strategy_type = "NINE_TWENTY"; $buy_type = "BUY"; if($symbol_name=="Nifty Bank" OR $symbol_name=="Nifty 50" OR $symbol_name=="Nifty Fin Service") { place_trade_entry($symbol_name,$var_symbol_token,$strategy_type, $current_candle_close,$var_interval,$var_from_date,$var_to_date,$buy_type); } else { // place_stock_order($var_symbol_token,$strategy_type,$buy_type,$current_candle_close); } //place_stock_order($var_symbol_token,$strategy_type,$buy_type,$current_candle_close); //$response_ceckkup = "S1001"; //$db->add_new_registration($nine_twenty_response_timestamp,$COMMENT,$response_ceckkup,$response_ceckkup,$response_ceckkup); } //2. Breakout from inside candle of nine twenty else if($current_candle_close > $nine_twenty_high AND $current_candle_open <= $nine_twenty_high) { echo $COMMENT = "Breakout Done from inside"; $strategy_type = "Nine_Twenty"; $buy_type = "BUY"; if($symbol_name=="Nifty Bank" OR $symbol_name=="Nifty 50" OR $symbol_name=="Nifty Fin Service") { place_trade_entry($symbol_name,$var_symbol_token,$strategy_type, $current_candle_close,$var_interval,$var_from_date,$var_to_date,$buy_type); } else { // place_stock_order($var_symbol_token,$strategy_type,$buy_type,$current_candle_close); } // place_stock_order($var_symbol_token,$strategy_type,$buy_type,$current_candle_close); //$response_ceckkup = "S1002"; //$db->add_new_registration($nine_twenty_response_timestamp,$COMMENT,$response_ceckkup,$response_ceckkup,$response_ceckkup); } //3. Break down from High of Nine twenty if($current_candle_close < $nine_twenty_low AND $current_candle_open >= $nine_twenty_high) { $strategy_type = "Nine_Twenty"; $buy_type = "SELL"; if($symbol_name=="Nifty Bank" OR $symbol_name=="Nifty 50" OR $symbol_name=="Nifty Fin Service") { place_trade_entry($symbol_name,$var_symbol_token,$strategy_type, $current_candle_close,$var_interval,$var_from_date,$var_to_date,$buy_type); } else { // place_stock_order($var_symbol_token,$strategy_type,$buy_type,$current_candle_close); } // place_stock_order($var_symbol_token,$strategy_type,$buy_type,$current_candle_close); //$response_ceckkup = "S1003"; //$db->add_new_registration($nine_twenty_response_timestamp,$response_ceckkup,$response_ceckkup,$response_ceckkup,$response_ceckkup); } //4. Break down from inside of Nine twenty else if($current_candle_close < $nine_twenty_low AND $current_candle_open >= $nine_twenty_low) { $strategy_type = "Nine_Twenty"; $buy_type = "SELL"; if($symbol_name=="Nifty Bank" OR $symbol_name=="Nifty 50" OR $symbol_name=="Nifty Fin Service") { place_trade_entry($symbol_name,$var_symbol_token,$strategy_type, $current_candle_close,$var_interval,$var_from_date,$var_to_date,$buy_type); } else { // place_stock_order($var_symbol_token,$strategy_type,$buy_type,$current_candle_close); } //place_stock_order($var_symbol_token,$strategy_type,$buy_type,$current_candle_close); //$response_ceckkup = "S1004"; //$db->add_new_registration($nine_twenty_response_timestamp,$response_ceckkup,$response_ceckkup,$response_ceckkup,$response_ceckkup); } } /*****************************END NINE TWENTY STRATEGY***************************/ /*****************************TWO TWENTY STRATEGY***************************/ //fetch nine twenty candle data $var_symbol_token = trim($var_symbol_token); $two_twenty_candle_data = $db->get_todays_two_twenty_candle_data($var_symbol_token); if(!empty($two_twenty_candle_data)) { $res_id = $two_twenty_candle_data[0]; $res_exchange = $two_twenty_candle_data[1]; $res_symbol_token= $two_twenty_candle_data[2]; $res_interval = $two_twenty_candle_data[3]; $res_from_date = $two_twenty_candle_data[4]; $res_to_date = $two_twenty_candle_data[5]; //Nine FIFTEEN candle data into variables $nine_twenty_response_timestamp= $two_twenty_candle_data[6]; $nine_twenty_open = $two_twenty_candle_data[7]; $nine_twenty_high = $two_twenty_candle_data[8]; $nine_twenty_low = $two_twenty_candle_data[9]; $nine_twenty_close = $two_twenty_candle_data[10]; $nine_twenty_volume = $two_twenty_candle_data[11]; $res_date = $two_twenty_candle_data[12]; $res_time = $two_twenty_candle_data[13]; $res_api_response = $two_twenty_candle_data[14]; $current_close_price = $current_candle_close; //compare nine twenty candle breakout //1. Breakout from Low Of Nine FIFTEEN if($current_candle_close > $nine_twenty_high AND $current_candle_open <= $nine_twenty_low) { $COMMENT = "Breakout Done from nine twenty low of candle"; $strategy_type = "TWO_TWENTY"; $buy_type = "BUY"; if($symbol_name=="Nifty Bank" OR $symbol_name=="Nifty 50" OR $symbol_name=="Nifty Fin Service") { place_trade_entry($symbol_name,$var_symbol_token,$strategy_type, $current_candle_close,$var_interval,$var_from_date,$var_to_date,$buy_type); } else { // place_stock_order($var_symbol_token,$strategy_type,$buy_type,$current_candle_close); } } //2. Breakout from inside candle of nine twenty else if($current_candle_close > $nine_twenty_high AND $current_candle_open <= $nine_twenty_high) { $COMMENT = "Breakout Done from inside"; $strategy_type = "TWO_TWENTY"; $buy_type = "BUY"; if($symbol_name=="Nifty Bank" OR $symbol_name=="Nifty 50" OR $symbol_name=="Nifty Fin Service") { place_trade_entry($symbol_name,$var_symbol_token,$strategy_type, $current_candle_close,$var_interval,$var_from_date,$var_to_date,$buy_type); } else { // place_stock_order($var_symbol_token,$strategy_type,$buy_type,$current_candle_close); } } //3. Break down from High of Nine twenty if($current_candle_close < $nine_twenty_low AND $current_candle_open >= $nine_twenty_high) { $strategy_type = "TWO_TWENTY"; $buy_type = "SELL"; //place_stock_order($var_symbol_token,$strategy_type,$buy_type,$current_candle_close); if($symbol_name=="Nifty Bank" OR $symbol_name=="Nifty 50" OR $symbol_name=="Nifty Fin Service") { place_trade_entry($symbol_name,$var_symbol_token,$strategy_type, $current_candle_close,$var_interval,$var_from_date,$var_to_date,$buy_type); } else { // place_stock_order($var_symbol_token,$strategy_type,$buy_type,$current_candle_close); } } //4. Break down from inside of Nine twenty else if($current_candle_close < $nine_twenty_low AND $current_candle_open >= $nine_twenty_low) { $strategy_type = "TWO_TWENTY"; $buy_type = "SELL"; //place_stock_order($var_symbol_token,$strategy_type,$buy_type,$current_candle_close); if($symbol_name=="Nifty Bank" OR $symbol_name=="Nifty 50" OR $symbol_name=="Nifty Fin Service") { place_trade_entry($symbol_name,$var_symbol_token,$strategy_type, $current_candle_close,$var_interval,$var_from_date,$var_to_date,$buy_type); } else { // place_stock_order($var_symbol_token,$strategy_type,$buy_type,$current_candle_close); } } } /*****************************END TWO TWENTY STRATEGY***************************/ /*****************************3-30 EMA STRATEGY***************************/ if (!strpos( $current_mint_on_decision, "." ) !== false ) { /*$main_comment = "5Mint - 3-30 Inside"; $comment = "-"; $db->add_new_log_data($main_comment,$comment,$comment,$comment,$comment,$comment,$comment);*/ $data = $db->get_all_last_candles_data_for_ema_new($var_symbol_token); if(count($data)>=29) { /*$main_comment = "3-30 Inside - 29 Candles Match"; $comment = "-"; $db->add_new_log_data($main_comment,$comment,$comment,$comment,$comment,$comment,$comment);*/ $data = array_reverse($data); array_push($data,$current_candle_close); // Calculate SMA with length 5 $sma5 = calculateSMA($data, 5); // Calculate EMA for 3-day and 30-day periods $ema3 = calculateEMA($data, 3); $ema30 = calculateEMA($data, 30); // Generate buy and sell signals based on crossover $signals = []; for ($i = 1; $i < count($data); $i++) { if ($ema3[$i] > $ema30[$i] && $ema3[$i - 1] <= $ema30[$i - 1]) { $signals[] = "Buy signal at index $i"; $main_comment = "3-30 BUY SIGNAL"; $comment = "-"; $db->add_new_log_data($main_comment,$var_symbol_token,$symbol_name,$comment,$comment,$comment,$comment); } elseif ($ema3[$i] < $ema30[$i] && $ema3[$i - 1] >= $ema30[$i - 1]) { $signals[] = "Sell signal at index $i"; $main_comment = "3-30 SELL SIGNAL"; $comment = "-"; $db->add_new_log_data($main_comment,$var_symbol_token,$symbol_name,$comment,$comment,$comment,$comment); } else { $signals[] = "No signal at index $i"; /*$main_comment = "3-30 NO SIGNAL"; $comment = "-"; $db->add_new_log_data($main_comment,$comment,$comment,$comment,$comment,$comment,$comment);*/ } } // Display results echo "Sample Data: " . implode(", ", $data) . "\n\n"; echo "SMA (Length 5): " . implode(", ", $sma5) . "\n\n"; echo "EMA (3 days): " . implode(", ", $ema3) . "\n\n"; echo "EMA (30 days): " . implode(", ", $ema30) . "\n\n"; echo "Signals:\n"; echo implode("\n", $signals) . "\n"; } /*$var_open = $one_mint_var_open; $var_high = $one_mint_var_high; $var_low = $one_mint_var_low; $var_close= $one_mint_var_close;*/ /*****************CANDLE WISE TRADE*******************/ if($symbol_name=="Nifty Bank") { if($var_close > $var_open) { //BUY $main_comment = "SELL - LAST_CANDLE_BULL_OR_BEAR"; $comment = "-"; $db->add_new_log_data($main_comment,$var_symbol_token,$symbol_name,"LAST_CANDLE_BULL_OR_BEAR",$comment,$comment,$comment); $strategy_type = "LAST_CANDLE_BULL_OR_BEAR"; $buy_type = "SELL"; place_trade_entry($symbol_name,$var_symbol_token,$strategy_type, $current_candle_close,$var_interval,$var_from_date,$var_to_date,$buy_type); } else if($var_open > $var_close) { $main_comment = "BUY - LAST_CANDLE_BULL_OR_BEAR"; $comment = "-"; $db->add_new_log_data($main_comment,$var_symbol_token,$symbol_name,"LAST_CANDLE_BULL_OR_BEAR",$comment,$comment,$comment); //SELL $strategy_type = "LAST_CANDLE_BULL_OR_BEAR"; $buy_type = "BUY"; place_trade_entry($symbol_name,$var_symbol_token,$strategy_type, $current_candle_close,$var_interval,$var_from_date,$var_to_date,$buy_type); } } /**************END CANDLE WISE TRADE******************/ } /* // Calculate EMAs $shortEMA = calculateEMA($data, 3); $longEMA = calculateEMA($data, 30); // Determine buy/sell signals based on crossover $signals = []; for ($i = 1; $i < count($data); $i++) { if ($shortEMA[$i] > $longEMA[$i] && $shortEMA[$i - 1] < $longEMA[$i - 1]) { $signals[$i] = 'Buy'; $strategy_type = "THREE_THIRTY"; $buy_type = "BUY"; if($symbol_name=="Nifty Bank" OR $symbol_name=="Nifty 50" OR $symbol_name=="Nifty Fin Service") { $main_comment = "3-30 Inside"; $comment = "-"; $db->add_new_log_data(serialize($data),serialize($signals),$strategy_type,$buy_type,$main_comment,$comment,$comment,$comment); place_trade_entry($symbol_name,$var_symbol_token,$strategy_type, $current_candle_close,$var_interval,$var_from_date,$var_to_date,$buy_type); $main_comment = "3-30 After"; $comment = "-"; $db->add_new_log_data($strategy_type,$buy_type,$main_comment,$comment,$comment,$comment,$comment); } } elseif ($shortEMA[$i] < $longEMA[$i] && $shortEMA[$i - 1] > $longEMA[$i - 1]) { $signals[$i] = 'Sell'; $strategy_type = "THREE_THIRTY"; $buy_type = "SELL"; if($symbol_name=="Nifty Bank" OR $symbol_name=="Nifty 50" OR $symbol_name=="Nifty Fin Service") { $main_comment = "3-30 Inside"; $comment = "-"; $db->add_new_log_data(serialize($data),serialize($signals),$strategy_type,$buy_type,$main_comment,$comment,$comment); place_trade_entry($symbol_name,$var_symbol_token,$strategy_type, $current_candle_close,$var_interval,$var_from_date,$var_to_date,$buy_type); $main_comment = "3-30 After"; $comment = "-"; $db->add_new_log_data($strategy_type,$buy_type,$main_comment,$comment,$comment,$comment,$comment); } } else { $signals[$i] = 'Hold'; } } }*/ /* $closingPrices = $db->get_all_last_candles_data_for_ema($var_symbol_token); if(!empty($closingPrices)) { // Get the buy and sell signals $signals = emaCrossingStrategy($closingPrices); if(!empty($signals)) { foreach($signals as $buy_sell_signal) { $strategy_type = "THREE_THIRTY"; $buy_type = $buy_sell_signal; $main_comment = "3-30"; $comment = "-"; $dbobj->add_new_log_data($strategy_type,$buy_type,$main_comment,$comment,$comment,$comment,$comment); if($symbol_name=="Nifty Bank" OR $symbol_name=="Nifty 50" OR $symbol_name=="Nifty Fin Service") { $main_comment = "3-30 Inside"; $comment = "-"; $dbobj->add_new_log_data($strategy_type,$buy_type,$main_comment,$comment,$comment,$comment,$comment); place_trade_entry($symbol_name,$var_symbol_token,$strategy_type, $current_candle_close,$var_interval,$var_from_date,$var_to_date,$buy_type); $main_comment = "3-30 After"; $comment = "-"; $dbobj->add_new_log_data($strategy_type,$buy_type,$main_comment,$comment,$comment,$comment,$comment); } } } }*/ // Sample data /*$data = [ [ 'Date' => '2023-11-14', 'Close' => 100.00 ], [ 'Date' => '2023-11-15', 'Close' => 102.00 ], [ 'Date' => '2023-11-16', 'Close' => 104.00 ], [ 'Date' => '2023-11-17', 'Close' => 103.00 ], [ 'Date' => '2023-11-18', 'Close' => 101.00 ], [ 'Date' => '2023-11-19', 'Close' => 99.00 ] ];*/ /*****************************END 3-30 EMA STRATEGY***************************/ // $db->add_new_candle_data($var_exchange,$var_symbol_token,$var_save_interval,$var_from_date,$var_to_date,$var_response_timestamp,$var_open,$var_high,$var_low,$var_close,$var_volume,$response_historical); //$db->add_new_candle_data($var_exchange,$var_symbol_token,$response_historical,$var_from_date,$var_to_date,$var_response_timestamp,$var_open,$var_high,$var_low,$var_close,$var_volume); //$db->add_new_registration($response11,$var_symbol_token,$response,$var_from_date."++".$var_to_date,$response11); } $counter++; } } else { //1 Mint code Working } //echo "****".$var_from_date."++++++++".$var_to_date; //$response = '{"status":"success","http_code":200,"http_error":"","response_data":{"status":true,"message":"SUCCESS","errorcode":"","data":[["2023-05-02T09:15:00+05:30",145.94999999999998863131622783839702606201171875,145.94999999999998863131622783839702606201171875,144.19999999999998863131622783839702606201171875,145.099999999999994315658113919198513031005859375,728847],["2023-05-02T09:20:00+05:30",145.099999999999994315658113919198513031005859375,145.150000000000005684341886080801486968994140625,144.19999999999998863131622783839702606201171875,145,973328]]}}'; /*$response = json_decode($response,true); $response['status']; $response['http_code']; $candle_data = $response['response_data']; //print_r($candle_data['data']); $var_response_timestamp = $candle_data['data'][0][0]; $var_open = $candle_data['data'][0][1]; echo $var_high = $candle_data['data'][0][2]; $var_low = $candle_data['data'][0][3]; $var_close = $candle_data['data'][0][4]; $var_volume = $candle_data['data'][0][5];*/ /* if($response['status']=='true') {*/ //$db->add_new_candle_data($var_exchange,$var_symbol_token,$var_interval,$var_from_date,$var_to_date,$var_response_timestamp,$var_open,$var_high,$var_low,$var_close,$var_volume ); //} //$db->add_new_candle_data($GetCandleData,$GetCandleData,$GetCandleData,$GetCandleData,$GetCandleData,$GetCandleData,$GetCandleData,$GetCandleData,$GetCandleData,$GetCandleData,$GetCandleData ); } else { echo "Out Of Time"; } } //Day Not Saturday And Sunday ?>
Linux 65-254-81-4.cprapid.com 5.14.0-284.11.1.el9_2.x86_64 #1 SMP PREEMPT_DYNAMIC Tue May 9 05:49:00 EDT 2023 x86_64
Apache
65.254.81.4