Yuki猫のおうち

気ままに自由に日々を生きるエンジニアのブログ

【2020年4月損益】BitCoinでFXトレードして日銭を稼ぐ

2020年4月の損益結果

コロナの影響で大暴落した際に巨額赤字を出してしまった私ですが、それから真面目に勉強して随分と改善しました。

4月の最終的な損益はこちら。

損益:+129,714円

現物:+0.16BTC

これ、かなりすごい結果なんじゃないかなと思います。

また、トータルの赤字もだいぶ取り戻してきました。 調子が良ければ5月中にプラスに転換できるのではと思います。

4月にこれだけ調子が良かった理由はいろいろあったと思いますが、自分なりに整理しておきます。

4月はなぜ調子が良かったのか

ロングポジションを握っておけば儲かる相場だった

4月はBTC価格が100万円付近から半値近くの50万円まで暴落した後であったり、5月に半減期を控えていたりと、上昇するとしか思えない相場だったことが大きいかなと思います。 とりあえずロングポジションを持っておけば儲かる相場でした。

4月末日のBTC価格は95万円程度であり、特に30日には100万円を超えていることを鑑みるに、ロングポジションを持っておけば儲かる相場は一旦終わりかなと思っています。

ここから半減期に向けて、振動しながらも価格を上げていくだろうと予想はしています。

しかし、特に29日、30日の2日間で10万近く暴騰しての100万円付近への復帰だったこと、そして大きな値戻しもなく価格が上昇してきたことを踏まえると、近いうちに一旦暴落する可能性は捨て切れません。

(事実、102万円まで上昇した後、3時間後には93万円まで急落していました)

今の価格は流石に極端に上がりすぎかなと思っています。

半減期後には価格が上がると言われている一方、その前に一度どこかで暴落するのでは、という意見もあり、半減期相場になるまでの間にどれだけ下がるかは予測できないラインまで価格は回復してきたのかなと思います。

証拠金に余裕ができたら現物を買っていた

証拠金は日本円で必ず10万は残すようにして、余剰分はBTCの購入に充てるようにしていました。 もともと0.04BTC保有していたのですが、4月のうちに平均価格82万円程度で0.16BTCを購入しています。

4月末日のBTC価格が大体95万円だったので、これだけでも26000円の利益が出ています。

BTC価格が今後本当に上がるのかは誰にもわかりませんが、電子決済やブロックチェーン技術の普及を見ていると、まだ上がりそうだなという印象です。 私は少なくとも150万程度までは上がるだろうと見込んでいますので、価格が120万円以下の間は余剰資金が出れば現物を買い足していこうと思っています。

0.5~1BTCの保有が目標です。

1分足スキャルピング方式をやめて5分足トレードに変えた

FXには、数秒から数分の値動きの間に取引を行い、細かい利益を積み重ねるスキャルピング手法というものがあります。

長期の取引を行わないため相場が予想とは逆に動いた時の損が少なく済む反面、利益も少ないのでしっかりと損切りができないとコツコツ積み上げた利益を一回の失敗で全部無くしてしまうリスクが高い手法だなと思います。

これはあくまで私の感想ですが、相場は基本的に価格が上下に振動しながら動いていくものなので、短期間の間に上がるか下がるかを非常に予測しずらかったです。

それに対して、5分足のチャートは比較的相場のトレンドを反映していたように感じます。少なくとも、私にとっては予測と同じ値動きをすることが多い印象でした。

相場に逆らわないように「上昇傾向の相場で価格が落ちた後、再度上がり始めたらエントリー」「下落傾向の相場で価格が上がった時、再度下がり始めたらエントリー」を徹底したところ、大きな損をすることなく利益が出るようになってきました。

また、4時間足、1時間足、30分足でのトレンドを確認し、各トレンドがしっかり同じ方向を向いていることを確認してからエントリーするようにしてからは、より予測の精度が上がったような気がしています。

テクニカル指標の勉強をした

最初の頃はローソク足チャートと睨めっこしてトレードをしていました。 しかし、相場は世界中のトレーダーの需要供給で成り立っているものなので、相場を先読みするためには彼らの行動を先読みすることが必要になってきます。

そのための指標となるのが、テクニカル指標です。 テクニカル指標はあくまでも相場の傾向を数値化したものですが、多くのトレーダーがその指標に従ってトレードしていると考えると、テクニカル指標にはトレーダーの売買行動が反映されていると言うこともできるかと思います。

