まぐとろぐ

書き置き場

bitFlyer lightning

GWにbitbankでXRPをガチホした結果大損してから手を引いてから全くと言って良いほど仮想通貨に触れてなかった。

というのも取引所を変えようとbitFlyerに口座を作ろうと本人確認を何度も送ったが、尽くNGが返ってきたのである。で、なぜこのタイミングで再開したのか。理由は察しの通りやっと承諾されたからだ。

とりあえずはbitbankに残っているBTCと新たに入金した資金で適当に取引でもしようと思い、1万円を入金し、総額13,000円から始めることにした。

 

1週間目:トレードルールを設け、順調に取引をする。この週は、レンジ相場だったが変化率が高く、とても良いトレードができたと思う。

+8000円で証拠金21000円に

 

2週間目:1週目と同じく順調にトレードできたがZaifのハッキングリリースの件でその波紋がbitFlyerにもやって来た。

当時716kでロングしていたがリリースにより740k/JPYが677k/JPYに、深夜3時の出来事だったので眠気が一気に飛んだ。追証どころかロスカットスレスレまで来たがまだ損切りできず4時のメンテナンスに突入。この時既に9,000円程の含み損を持っていた。

RSIが10%を割っていたのでリバウンドを信じてメンテ後も待っていた。

ここで奇跡のリバウンド。エントリーした値段を上回る。結果として勝てたトレードだったが、損切りできない点がとても反省するべきところだと思う。(この後秒スキャで焦り逆にエントリーし、1000円ほど負けた)

 

3週間目〜現在

ロット数に注意しつつ慎重に取引してる。最近は変化率も低く、テクニカルト分析と投資家心理を中心に研究しつつ相場に殴り殴られの毎日を送っている。

 

【FE】二進数の補数について

分からないという人の為に、備忘録も兼ねて

 

まず二進数の補数は1の補数と2の補数が存在します

まず0110という二進数の数字があったとします。

4桁二進数の最大値は1111ですが、1111-0110=1001より、1001を足したら0110は最大値1111になります。

また5桁の二進数になる為(桁上がり)には4桁二進数の最大値に1を足せばよいので前述より1001+1=1010を0110に足した時に5桁の10000になります。

この1001、1010をそれぞれ1の補数、2の補数と呼びます。

つまりN進数において、N-1の補数がその数値の桁における最大値を取るために補う数、Nの補数がその数値が次の桁になる為に補う数です。

これは8進数でも10進数でも同様に言えることです。

 

では何故2の補数が引き算を担うことができるのか

00000110とそれに対する2の補数11111010を使って説明します。

これら2数を足すと桁上がりし00000110+11111010=100000000

となりますが8bitからあふれ出た9桁目の1を無視すると00000000となります。

つまり(ある数値)+(それに対する2の補数)=0となることが分かります。

という事は、2の補数は8bit環境下において元の数値にマイナスの記号を付けた値と同値、なのでN+(-N)=0という事になり、足し算のみで計算が可能になります。

この手法を用いて足し算しかできないコンピュータは引き算をしていたんですね~

Python学習(2)環境開発

早速ですがエディタはAtomを使用していきます。

f:id:X86:20180322234810p:plain

ダウンロード後、install Packagesから日本語表示のパッケージをダウンロード

f:id:X86:20180322234927p:plain

日本語に変わりました。

また実行用のパッケージもダウンロード

そしてコードを保存するためのプロジェクトフォルダを作成し、追加します

f:id:X86:20180322235844p:plain

Pythonのコードファイルの拡張子は.pyだそうで、

f:id:X86:20180323001937p:plain

適当にコーディングして.pyで保存→packageからrun scriptで実行

下に実行結果が表示されます。成功ですね。

 

次回はIDLEからスクリプトを実行したいと思います

 

 

 

 

Python学習(1)

備忘録も兼ねて

www.python.org

ここでPython3.6をインストールしました。

途中パスを追加し無事インストール終了

早速REPL(対話実行モード)を使ってみました。今までコンパイラ型のC言語しか扱ってこなかったのでcmd単体で使用したことが無くかなり新鮮でした

