資源の読み込みに... 荷物...

3.4 視覚プログラミングの早い開始

作者: リン・ハーン優しさ作成日: 2019-04-23 15:00:14, 更新日: 2019-04-27 11:54:05

概要

多くの主観的なトレーダーは定量的な取引に興味があり,最初は自信を持って始めます. 基本的な文法,データ操作,データ構造,伝統的なプログラミング言語の論理制御,そして長く複雑なコードを学んだ後,彼らは混乱し始めます. だからこそ,視覚プログラミング言語は始めにより適しています.

完全な戦略

このセクションの重要なポイントを迅速に理解するために,FMZ Quantの視覚プログラミングを導入する前に,戦略の論理が何であるかを見極めましょう.そして,このセクションの名詞概念を予備的に理解しましょう.50期移動平均値よりも大きいとき,ロングポジションを開くために最も簡単な閉じる価格を使用し,50期移動平均値よりも低いとき,ショートポジションを開くために最も簡単な閉じる価格を使用します.

  • オープン・ロング・ポジション:現在,ポジションがない場合,閉じる価格が50期間の移動平均値より高い場合.

  • オープニング・ショートポジション: 現時点ではポジションがない場合,閉じる価格は50期間の移動平均値を下回る.

  • ロングポジションを閉じる:現在ロングポジションを保持し,閉じる価格は50期間の移動平均値を下回っている場合.

  • 閉じるショートポジション:現在ショートポジションを保持し,閉じる価格が50期間の移動平均値よりも高い場合.

視覚プログラミングで上記の戦略論理を書くと,

img

上記のように,設計プロセスの全体は:市場品種を設定し,Kラインの配列を取得し,前回のKラインの50期間の平均価格を取得し,前回のKラインの閉場価格を取得し,保有ポジションの配列を取得し,保有ポジションの状態を決定し,閉場価格が移動平均値よりも大きいか小さいかを判断し,最後に,開場または閉場ポジションを実行します.

ここでは,すべてのプログラミング言語にとって重要なデータ構造の1つであるarrayの概念に注意を払う必要があります.配列は,一連の値を保持するコンテナのようなものです.例えば:K線配列を取得するAPIを呼び出し,結果は:

//This is a K-line array. There are 3 data in it: the data of the one before pervious K line, the data of the pervious K line, the data of the current K line, and assigned these values to the "arr" variable.