もちろん、必ずテクニカル指標の通りに相場が動くわけではないため、いわゆる "騙し" に注意する必要はあります。 しかし、ただローソク足チャートだけを見ているよりは、遥かに大量の情報を得ることができます。

私が使用するテクニカル指標については、4月後半には以下に落ちつきました。

これに加えて、さとちんという方が作っている、エントリータイミングを表示してくれるポジ子という指標も使用しています。

note.com

このポジ子のサインのタイミングが絶妙で、大きく価格が動く前にはしっかりサインが出てくれています。

ただし、エントリーサインは上記タイミング以外にも割と頻繁に出てくるため、すべてのサインでエントリーすればいいというものではなく、あくまで「自分がエントリーしたい時にサインが出るのを待つ」という戦略をとる必要があります。

そこさえ気を付けていれば、面白いほど利益が出ます。

TradingViewを導入した

複数のテクニカル指標をローソク足チャートと同時にチェックしたいと思い使い始めました。

TradingViewは、そのテクニカル指標のグラフをローソク足チャートと同時に表示することのできるチャートツールです。

無料枠だと、三つまでテクニカル指標を同時に表示することができます。また、指標を使った通知機能もあり、無料枠だと一つだけ設定することができます。

私は4月中旬から1ヶ月間の無料枠を使ってproユーザーになって使っています。 proユーザーの場合は、一度に表示できるテクニカル指標は5つ、通知は10個まで登録できるようになります。

一年で179.4ドルなので、執筆時のドル円レートだと大体2万円程度です。無料プラン中に一年契約すると40%引きになるため、1万円と少しで利用できます。

先行投資として高いか安いかで言うと、かなり安いと思っています。記事冒頭の損益グラフを見ても、4月後半からどんどん利益を積み重ねています。

ちなみに、前述したポジ子は「移動平均線」「ボリンジャーバンド」「一目均衡表」を内包しているため、無料枠を使用している場合は1枠で4つ分の指標を表示できるため、3つしかない表示枠の節約にもなります。

5月以降の目標

黒字転換

ひとまず、5月中の黒字転換を目指します。

とはいえ、トレードにおいては利益追求すると損をすることが多いので、コツコツと積み上げた結果の黒字転換が理想かなと思います。

どれだけ利益が出ても損をしても、慌てず焦らず、自分のトレード方針に忠実に行動した方が利益を得やすいことがこの1ヶ月でよくわかりました。

こんなに上がったんだからそろそろちょっと下がるだろう、とトレンドに逆らっては大損を出し、それまでの利益を全部吹き飛ばしていたので…

冒頭の損益グラフで利益が減っている箇所はほとんどそれです。

本当に人間は過去の経験から何も学ばない生き物です…

システムトレード

この1ヶ月のトレードはすべて記録してあるので、利益を出したトレード、損をしたトレードでどういう指標からそう判断したのか、実際にはどうだったか、正しい指標の読み方はどうすれば良かったか、などのデータを抽出してみようと思っています。

それをうまく言語化できれば、システムに落とし込んで自動トレードできるんじゃないかなと思っています。

不労所得を得るのが最終目標です。

出産・育児で役に立ったアプリ5選

1.Babyプラス

妊娠がわかった時から使い始めました。

予定日までのカウントダウンと、各週数にあった出産に関する医師の記事を閲覧できます。 ホーム画面の赤ちゃんのセリフが秀逸で、ついつい毎日開いて確認したくなりました。

週数毎に「今の身長体重はこれくらいで、りんごくらいの重さと大きさだよ」といった例を挙げてくれるので、切り替わるのを夫婦で楽しみに見ていました。

www.jsog.or.jp

2.ピヨろぐ

生まれた後から使い始めました。

授乳時間、ミルクの量、睡眠、排泄、体温等のデータを時系列で記録できるアプリです。 日記もつけられます。

身長体重については成長曲線にプロットして表示してくれるので、順調に成長しているかどうかもわかります。

各種データはグラフ表示してくれるので、昨日よりちょっとうんちの回数が少ないな、などが一目でわかります。

Google Home MiniやSiriと連携すると、排泄や睡眠は設定すれば「OK Google, うんちしたよ」の一言で登録できるのでとても便利です。

piyolog.mystrikingly.com

3.みてね

生まれた後から使い始めました。

