トレーディング戦略を構築するための視覚化モジュール - 詳細
-
ロジックモジュールタイプ
-
1. 条件付きモジュール
このモジュールは複合条件判断に使用され、モジュールは複数の条件分岐を追加できます。
条件分岐を追加するには、小さな「歯車」アイコンをクリックします。条件付きモジュールの使用例は、次のモジュールと組み合わせてテストします。
-
2. 数値比較モジュール
このモジュールは、2 つの値を比較し (このモジュールと値モジュールを組み合わせて式モジュールにすることもできます)、ブール値を返すために使用されます。
このモジュールは、両側の値が「より大きい」、「より小さい」、「以上」、「以下」、「等しくない」、「等しい」かどうかを判断できます。 。
ドロップダウン ボックス オプションの両側にあるほぞ (へこみ) の位置は、数値モジュールと変数モジュールを使用して埋め込むことができます (モジュールが数値を返す限り)。「条件モジュール」と「値比較モジュール」を組み合わせて価値判断の例を作成する例:

ご覧のとおり、この例では条件を判断する際に合計 3 つの分岐があります。JavaScript 戦略における if ステートメントの使用と同じです。
function main () { var a = 1 var b = 2 if (a > b) { Log("a > b") } else if (a < b) { Log("a < b") } else { Log("a == b") } } -
3. 論理OR、論理ANDモジュール
このモジュールは、「OR演算」または「AND演算」を実行するために使用されます。演算に関与するモジュール(ブール値を返すモジュールまたは数値を返すモジュール)は、テノン(ほぞ)の位置に埋め込まれます。モジュールの中央にあるドロップダウン ボックスのオプションの両側。
このモジュールを具体的にテストする前に、まずブール値「true」/「false」(ドロップダウンボックスを使用して設定)を表すモジュール、ブール値「not」を表すモジュール、および空の値を表します。
- 空のモジュールは
null変数が null かどうかを比較するために使用される値。 - ブール値のTrue/Falseモジュールは
true/false特定のモジュールまたはモジュールの組み合わせによって返されるブール値を決定するために使用される値。 - ブール「not」モジュールは、
!ブール NOT 演算を実行するために使用されます。
テスト例:
「論理 OR、論理 AND」モジュールもネストできることがわかります。
ネストされたモジュールのスプライシングの例:
同等の JavaScript ポリシー コード:
function main () { var a = 1 var b = 2 Log((true && !false) || (a==b)) Log(null) }!false は false ではない、つまり true 値です。論理式: (true && !false): 2 つの true 値が演算され、結果は true になります。
a==b は明らかに等しくないので、false です。
真の値と偽の値が論理的に OR され、真の値が生成されます。 - 空のモジュールは
-
4. 三項演算モジュール
このモジュールはアサーション モジュールとも呼ばれ、その機能は一部のプログラミング言語の三項演算子に似ています。
このモジュールはネストすることもできます。三項演算モジュールの本質も条件判断ロジックであり、その機能は条件モジュールの機能に似ています。
上記の条件モジュール チュートリアルを、三項演算モジュールを使用してリファクタリングします。
次に例を示します。以下は JavaScript で記述されたポリシー コードです。
function main () { var a = 1 var b = 2 Log(a < b ? b : (a > b ? a : "相等")) }ご興味があれば、aとbの値を調整してバックテストを実行してみてください。
-
-
数学モジュールタイプ
これまで説明した多くの例では、多かれ少なかれいくつかの数学モジュールを使用しました。
次に、まだ学習していない数学モジュールをいくつか説明します。-
1. 三角関数モジュール
このモジュールのほぞ(テノン)位置に入力されるパラメータは、ラジアン値ではなく角度値であることに注意してください。
-
2. 円周率数値モジュール
-
3. 特定の値範囲内の乱数モジュール
このモジュールは、設定された数値範囲内で乱数を取得します。モジュールのテノン(凹)位置は、数値を直接入力することも、ランダム範囲の開始値と終了値として変数を使用することもできます。
JavaScript 戦略コードのように:
function main () { var a = 1 var b = 9 Log(_N(a + Math.random() * (b - a), 0)) } -
4. 制限値範囲モジュール
このモジュールは、最初のほぞ (テノン) 位置に入力された変数を、2 番目と 3 番目のほぞ (テノン) 位置に設定された範囲に制限します。
値が範囲の最大値より大きい場合、モジュールは範囲の最大値を返します。値が範囲の最小値より小さい場合、モジュールは最小値を返します。
この範囲内であれば、最初のほぞ(凹)位置の値を取る変数自体の値が返されます。JavaScript 戦略コードのように:
function main () { var a = 9 Log(Math.min(Math.max(2, a), 5)) } -
5. 剰余モジュール
このモジュールは、ほぞ(溝)位置に設定された数値モジュールに対して数値剰余演算を実行します。
-
6. リスト操作モジュール
このモジュールはリスト モジュールに対して動作します (リスト内の要素の合計を計算するなど)。
JavaScript 戦略コードのように:
function sum (arr) { var ret = 0 for (var i in arr) { ret += arr[i] } return ret } function main () { var b = 2 var a = 1 Log(sum([b,a,b,a,a])) }
-
視覚化の例の戦略:
- https://www.fmz.cn/strategy/121404
- https://www.fmz.cn/strategy/129895
- https://www.fmz.cn/strategy/123904
- https://www.fmz.cn/strategy/122318
その他の戦略については、https://www.fmz.cn/square をご覧ください。
このシリーズの他の記事
退屈なプログラミングは、ビルディングブロックを使用すると簡単に完了できます。ぜひ試してみてください。とても面白いですよ!
- 1



