ただcmdだとファイルのアドレスが表示されてしまい、SNS他に載せた時に個人情報がバレる危険性を孕んでいるため使い勝手が同じのPowerShell(Pythonをインストールした時に同封されている)を使う事にしましたw

 

REPLの起動方法

1,cmdを使用する場合 

winキー+R→ダイアログにcmdと入力→Python3と入力

(Python3のコマンドを使用できないという人はPython.exeを同じファイル内にコピペして名前をPython3.exeに変更。これで有効になるはず)

 

2,PowerShellを使用する場合

IDLEでファイル検索

 

OSXは知りませんwwwググってください

 

 

 

受験を終えてこれからについて

厄介な受験勉強が終わって(あまりしてなかったけど)やっと自由に消費できる時間が生まれました。

浪人期間中に大層な夢を描いてた割に後期試験を終えてからはゲーム三昧、という事だけは避けたいので自戒を兼ねてここで一年の目標でも立てたいと思います。

1,Pythonの学習

何だかんだでC++と同じく途中で挫折した言語(というか学習中に受験勉強にシフトした為充てる時間が無くなった)

将来的に確実に必要とされる言語なんで出来るところまで勉強します。

 

3,Cの復習、C++の勉強

こちらは編入試験で必要なので、試験を意識しながら勉強します。過去問で8割は欲しい。

 

4,TOEICのおべんつよ

こちらも編入試験の為。極力毎月受けたいと思います。出来れば今年中に720取って来年は他の科目に集中したい。

 

5,微積線形代数

もしTOEICが早い段階で720に達したらこちらを攻めます。仮に達してなくても授業には追いついていけるレベルは保っておきたい。

 

6,音ゲー

ボルテは金枠暴龍天 弐寺はSP十段

身を滅ぼさない程度に音ゲー頑張ります。

 

7,自炊

出来なければ金欠で死ぬ

 

ソート2

4.マージソート

数列を分割していき最終的に1つの要素まで分割した後、2つの要素同士を併合させていきソートするアルゴリズム。 

f:id:X86:20170413090655p:image

何せ計算速度が高速であり、最悪計算速度はクイックソートに勝る(アベレージでは遅れを取るが)

膨大な乱数を取り扱う時に有用である。

 

5.クイックソート

名前の通り最強最速のソート

データの比較と交換回数が他に比べて少なく、1回のループが少ない手順で済む。

以下アルゴリズム分析

1.何らかの方法で、軸要素を生成

(一般的にはランダムで抽出した要素の中間値を軸要素とする)

2.軸要素を2分割するしきい値として利用

3.分割された数列の先頭から軸要素より高い要素を検出し、それぞれを交換する。

4.括られた数列の中で同様の処理を繰り返す。

 

これらを再帰的に繰り返す事で降順に整列される。

 

ソート1

「ソート(整列)なんて片っ端から昇順か降順でやれば良いじゃん?」って思っている方、これはナンセンス。情報系のデベロッパたるもの常にアルゴリズムを意識しなくてはなりません。

ここでは基本何たら試験に出題されるソートのアルゴリズムを何個か紹介していきます。

 

1.バブルソート

これは隣合った数字と自分の数字の大小を比較し整列するアルゴリズム

1回のループで数字が1つ定まる。

最悪計算時間が長いが単純な仕組み、また並列演算との親和性が高いため実装が楽。

 

2.選択ソート

これは配列から最小値を取る要素をサーチしそれを配列の先頭に置く、以後この繰り返しを行うアルゴリズムである。また、初めの最小値には配列の先頭値を振り込んでおく。

バブルソートと違い、全体から要素を抽出して並び替えていくものである。

選択対象の値をインデックスで保持し、その値と比較しながら洗っていくので各ループの最大交換数は1回であるのでバブルソートより高速。

 

3.挿入ソート

ソート済みのインデックスに新たな要素を追加するアルゴリズム

番兵等で効率化も図れるが基本何たら試験の管轄外なので割愛

ソート済みの情報量が少ないほど高速なのでクイックソートの仕上げに使われることがよくある。

アルゴリズムを分析すると、クイックソートで分割した整列を挿入ソートで組み立てる。簡単やな

 

そろそろ面倒になってきたから4からは次の記事で