写真を共有するアプリで、とった写真を片っ端からアップロードしています。 今のところ我が家では長い動画はほとんど撮っていないので、無料プランで十分使えています。

各写真にはコメントをつけられるので、祖父母とのコミュニケーションも取れたりします。

どちらの祖父母も遠隔地に住んでいるので滅多に会いに来られないため、両家への共有が一括でできるこちらのアプリはとても重宝しています。

また、アップロードした写真から毎月自動でアルバムを作成してくれて、500円程度で物理のアルバムとして購入することもできます。 試しにひとつ購入してみたのですが、iPhone7の画質でも十分な解像度で印刷されていたので、今後も使ってみようかなと思っています。

mitene.us

4.JapanTaxi

退院時と、病院に行くなど急な移動が必要なときに利用しました。

タクシー配車アプリです。 通常、午前中はタクシーの予約がとても捕まりにくいのですが、このアプリだと配車エリアを拡大して検索するビジーチケット(有料)のおかげで、予約できないという状況がまずないです。 一枚で捕まらなければ追加でビジーチケットを使用することでさらに範囲を拡大して検索してくれるので、捕まらないことはまずないでしょう。

アプリ内で予約した際にクレジット決済を指定しておくと降車時にタクシー内で支払いをしなくて済むので、降車がスムーズなのは赤ちゃんがいる状態だととても楽でした。

japantaxi.jp

5.キッズタクシー

2週間検診と1ヶ月検診で利用しました。

24時間前に予約する必要があるので予め予定されている移動でしか使えませんが、安心面で通常のタクシーとは一線を画しています。

ドライバーは全員小児救急講習を受けており、予約時に依頼すればチャイルドシートも手配してくれます。もちろん乳幼児用のチャイルドシートも大丈夫です。

また、発進と停止に全く慣性を感じないほど静かに運転してくれるので、ドライバーの安全運転の質も普通のタクシーと比べて高いと思います。

充実したサポートですが、その分運賃はかなり高額です。

時間制料金で1時間(14.5km未満)当たり4700円とキッズチャージ料640円を加算した5340円が最低料金となります。 旅行でも行かない限りまずなさそうですが、万一時間料金制の枠を超えた分は追加でメーター制料金がかかります。

往復で1万円を超えるのでタクシー代としてはかなり高額ですが、お金で安心を買っていると思えば安いものです。

キッズタクシー

お名前.comのVPSでCentOS7上にdockerを用いてwordpressとlaravelを稼働させる 〜https対応を添えて〜

前々からdockerはキャッチアップしなきゃなと思いつつ結局触れていなかったのですが、育児休暇を取って少し自宅でPCを触れる時間ができたので勉強してみることにしました。

最近仮想通貨取引を始めて、取引アプリや自動売買bot、収支管理アプリなどいろいろ作ってみたいなと思っていたので、どうせならサーバー上で複数サービスを動かせるようにして、簡単に追加できるようにしてみます。

構成

最終的な構成はこんな感じになります。

f:id:yukineko4you:20200301032353p:plain

docker-compose.ymlは一つにまとめた方が簡単そうではあったのですが、設定ファイルが肥大化してしまうのと、新しいアプリケーションを追加するときに他のサービスを意識しなくて良い、などの理由でアプリケーションごとに分割して作成します。


ディレクトリ構成は以下のようになります。

work_directory/
├── laravel/
│   ├── docker-compose.yml
│   ├── nginx/
│   │   └── default.conf
│   └── php/
│       └── Dockerfile
├── shared/
│   └── docker-compose.yml
└── wordpress/
    ├── docker-compose.yml
    ├── nginx/
    │   └── default.conf
    └── php/
        └── Dockerfile

作業手順

docker、docker-composeのインストール

公式ドキュメントの通りに行えばOKです。
docs.docker.com

インストール

まずはインストール作業に必要となるパッケージを導入します。

$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2

次にdockerのdocker公式のリポジトリyumに登録します。

$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

最後にdockerをyumでインストールします。

$ sudo yum install -y docker-ce docker-ce-cli containerd.io

これでdockerのインストールは完了です。

続いてdocker-composeもインストールします。

docs.docker.com


以下のコマンドを実行してダウンロードしてきます。

$ sudo curl -L "https://github.com/docker/compose/releases/download/1.25.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose


実行権限を付与したら完了です。簡単ですね。

$ sudo chmod +x /usr/local/bin/docker-compose
動作確認

