Created
April 22, 2018 16:00
-
-
Save ekam230/bb125163fd19bc8873a963a4e2fa933c to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//проверяю открытые позиции | |
$openpos=$bitmex2->getOpenPositions(); | |
if ($openpos != Array()) { | |
message("You have open position. I try close it. Wait..."); | |
//если бай то закрываюсь селом | |
if ($openpos[0]["liquidationPrice"] < 1000){ | |
message("You have Buy Open Position"); | |
$orderNow = array(); | |
while ($orderNow != TRUE) | |
{point_zero1: | |
while ($orderNow != TRUE) { | |
$priceNow = False; | |
while ($priceNow != TRUE){ | |
$priceNow=$bitmex2->getTicker("XBTUSD");usleep(510); | |
} | |
message("Get price"); | |
$orderNow=$bitmex2->createOrder("Limit","Sell",$priceNow["ask"],$quantityusd); | |
message("Try Get Order");usleep(510);} | |
message("Order Recieve"); | |
$getOrder=array(); | |
while ($getOrder != TRUE) { | |
$getOrder=$bitmex2->getOrder($orderNow["orderID"]); | |
usleep(510); | |
} | |
message ("Order status ".$getOrder["ordStatus"]); | |
if ($getOrder["ordStatus"] == "Filled" or $getOrder["ordStatus"] =="PartiallyFilled"){ | |
message("Order Filled"); | |
} | |
// elseif ($getOrder["ordStatus"] == "Canceled") { | |
// message("Order Cancel. Retry create order"); | |
// $orderNow = array(); | |
// usleep(510); | |
// goto point_zero1; | |
// } | |
elseif ($getOrder["ordStatus"] == "New") { | |
sleep(10); | |
message("Check order status"); | |
$getOrder=array(); | |
while ($getOrder != TRUE) { | |
$getOrder=$bitmex2->getOrder($orderNow["orderID"]); | |
usleep(510); | |
} | |
message ("Order status ".$getOrder["ordStatus"]); | |
if ($getOrder["ordStatus"] == "New"){ | |
while ($cancelorder !=TRUE){ | |
message("Try Cancel Order"); | |
$cancelorder = $bitmex2->cancelAllOpenOrders(); | |
usleep(505); | |
$i++; | |
if ($i == 3){ | |
$openpos=$bitmex2->getOpenPositions(); | |
usleep(505); | |
echo "Order slipped to Open Position! Stop Cancel Order."; | |
if ($openpos == False) $cancelorder = TRUE; | |
else $i=0; | |
} | |
} | |
message("Cancel Order OK"); | |
$orderNow = array(); | |
usleep(510); | |
goto point_zero1; | |
} | |
} | |
} | |
} | |
//если селл то закрываюсь баем | |
elseif ($openpos[0]["liquidationPrice"] > 90000000){ | |
$i=0; | |
message("You have Sell Open Position"); | |
$orderNow = array(); | |
while ($orderNow != TRUE) | |
{point_zero2: | |
while ($orderNow != TRUE) { | |
$priceNow = False; | |
while ($priceNow != TRUE){ | |
$priceNow=$bitmex2->getTicker("XBTUSD");usleep(510); | |
} | |
message("Get price"); | |
$orderNow=$bitmex2->createOrder("Limit","Buy",$priceNow["bid"],$quantityusd); | |
message("Try Get Order");usleep(510);} | |
message("Order Recieve"); | |
$getOrder=array(); | |
while ($getOrder != TRUE) { | |
$getOrder=$bitmex2->getOrder($orderNow["orderID"]); | |
usleep(510); | |
} | |
message ("Order status ".$getOrder["ordStatus"]); | |
if ($getOrder["ordStatus"] == "Filled" or $getOrder["ordStatus"] =="PartiallyFilled"){ | |
message("Order Filled"); | |
} | |
elseif ($getOrder["ordStatus"] == "Canceled") { | |
message("Order Cancel. Retry create order"); | |
$orderNow = array(); | |
usleep(510); | |
goto point_zero2; | |
} | |
elseif ($getOrder["ordStatus"] == "New") { | |
sleep(10); | |
message("Check order status"); | |
$getOrder=array(); | |
while ($getOrder != TRUE) { | |
$getOrder=$bitmex2->getOrder($orderNow["orderID"]); | |
usleep(510); | |
} | |
message ("Order status ".$getOrder["ordStatus"]); | |
if ($getOrder["ordStatus"] == "New"){ | |
while ($cancelorder !=TRUE){ | |
message("Try Cancel Order"); | |
$cancelorder = $bitmex2->cancelAllOpenOrders(); | |
usleep(505); | |
$i++; | |
if ($i == 3){ | |
$openpos=$bitmex2->getOpenPositions(); | |
usleep(505); | |
echo "Order slipped to Open Position! Stop Cancel Order."; | |
if ($openpos == False) $cancelorder = TRUE; | |
else $i=0; | |
} | |
} | |
message("Cancel Order OK"); | |
$orderNow = array(); | |
usleep(510); | |
goto point_zero2; | |
} | |
} | |
} | |
} | |
OrderMessage($orderNow); | |
$i=0; | |
message ("Open Position Closed. Lets Trade."); | |
} | |
//no open position lets trade | |
else message("No Open position - Lets Trade"); | |
sleep(1); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment