質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.53%

  • Python 3.x

    6313questions

    Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

仮想通貨売買でccxtを使わずにPythonでBOTを作る方法を教えてください。

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 242

dune1969

score 1

 前提・実現したいこと

FCoinとBTCの売買です。

成り行きで売買を行い、0.2%上がったら売り、0.2%下がったら買いです。

最近、Pythonの勉強を始めました。
知人のリクエストで上記条件のBOTを作りましたが、エラー続きで、よくよく調べてみたら、ccxtにFCoinがありませんでした。
ccxtを使わずにBOTを作る方法を丸一日探したのですが見つかりません。
教えていただけると助かります。ボールドテキスト
FCoinのURLはhttps://exchange.fcoin.com/です。

 発生している問題・エラーメッセージ

Traceback (most recent call last):
File "/home/ec2-user/environment/FCoin_01.py", line 17, in <module>
exchange = ccxt.FCoin()
AttributeError: module 'ccxt' has no attribute 'FCoin'

Process exited with code: 0

 該当のソースコード

FCoinとBTCの売買です。

成り行きで売買を行い、0.2%上がったら売り、0.2%下がったら買いです。

from time import sleep
import ccxt
import time
import json 

exchanges = {
"coinex": {

        "

"**************": "FCoinのIDを入力してください",
"**************": "FCoinのSecretを入力してください"
},
}

exchange = ccxt.FCoin()
exchange.apiKey = exchanges["FCoin"]["apiKey"]
exchange.secret = exchanges["FCoin"]["secret"]

orderbook = exchange.fetch_order_book ('parse/usdt')
bid = orderbook['bids'][0][0] if len (orderbook['bids']) > 0 else None
ask = orderbook['asks'][0][0] if len (orderbook['asks']) > 0 else None
spread = (ask - bid) if (bid and ask) else None
print (exchange.id, 'market price', { 'bid': bid, 'ask': ask, 'spread': spread })

本当は無限ループ 

10回繰り返したらSTOP

while true:

while counter < 10:
counter += 1
print(counter)

成行買い

exchange.create_market_buy_order(symbol='parse/usdt', amount=50)

成行売り

exchange.create_market_sell_order(symbol='parse/usdt', amount=50)

0.2%上がったら売り(指値)

exchange.create_limit_sell_order(symbol='parse/usdt', amount=50.2)

0.2%下がったら買い(指値)

exchange.create_limit_buy_order(symbol='parse/usdt', amount=50.2)

time.sleep(2.0)

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+3

AttributeError: module 'ccxt' has no attribute 'FCoin'

グーグル翻訳
AttributeError:モジュール 'ccxt'には属性 'FCoin'がありません

ccxtはfcoin.pyをサポートしているように見えますが。

exchange = ccxt.FCoin()


exchange = ccxt.fcoin()

質問部分のソースコード部分はコードタグで囲ってくださいな。


手元のVersion: 1.16.69だとccxt.fcoinは存在します。
pip show ccxtをコマンドラインより実行してバージョンを確認してみてくださいな。

自作するとなると回答文のリンク先のfcoin.pyを自力で実装すれば可能ですが。
勉強にはなりますが、APIを呼び出したりAPI署名をしたりで大変です。
FCoin APIのドキュメントのリンクを張っておきます。


python -m pip install --upgrade pip
pip install ccxt
を実行したところ、
SyntaxError: invalid syntax

ccxtのパッケージをアップデートするコマンドは以下です。

python -m pip install ccxt -U
# もしくは
pip install ccxt -U

インストールではなく、インポートのみでした。

pipインストール後にimport文でインポートなので。
pipでインストールしていなければ、ImportError: No module named ccxtが発生します。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/07/20 01:27

    ご回答ありがとうございます。
    今、再度試したところ、やはりccxtにfcoinはないようです。

    キャンセル

  • 2018/07/20 10:27

    (解答欄に書くほどでもないので、コメント欄に横から...)

    ccxt をいつ、どのようにインストールされましたか? 

    [ccxt](https://github.com/ccxt/ccxt/) のソースコードを確認すると fcoin への対応は、7/4 に追加されていますので、それ以降にリリースされたバージョンなら使えるはずです。

    [リリース情報](https://github.com/ccxt/ccxt/releases)をみると、毎日5回ぐらいアップデートされていますので、適宜アップデートする必要があると思います。

    キャンセル

  • 2018/07/20 14:37

    >CHERRYさんへ
    フォロー回答ありがとうございました。

    キャンセル

  • 2018/07/21 04:54

    ご回答ありがとうございます。
    バージョンが古かったということですね。
    ccxtは2週間ほど前にインストールしています。
    インストールではなく、インポートのみでした。
    先程、
    $ python -m pip install --upgrade pip
    pip install ccxt
    を実行したところ、
    SyntaxError: invalid syntax
    が出てしまいました。

    キャンセル

  • 2018/07/21 05:43

    何度も申し訳ございません。
    教えていただいたコマンドは2つとも
    SyntaxError: invalid syntax
    になってしまいます。
    XXXX.pyでの実行ではないのでしょうか。

    キャンセル

  • 2018/07/21 05:47 編集

    dune1969さんへ
    質問文のソースコードを作った貴方から何故その質問がでるのかが疑問なのですが。
    XXXX.pyの中に書く必要はありません。
    pyファイルを実行するときにpython XXXX.pyとしますよね。
    そのところで、同じように回答文のコマンドを実行してくださいな。
    もしくはpython3コマンドpip3コマンドでないと行けないかもしれません。

    キャンセル

  • 2018/07/22 01:32

    教えていただいたコマンドを一通り、試しましたがすべてエラーでした。
    pip3コマンドは、やはり、どこかでインストールが必要なのでしょうか。
    pythonのバージョンは3.7です。
    cloud9を使用しています。

    キャンセル

  • 2018/07/22 01:33

    恥ずかしながら、ソースコードは検索で出てきたものをコピペしただけです。

    キャンセル

  • 2018/07/22 01:42

    >dune1969さんへ
    cloud9は使ったことがないので、別の質問として、pipコマンドが動作しないという点で立てるか、SNS(ツィッター)とかで聞いてみるのもいいかもです。
    参考までに検索してHITしたリンクを張っておきます。
    https://qiita.com/hahifu/items/6c808a72b1474500acd6

    キャンセル

  • 2018/07/22 03:02

    umyuさん、長い間、いろいろ教えてくださって、ありがとうございました。
    別のところで、質問してみようと思います。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.53%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • Python 3.x

    6313questions

    Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。