公式マニュアルに従って、無事にインストールできているか確認してみます。

まずはdockerを起動します。

$ sudo systemctl start docker

次に、動作確認用のhello-worldコンテナを起動します。

$ sudo docker run hello-world

hello-worldコンテナは初めて起動するので 「Unable to find image 'hello-world:latest' locally」 と表示されますが、イメージをダウンロードして処理が進んでいきます。
いろいろ表示されますが、以下の文章が表示されていれば正常に起動できています。

Hello from Docker!
This message shows that your installation appears to be working correctly.
dockerグループに作業ユーザーを登録

dockerのコマンドは実行にsudo権限が必要なのですが、コマンド実行時に毎回sudoを書くのは面倒なので対応します。

qiita.com

まずは、dockerグループが存在するかを確認します。

$ cat /etc/group | grep docker

私の環境ではdockerグループが既に作成されていたので、作業ユーザーを追加するだけで大丈夫でした。
もしグループがなければ作成します。

$ sudo groupadd docker

あとは、ユーザーをdockerグループに登録して終わりです。

$ sudo usermod -aG docker $USER

ユーザーの所属グループを表示して、リストの中にdockerが存在していれば設定完了です。
確認できたら、設定を反映させるために再ログインします。

$ groups $USER

サブドメインDNS設定

私はお名前.comでドメインを購入しているので、公式マニュアルに従ってサブドメイン登録を行います。
DNS関連機能の設定:DNSレコード設定|お名前.com Navi ガイド|ドメイン取るならお名前.com

今回は、「gitlab」と「trade-log」「wordpress」の3種類のサブドメインを登録しました。

shareネットワークの作成と所属するコンテナの起動

まず、yamlファイル作成する前に、先にshareネットワークを作成しておきます。
ネットワークを事前に作成しておかないとdocker-compose実行時にエラーになってしまいます。

$ docker network create share

次に、share/docker-compose.ymlを以下のように設定します。
shareネットワーク上では「nginx-proxy」「let's-encrypt」「MySQL」のコンテナを立ち上げるための設定を記述します。

version: "3"
services:
  nginx-proxy:
    image: jwilder/nginx-proxy:alpine
    container_name: nginx-proxy
    privileged: true
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - html:/usr/share/nginx/html
      - dhparam:/etc/nginx/dhparam
      - vhost:/etc/nginx/vhost.d
      - certs:/etc/nginx/certs:ro
      - /var/run/docker.sock:/tmp/docker.sock:ro
    restart: always

  letsencrypt:
    image: jrcs/letsencrypt-nginx-proxy-companion
    container_name: letsencrypt
    privileged: true
    depends_on:
      - "nginx-proxy"
    volumes:
      - certs:/etc/nginx/certs:rw
      - vhost:/etc/nginx/vhost.d
      - html:/usr/share/nginx/html
      - /var/run/docker.sock:/var/run/docker.sock:ro
    restart: always
    environment:
      NGINX_DOCKER_GEN_CONTAINER: "nginx-gen"
      NGINX_PROXY_CONTAINER: "nginx-proxy"

  mysql:
    image: mysql:5.7
    container_name: mysql
    command: >
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_general_ci
      --max-allowed-packet=128M
    ports:
      - "3306:3306"
    environment:
      MYSQL_ROOT_USER: root
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: mysql
    volumes:
      - ./mysql:/var/lib/mysql
    restart: always

volumes:
  certs:
  html:
  vhost:
  dhparam:

networks:
  default:
    external:
      name: shared

yamlファイルを作成したら、以下コマンドでコンテナを起動します。

$ docker-compose up -d

コマンドが正常に終了したら、コンテナがちゃんと立ち上がっているか念のため確認します。
下記コマンドを実行して、全てのコンテナのSTATUSが「UP xx seconds」 になっていれば大丈夫です。

$ docker ps

wordpressの構築

続いて、wordpress用のコンテナを起動していきます。

wordpressという名前のディレクトリを作成し、yamlファイルを以下のように記述します。

version: '3'
services:
  nginx:
    image: nginx
    external_links:
      - mysql
    container_name: "wordpress-nginx"
    ports:
      - "80"
      - "443"
    volumes:
      - ./src:/src
      - ./nginx/default.conf:/etc/nginx/conf.d/default.conf
    environment:
      VIRTUAL_HOST: blog.yukineko.work
      LETSENCRYPT_HOST: blog.yukineko.work
      LETSENCRYPT_EMAIL: yuki@blog.yukineko.work
    restart: always
  php:
    build: ./php
    container_name: "wordpress-php"
    volumes:
      - ./src:/src
      - ./php/php.ini:/usr/local/etc/php/php.ini
    restart: always

