Перейти к публикации
Simba

Разработка автоматизированных систем покупки продажи Bitcoin

Рекомендованные сообщения

(изменено)

Здравствуйте.

Хотел бы предложить свои услуги разработчика автоматизированных онлайн систем покупки продажи криптовалют.

Опыт в данной сфере имеется, разрабатывал несколько проектов которые и по сей день успешно работают(примеры только реальным заказчикам).

Цены одни из самых низких на рынке данного вида услуг.

Более точная цена определяется после ознакомления с вашим техническим заданием (ТЗ).

Разработка ведется как отдельным модулем(под готовый проект) так и "под ключ" (создание проекта с нуля)!

Связь тут в личку, далее после общения дам уже прямые контакты!
Зы. На форуме более 3 лет так что говорить что я новичек либо кидало не стоит, есть репутация, администрации могу предоставить основную учетку, дабы подтвердили мои слова!

 

=============================

 

На форуме более 3 лет так что говорить что я новичек либо кидало не стоит, есть репутация

 

Подтверждаю. Uliss

Изменено пользователем Uliss
Подтверждение

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Здравствуйте!

 Какие условия работы? Можно в ЛС

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Работал с человеком, все сделал грамотно. Буду продолжать сотрудничество.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@Scizor60, Отпишите ваше техническое задание в приват и я расскажу про условия.

Хотя по сути условия одинаковые, вы описываете суть задания, мы с вами списываемся в телеграмме и обсуждаем все технические моменты, после чего согласовываем цену, потом я начинаю разработку, после того как проект будет готов я дая вам время потестить его(тест происходит на наших серверах) и если все вас устраивает я даю вам реквизиты куда вы отправляете средства, после чего получаете архив с работой и инструкциями, ну и дальше я помогаю вам установить все правильно. И вы напоследок оставляете отзыв о нашей работе))

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Свободен для заказов.

Так же на данный момент есть готовые решения.

#########

Универсальная Qiwi панель с большим функционалом таким как одновременная работа с неограниченным количеством Qiwi кошельков, регистрация кошелька, установка на каждый кошелек своего прокси, прохождение индентификации и многое другое....

#########

Api класс для работы с биржей Localbitcoins вплоть до автоматизации и установки своих стратегий для торговли....

#########

Готовый автоматический обменный пункт bitcoin => qiwi с базовым функционалом

Изменено пользователем Simba

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Свободен для заказов! Ребят, с кем работал, оставляйте отзыв пожалуйста!!!!!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если знакомы с php,  то сам poloniex приводит пример реализации простого торгового класса
Сейчас я бросаю этот класс, который я модифицировал, для использование в своем боте..
Первым делом я естественно добавил туда маржинальную торговлю)) 
 

class Poloniex
{
    protected $api_key;
    protected $api_secret;
    protected $trading_url = "https://poloniex.com/tradingApi";
    protected $public_url = "https://poloniex.com/public";

    public function __construct($api_key, $api_secret) {
        $this->api_key = $api_key;
        $this->api_secret = $api_secret;
    }

    private function query(array $req = array()) {
        // API settings
        $key = $this->api_key;
        $secret = $this->api_secret;

        // generate a nonce to avoid problems with 32bit systems
        $mt = explode(' ', microtime());
        $req['nonce'] = $mt[1].substr($mt[0], 2, 6);

        // generate the POST data string
        $post_data = http_build_query($req, '', '&');
        $sign = hash_hmac('sha512', $post_data, $secret);

        // generate the extra headers
        $headers = array(
            'Key: '.$key,
            'Sign: '.$sign,
        );

        // curl handle (initialize if required)
        static $ch = null;
        if (is_null($ch)) {
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($ch, CURLOPT_USERAGENT,
                'Mozilla/4.0 (compatible; Poloniex PHP bot; '.php_uname('a').'; PHP/'.phpversion().')'
            );
        }
        curl_setopt($ch, CURLOPT_URL, $this->trading_url);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

        // run the query
        $res = curl_exec($ch);

        if ($res === false) throw new Exception('Curl error: '.curl_error($ch));
        //echo $res;
        $dec = json_decode($res, true);
        if (!$dec){
            //throw new Exception('Invalid data: '.$res);
            return false;
        }else{
            return $dec;
        }
    }

    protected function retrieveJSON($URL) {
        $opts = array('http' =>
            array(
                'method'  => 'GET',
                'timeout' => 10
            )
        );
        $context = stream_context_create($opts);
        $feed = file_get_contents($URL, false, $context);
        $json = json_decode($feed, true);
        return $json;
    }

    public function get_balances() {
        return $this->query(
            array(
                'command' => 'returnBalances'
            )
        );
    }

    public function get_not_empty_balances()
    {
        $balances = self::get_balances();
        $notEmptyBalance = array();
        foreach ($balances as $currency=>$bal){
            if($bal>0.00000001){
                $notEmptyBalance[$currency]=$bal;
            }
        }
        return $notEmptyBalance;
    }

