自作DSL(Esgrsdnl)で株シストレ

株シストレ用の自作DSLの概要

自作シストレツールにて5年以上日本株のシストレを実施していましたが今はやってません

Esgrsdnl と名付けた自作DSLで戦略(ルール)を記述し、コンパイルすることでバックテスト及びシグナル出しが実行できるシステムが動いているので、その概要をこちらに纏めていくつもりでしたが頓挫してます

include機能とC言語で直接記述できる機能を追加

include機能とC言語で直接記述できる機能を追加してます

digraph graphname {
	graph [rankdir = TB];
    subgraph cluster0 {
        label="Compile";
         b0 [label="car_m4(sed (include))" shape="rectangle"]
         b [label="car_m4(sed (here doc))" shape="rectangle"]
         c0 [label="m4 macro set" shape="box3d"]
         cc [label="tmpinc.m4"]
         c [label="tmp.m4"]
        
         d [label="car_m4(m4)" shape="rectangle"]
         e [label="mtASM src"]
         b -> c -> d;
         c0 -> d -> e;
         b0 -> cc ->b;
         {rank = same;c0;d;}
     }
    subgraph cluster1 {
         label="Assemble";
         e0 [label="awk src1" shape="box3d"]
         f [label="car_mt(awk)" shape="rectangle"]
         f0 [label="C src"]
         ff [label="tmp C src"]
         f1 [label="template C src" shape="box3d"]
         g [label="car_mt(gcc)" shape="rectangle"]
         
         f1 -> g;
         ff ->g;
         e0 -> f;
        
         f -> f0 -> g;
         {rank = same; e0;f;} 
     }

     a [label="Esgrsdnl src" shape="note"];
     a0 [label="Esgrsdnl include src" shape="note"];
     a1 [label="mtASM include src" shape="note"];
     h [label="exe file" shape="Msquare"]
     i [label="bet file"]
     b -> ff;
     f ->i;
     a -> b0;
     a0 -> b0;
     a1 -> d;
     e -> f;
     g -> h;
     {rank = same; i;h;}
 }

こんな流れ

 

f:id:sucar:20200716210855p:plain

 

abenomix.hatenablog.com

abenomix.hatenablog.com