networks:
  default:
    external:
      name: shared

注意する点は、ssl対応するためにenvironmentで環境変数を設定しておくことくらいです。
VIRTUAL_HOSTLETSENCRYPT_HOSTの値に割り当てたいドメインを設定しておくことで、nginx-proxyとlet's encryptのコンテナがいい感じにhttpsで接続できるようにしてくれます。

次に、nginxの設定ファイルと、phpコンテナのDockerfileを作成します。

nginx/default.conf

server {
    listen 80;
    server_name localhost;
    root /src/;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        try_files $uri = 404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass wordpress-php:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        include       fastcgi_params;
    }
}

php/Dockerfile

FROM php:7-fpm
RUN apt-get update \
        && docker-php-ext-install pdo_mysql mysqli \
        && mkdir -p /src

WORKDIR /src

作成したら、docker-compose.ymlがあるディレクトリに移動してコンテナ群を起動します。

$ docker-compose up -d

無事コンテナが立ち上がったら、コンテナ内に入ってwordpress用の設定を行なっていきます。

まずはmysqlコンテナに入ってデータベースを作成します。

$ docker exec -it mysql bash
(docker内で実行) $ mysql -u root -p
(mysql内で実行) $ create database wordpress;

次に、wordpressディレクトリでwordpressのソースをダウンロードしてきて展開します。

