読者です 読者をやめる 読者になる 読者になる

プログラミングでアイデアを具現化したい

あらゆるものを具現化するためにプログラミングを始めました。主にC#

トレードステーションをインストールしてみた

4月になりました。
職場に入社してきた優秀な新人君を、数年後を見据え優しく教育担当をしています。
当然、いつでも時間的なフリーダムはあきらめていませんが、保険も打ちます。

為替の自動売買は、一旦いままで構築してきたものは捨てて、
また1から再構築しています。マクロ的な視点から優位性を見出し、
これ明らかに理論上勝てるだろw みたいなロジックを思いついても
大体うまくいかないのでモチベーションが上がりません。

というか、本気で寝る間を惜しんでトライアンドエラーやってるかというと、
そうではないです・・ごめんなさい(自分に誤ってます)
客観的にみても将来掛かってるのに随分と色々言い訳してサボってたなと反省してます。
なので、最近はまた睡眠時間を削ってコーディングしてたりしてます。

で、為替で勝てないから株なら勝てるかも・・みたいな甘~い考えは持ってませんが、
なんとなくネットサーフィン(今はそんな言い方しないのだろうか)してたら
トレードステーションにたどり着いた。毎朝、モーサテのCM枠で流れてるやつですね。
全然興味なかったんですが、よく見てみると自動売買ができるらしい。

言語はEasyLanguageというオリジナル言語らしい。
時間をみて、こっちもなんか作ってみようと思う。

家族や友人の年齢を覚えておく為のアプリ

最近自分の家族が何歳なのか、自分がそもそも何歳なのかアバウトになってきまして。
なのでこんなアプリを作ってみました。

f:id:tos5511:20170314231759p:plain
実行結果
f:id:tos5511:20170314232744p:plain

List<T>とラムダ式の組み合わせ

    class Program {
        static void Main(string[] args) {
            var list = new List<string> {
                "USD/JPY","EUR/JPY","EUR/USD",
                "GBP/JPY","GBP/USD","AUD/JPY",
                "AUD/USD","NZD/JPY","NZD/USD"
            };

            //Exists 引数で指定した条件に一致する要素の存在をtrue/falseで返す
            var exists = list.Exists(str => str[0] == 'N');
            Console.WriteLine(exists);

            //Find 引数で指定した条件と一致する要素を検索し、最初に見つかった要素を返す
            var find = list.Find(str => str == "GBP/JPY");
            Console.WriteLine(find);

            //FindIndex 見つかったインデックスを返す
            var findIndex = list.FindIndex(str => str == "GBP/JPY");
            Console.WriteLine(findIndex);

            //FindAll 引数で指定した条件すべて取得します
            var ccys = list.FindAll(str => str[4] == 'U');
            foreach(var ccy in ccys)
                Console.WriteLine(ccy);

            //RemoveAll 引数で指定した条件に一致する要素をリストから削除します。戻り値は削除した数
            var removeAll = list.RemoveAll(str => str[4] == 'U');
            Console.WriteLine(removeAll); //2
            foreach (var ccy in list)
                Console.WriteLine(ccy);
            Console.WriteLine();

            //ForEach リストの各要素に指定した処理を実行
            list.ForEach(str => Console.WriteLine(str));
            Console.WriteLine();

            //ConvertAll リスト内の要素を変換する
            var lowerList = list.ConvertAll(str => str.ToLower());
            lowerList.ForEach(str => Console.WriteLine(str));
        }
    }

実行結果
f:id:tos5511:20170312021500p:plain


参考書はこちらを使用しています。

実戦で役立つ Cプログラミングのイディオム/定石&パターン