Перейти к публикации
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 строками кода.
В коде был копипаст из публичного описания апишки.

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


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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.


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

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

×
×
  • Создать...