arr = [{"Time":1540137600000,"Open":4013,"High":4116,"Low":4013,"Close":4085,"Volume":4124040}, 
{"Time":1540224000000,"Open":4087,"High":4106,"Low":4068,"Close":4076,"Volume":3252216},
{Time":1540310400000,"Open":4064,"High":4123,"Low":4050,"Close":4120,"Volume":3642856}]

上記のコードは,合計3つのデータからなるK線配列である. 3つのデータがあります:前方のK線のデータ,前方のK線のデータ,現在のK線のデータ,これらの値を変数arrに割り当てます. この配列の最後の値 (現在のK線データ) を得たい場合は,次のように書きます (行4と5を参照してください):

//This is a K-line array. There are 3 data in it: the data of the one before pervious K line, the data of the pervious K line, the data of the current K line, and assigned these values to the "arr" variable.

arr = [{"Time":1540137600000,"Open":4013,"High":4116,"Low":4013,"Close":4085,"Volume":4124040}, 
{"Time":1540224000000,"Open":4087,"High":4106,"Low":4068,"Close":4076,"Volume":3252216},
{Time":1540310400000,"Open":4064,"High":4123,"Low":4050,"Close":4120,"Volume":3642856}]

k0_1 = arr[2]; // get the data of current k line, this is the first method
k0_2 = arr[arr.length - 1]; // get the data of current k line, this is the second method
k1 = arr[arr.length - 2]; // get the data of pervious k line

2番目 (5行目) の方法を使うべきです. なぜなら,現実には数百のK線データがあり,新しいK線が絶えず増加しているからです. まず配列の長さを求めます. arr.lengthは配列の長さを求め,次に最新のK線データである1を引きます.

{}と英語の名前でこれらのデータがそれぞれ意味に対応していることに気付くかもしれません:時間,開通価格,最高価格,最低価格,閉店価格,取引量.前方のK線の閉店価格を得たい場合は,.を追加し,必要な値に従ってください.下記コードの行8~10を参照してください.

//This is a K-line array. There are 3 data in it: the data of the one before pervious K line, the data of the pervious K line, the data of the current K line, and assigned these values to the "arr" variable.

arr = [{"Time":1540137600000,"Open":4013,"High":4116,"Low":4013,"Close":4085,"Volume":4124040}, 
{"Time":1540224000000,"Open":4087,"High":4106,"Low":4068,"Close":4076,"Volume":3252216},
{Time":1540310400000,"Open":4064,"High":4123,"Low":4050,"Close":4120,"Volume":3642856}]

k0_1 = arr[2]; // get the data of current k line, this is the first method
k0_2 = arr[arr.length - 1]; // get the data of current k line, this is the second method
k1 = arr[arr.length - 2]; // get the data of pervious k line

k1.Close; // get the pervious k line closing price
k2.Time; // get the pervious k line time
k1.Volume; // get the pervious k line trading volume

なぜ視覚プログラミング言語を使うのか?

伝統的なプログラミングを感じるために,下記のように,Javaプログラミング言語で出力 hello, worldプログラムを書こう.

public class HelloWorld {
    public static void main(string[] ages) {
        system.out.println("hello world!");
    }
}

文字列プログラムで,コードの5行が必要です.私はほとんどの初心者が,英語の単語"hello, world!"を括弧でしか知らないと考えています.そして,他の者は,ちょうど地獄のように混乱しています.したがって,視覺プログラミングを出発点として使用するのが良いです.

視覚プログラミングとは?

視覚プログラミングは長い間存在してきました. この種の"What you see is what you get"プログラミングアイデアは,様々な制御モジュールで装備されています. ただドラッグ&ドロップで,コードロジックを構築し,取引戦略のデザインを完了できます. プロセスはビルディングブロックのようなものです.

img

上記のように,同じプログラム,視覚プログラミングには"行のコード"のみが必要である.これはプログラミングの限界を大幅に削減し,特にプログラミングについて何も知らない人には,これは優れた操作体験です.

視覚プログラミング言語の特徴は?

Blockly (このビジュアルプログラミングツールの名前) はプログラミングのおもちゃではなく,オペレーティングシステムの仮面エディタではなく,編集者の種類のようなものです. プログラミングの多くの基本的な要素をサポートします. 例えば:変数,関数,配列,カスタムブロックを拡張しやすく,複雑なプログラミングタスクを完了するために使用できます. Unix哲学に沿って設計されています: Do one thing.

FMZ Quantの視覚プログラミングツールBlocklyは,Googleによって公開された.マサチューセッツ大学が立ち上げたScratchのデザインに類似し,プログラミングのための実際のゼロの値 (以下参照).

img

FMZ Quant ビジュアル プログラミング インターフェイスには,何百もの一般的な取引 モジュールが組み込まれています. さらに多くの取引 モジュールは,トレーダーの新しいアイデアと新しいアプリケーションをサポートするために,開発者によって共同で開発および保守されます.

シンタックスがシンプルで,パフォーマンスが損なわれないが,ほぼすべての単純な定量的な取引戦略開発を満足させることができる.機能や速度に関係なく,PythonやJavaScriptなどの通常のプログラミング言語と同じくらい良い.将来,論理的に複雑な金融アプリケーションをサポートする.

使用方法

img img

"こんにちは 世界プログラム"

img img

走って"こんにちは 世界"を印刷

img

結論から言うと

完全なビジュアルプログラミング戦略の始まりから,ビジュアルプログラミング言語の導入と特徴まで,我々はあなたにこのツールをFMZ Quantプラットフォームでどのように使用するか示し",こんにちは世界"の例を書きました. しかし,私たちは,量的な取引へのステップストーンとして,現在FMZ Quantプラットフォームに限られたAPIインターフェースしか持っていないことをすべてに思い出させる必要があります.量的な取引のために,あなたの戦略の論理を整理するのに役立つツールとしてそれを扱うほうが良いです.

次のセクションの通知

ビジュアルプログラミングは,高度なプログラミング言語の基礎と違いはなく,いくつかの場所でさえ普遍的です.ビジュアルプログラミングを学ぶことは,高度なプログラミングを学ぶための一歩です.次のセクションでは,FMZ Quantプラットフォームで一般的に使用される定量取引モジュールを書く方法や,完全な日中取引戦略を開発する方法を含む,ビジュアルプログラミングの高度な学習を深めます.

放課後 運動

  1. FMZ量子プラットフォームの視覚プログラミングインターフェースで APIを使用し,その意味を理解します

  2. ログに出力します. このビデオでは,


もっと