    public function get_open_orders($pair) {
        return $this->query(
            array(
                'command' => 'returnOpenOrders',
                'currencyPair' => strtoupper($pair)
            )
        );
    }

    public function get_my_trade_history($pair) {
        return $this->query(
            array(
                'command' => 'returnTradeHistory',
                'currencyPair' => strtoupper($pair)
            )
        );
    }

    public function getCountSellAndBuy($pair){
        $orders= self::get_open_orders($pair);
        $sell=0; $buy=0;
        foreach ($orders as $order){
            if($order['type']=='sell')$sell++;
            else $buy++;
        }
        return ['sell'=>$sell, 'buy'=>$buy];
    }

    public function buy($pair, $rate, $amount) {
        return $this->query(
            array(
                'command' => 'buy',
                'currencyPair' => strtoupper($pair),
                'rate' => $rate,
                'amount' => $amount
            )
        );
    }

    public function marginBuy($pair, $rate, $amount) {
        return $this->query(
            array(
                'command' => 'marginBuy',
                'currencyPair' => strtoupper($pair),
                'rate' => $rate,
                'amount' => $amount
            )
        );
    }

    public function marginSell($pair, $rate, $amount) {
        return $this->query(
            array(
                'command' => 'marginSell',
                'currencyPair' => strtoupper($pair),
                'rate' => $rate,
                'amount' => $amount
            )
        );
    }

    public function getTradableBalances()
    {

        return $this->query(
            array(
                'command' => 'returnTradableBalances'
            )
        );

    }


    public function sell($pair, $rate, $amount) {
        return $this->query(
            array(
                'command' => 'sell',
                'currencyPair' => strtoupper($pair),
                'rate' => $rate,
                'amount' => $amount
            )
        );
    }

    public function cancel_order($pair, $order_number) {
        return $this->query(
            array(
                'command' => 'cancelOrder',
                'currencyPair' => strtoupper($pair),
                'orderNumber' => $order_number
            )
        );
    }

    public function withdraw($currency, $amount, $address) {
        return $this->query(
            array(
                'command' => 'withdraw',
                'currency' => strtoupper($currency),
                'amount' => $amount,
                'address' => $address
            )
        );
    }

    public function get_trade_history($pair) {
        $trades = $this->retrieveJSON($this->public_url.'?command=returnTradeHistory&currencyPair='.strtoupper($pair));
        return $trades;
    }

    public function get_order_book($pair) {
        $orders = $this->retrieveJSON($this->public_url.'?command=returnOrderBook&currencyPair='.strtoupper($pair));
        return $orders;
    }

    public function get_volume() {
        $volume = $this->retrieveJSON($this->public_url.'?command=return24hVolume');
        return $volume;
    }

    public function get_ticker($pair = "ALL") {
        $pair = strtoupper($pair);
        $prices = $this->retrieveJSON($this->public_url.'?command=returnTicker');
        if($pair == "ALL"){
            return $prices;
        }else{
            $pair = strtoupper($pair);
            if(isset($prices[$pair])){
                return $prices[$pair];
            }else{
                return array();
            }
        }
    }

    public function get_trading_pairs() {
        $tickers = $this->retrieveJSON($this->public_url.'?command=returnTicker');
        return array_keys($tickers);
    }

    public function get_total_btc_balance() {
        $balances = $this->get_balances();
        $prices = $this->get_ticker();

        $tot_btc = 0;

        foreach($balances as $coin => $amount){
            $pair = "BTC_".strtoupper($coin);

            // convert coin balances to btc value
            if($amount > 0){
                if($coin != "BTC"){
                    $tot_btc += $amount * $prices[$pair];
                }else{
                    $tot_btc += $amount;
                }
            }

            // process open orders as well
            if($coin != "BTC"){
                $open_orders = $this->get_open_orders($pair);
                foreach($open_orders as $order){
                    if($order['type'] == 'buy'){
                        $tot_btc += $order['total'];
                    }elseif($order['type'] == 'sell'){
                        $tot_btc += $order['amount'] * $prices[$pair];
                    }
                }
            }
        }

        return $tot_btc;
    }
}

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Здравствуйте. Готов заказать у Вас разработку. Отпишите в ЛС условия работы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@phpdev, Спасибо конечно за код но зачем его скидывать сюда))

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Написал в личку еще 13-го мая .... но в ответ тишина ... :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Добрый день. Поправьте если я ошибаюсь, Вы пишете бот для автоматической торговли криптовалютами да.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Добрый день. Поправьте если я ошибаюсь, Вы пишете бот для автоматической торговли криптовалютами да.

Да, и так же занимаюсь написанием онлайн сервисов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Приветствую. Какие языки и технологии используете при разработке? Какой срок общего опыта программирования?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@electrocash, Язык разработки php в основном использую фреймворк Laravel^ база данных Mysql

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вышло новое обновление панели для работы с qiwi кошельками, просьба кто прибретал обратится в лс

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Много болтал, рассказывал, как хорошо понимает задачу. По итогу продал за 20 000 рублей один PHP файл с 15 строками кода.
В коде был копипаст из публичного описания апишки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×