$ wget https://ja.wordpress.org/latest-ja.tar.gz    
$ tar xzfv latest-ja.tar.gz > /dev/null
$ mv -R wordpress/* src/
$ rm -rf wordpress latest-ja.tar.gz

プラグインのインストール時などに権限エラーにならないよう、ディレクトリの権限を変更しておきます。

$ cd src
$ sudo chmod -R 777 wp-content

最後に、 DBやSSLの設定を行います。

$ cp src/wp-config-sample.php src/wp-config.php
$ sudo vi src/wp-config.php

今回はDB_NAMEは事前に作成した「wordpress」を、DB_USERDB_PASSWORDは何も設定していないのでひとまずrootを使用します。
rootユーザーを使い続けるのはセキュリティ的にあんまりよくないので、そのうちDBにユーザーを作って設定を変更するようにしましょう。

また、SSL関連の設定はファイル末尾に記述されている「require_once(ABSPATH . 'wp-settings.php');」より前に書かないとブラウザからアクセスした際にエラーとなってしまうので気をつけてください。

wordpress/src/wp-config.php

~~ 省略 ~~

# DB系のデータベース名やユーザー名を設定

define('DB_NAME', 'wordpress');
define('DB_USER', 'root');
define('DB_PASSWORD', 'root');
define('DB_HOST', 'mysql');

~~ 省略 ~~

if (isset($_SERVER['HTTP_X_FORWARDED_PROTO'])
  && $_SERVER['HTTP_X_FORWARDED_PROTO'] === "https") {
  $_SERVER['HTTPS'] = 'on';
}
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);

~~ 省略 ~~

ここまでできたら、VIRTUAL_HOSTで設定したドメインにブラウザでアクセスしてみます。
無事wordpressが表示されたら設定完了です。

laravel環境の構築

laravelというディレクトリを作成してyamlファイルを記述していきます。

version: '3'

services:
  laravel-nginx:
    image: nginx
    external_links:
      - mysql
    container_name: "laravel-nginx"
    ports:
      - "80"
      - "443"
    volumes:
      - ./src:/src
      - ./nginx/default.conf:/etc/nginx/conf.d/default.conf
    environment:
      VIRTUAL_HOST: trade-log.yukineko.work
      LETSENCRYPT_HOST: trade-log.yukineko.work
      LETSENCRYPT_EMAIL: mail@trade-log.yukineko.work
    restart: always
  php:
    build: ./php
    container_name: "laravel-php"
    volumes:
      - ./src:/src
    restart: always

networks:
  default:
    external:
      name: shared

wordpressの構築でも対応したように、こちらでもnginxディレクトリを作成して設定ファイルを、phpディレクトリを作成してDockerfileを設置します。

nginx/default.conf

server {
  listen 80;
  server_name localhost;
  index index.php index.html;
  root /src/public/;

  location / {
    try_files $uri $uri/ /index.php?$query_string;
  }

  location ~ \.php$ {
    try_files $uri = 404;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass laravel-php:9000;
    fastcgi_index index.php;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_param PATH_INFO $fastcgi_path_info;
  }
}

laravel/php/Dockerfile

FROM php:7.2-fpm

RUN apt-get update \
  && apt-get install -y zlib1g-dev \
  && docker-php-ext-install zip

RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \
  && php -r "if (hash_file('SHA384', 'composer-setup.php') === 'e0012edf3e80b6978849f5eff0d4b4e4c79ff1609dd1e613307e16318854d24ae64f26d17af3ef0bf7cfb710ca74755a') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" \
  && php composer-setup.php \
  && php -r "unlink('composer-setup.php');" \
  && mv composer.phar /usr/local/bin/composer

ENV COMPOSER_ALLOW_SUPERUSER 1
ENV COMPOSER_HOME /composer
ENV PATH $PATH:/composer/vendor/bin

RUN composer global require "laravel/installer"

RUN apt-get update \
  && apt-get install -y libpq-dev \
  && docker-php-ext-install pdo_mysql

RUN apt-get update \
  && apt-get install -my wget gnupg

RUN curl -sL https://deb.nodesource.com/setup_6.x | bash - \
  && apt-get update \
  && apt-get install -y nodejs

WORKDIR /src

ここまでできたら、コンテナ群を起動します。

$ docker-compose up -d

起動できたら「laravel-php」内でlaravelプロジェクトの作成を行います。

$ docker exec -it laravel-php bash
(docker内で実行) $ laravel new
(docker内で実行) $ docker-compose exec php php artisan key:generate

ここまでできたら、VIRTUAL_HOSTで設定したドメインにブラウザでアクセスしてみます。
無事laravelの画面が表示されたら設定完了です。

vpsサーバーのsshポートを変更する

不正アクセスされていた

久しぶりにvpsサーバーを覗いてみたら、何度か不正アクセスを試みようとされていたログが残っていたので、いい機会だと思って対応しました。

作業内容

こちらの記事を参考にしました。
weblabo.oscasierra.net

作業としては以下三点です。

  • sshdデーモンの設定変更
  • 新しいポートの開放
  • SELinuxで新しいポートへのsshアクセスを許可

作業にあたって気をつける点は2つあって、

  1. 新しいポートの設定を追加してから古いポートの設定を消す
  2. ssh接続した状態のコンソールを一つ用意しておく

です。

設定を間違えると(vpsの場合はwebコンソールから操作できるのでなんとか復旧はできますが)最悪sshできなくなってしまうので、注意が必要です。

詰まった点

参考にした記事内に書かれている作業のうち、port22の設定をselinuxから削除する操作が以下のエラーが出てしまって実行できませんでした。

$ sudo semanage port --delete --type ssh_port_t --proto tcp 22
ValueError: ポート tcp/22 はポリシーに定義されているため、削除できません

どうも標準設定に定義されているので消せないらしいです。

firewallの設定でport22は許可していないためセキュリティ面では特に問題はなさそうですし、ログ的な意味も込めて残しておいてもいいのかなとは思います。
(まぁ、sshのportが22なのは周知の事実ではありますが)

BitCoinでFXトレードして日銭を稼ぐ

最近、bitcoinデイトレードして少しづつ日銭を稼げないか試してみています。

1日1時間くらい、チャートと睨めっこしながら売ったり買ったりしてみていて、今のところの収益はこんな感じ。

大損してますT ^ T

自分の投資スタンスを守れなくて損切りをしっかりできなかった結果なので、典型的な失敗例ですね…

少しづつ取り戻して行きたいなーと思います。

UdemyでGolangの勉強を始めてみる

自分で調べて勉強ってのがなかなかできなくなってしまったので、空き時間でさくっと学べないかなと思ってUdemyでこれ買ってみました。

初回登録特典で、1900円くらいで購入できたのでとてもお得でした。

まだgolangの基礎までしかやってないけれど、結構基礎の基礎からしっかり解説してくれている感じでこの先の期待も高まっています。

ちょうどBitFlyerのアカウントも持っているので、BitCoinの運用も始めてみようかしら。

現役シリコンバレーエンジニアが教えるGo入門 + 応用でビットコインのシストレFintechアプリの開発