"トレーディングロボットのTORの書き方 "についての記事作成 - ページ 6

 
Aleksey Vyazmikin:

そこで、いろいろなディテールが出てきて、失敗することもあります。そのため、EAを実際の相場上でテストすることが不可欠です。

このことを考慮し、妥当な時間枠に合意すればよいのです。


技術的課題は、その遂行を第三者が客観的に確認できるものであること。そうでなければ、学校の作文「夏について」の課題である。


良さについて

 
Maxim Kuznetsov:


技術的課題とは、第三者が客観的に検証できるもの。そうでなければ、学校の作文の課題 "夏について "です。

エッセイにA評価。 素晴らしい想像力。

しかし、何か話が飛んでしまいましたね。私が言いたいのは、テストは実データに基づくものでなければならず、顧客はそれを意識し、請負業者は申告した納期を考慮しなければならない、ということです。

 
Aleksey Vyazmikin:

エッセイに5点!素晴らしい想像力ですね。

しかし、話が飛躍していますね。私は、実データでのテストが必須であり、顧客はそのことを認識すべきであり、請負業者は記載された納期を考慮すべきであると言っているのです。

あなたがEAを書いたと します(コードと大部分のデバッグも済んでいます)。次の目的である、クライアントの実アカウントでフクロウを確認するためには、ある程度の時間と同じ実アカウントが必要です。

全員でどのようにタスクを確認するのか?

 
Maxim Kuznetsov:

あなたがEAを書いたと します(コードと大部分のデバッグまで)。実際のアカウントでフクロウをチェックするには、お客様、お客様、仲裁者が同じ実際のアカウントで時間をかけてチェックする必要があります。

タスクが達成されたかどうか、皆さんはどのように確認するのでしょうか?

注文が正しいかどうかわからない場合は、端末のサービスログを利用し、注文処理ロジックを確認することができます。

何が問題なのか?はい、実際にテスターで動いているEAが実際のアカウントで正しく動作していないのに遭遇しました。そう、EAはそうあるべきだと主張し、私がコードの一部を取り出してEAの鼻を突くまで仲裁者は黙っていたのです。契約者の無能さに私の時間と神経を浪費したのだから、契約者が報酬を待つのは問題ないだろう。

それとも私が何か理解していないのでしょうか。実質的な議論のために、あなたの主張を詳しく説明してください。

 
Maxim Kuznetsov:

これは何のためにあるのでしょうか?

要求仕様書は、契約者(または特別な訓練を受けた第三者コンサルタント)が作成します。そ して、検証の方法論も含まれています。
顧客にとって不必要な要件は、彼はすべてのプログラミングを認識する義務はありません。

お客様は、(ビデオやスカイプではなく、文書で)言うべきです。

- 私は以下のインジケーターとスクリプトを使用しています。

- 私は以下のルールにこだわっています。

-1週間、1ヶ月、1 年間、多かれ少なかれ公式のデモで取引したことがある この程度です。そして、こんな別の時代にも。すべてオプションでセントアカウントにコピーしてバックアップ。

- 自動化する必要がある

開発者はTT(両者が理解できる形)を準備し、合意し、フクロウを書き、テスターの すべてが多かれ少なかれ言及した 期間に収束すれば、Expert Advisorは完成します。

バリエーション - デモ/センターリアル/等で確認すべき、既にフリーランスの限界を超えている

私はいろいろな理由でフリーランスとは無縁ですが、TORを書くにはお金がかかるし、よくあることです。そして、私が思うに、フリーランスの平均チェックは50ドルです。Bこの悲惨な金額から、TORを執筆した請負業者に支払う費用を捻出する必要があるのか?それともタダで書いてくれるのでしょうか?

 

記事にもう少し追加しました-「参照条件の内容」セクションを追加し、自分で作成できない場合の参照条件の入手先を記述しました

Что нужно для заказа торгового робота

トレーディングロボットは、それに埋め込まれたアルゴリズムを実行するプログラムです。アルゴリズムは、イベントが発生した場合に実行する必要のある一連のアクションです。たとえば、アルゴリズム取引で最も一般的なタスクは、「新しいバー」イベントの定義です。このイベントの出現時に、ロボットは取引信号の出現をチェックし、それらに対して必要なアクションを実行します。

しかし、取引ロボットを作成または注文する前に、取引を行うための好ましい瞬間を決定するための明確なルールを備えた取引システムを用意する必要があります。最も複雑なトレーディングシステムの開発は、常に基本的なことから始まります。つまり、売買のためのトレーディングシグナルの開発から始まります。次に、さまざまなフォローアップとクロージングのオプションを追加できます。

あなたはあなたの取引戦略を開発するために取引端末の監視の後ろに何年も費やす必要はありません。現在、インターネットや本で何百もの実績のあるアイデアが公開されており、試すことができます。また、プログラミングスキルに完全に自信がない場合でも、これは障害にはなりません。フリーランスサービスは、適切な開発者を見つけ、行われた作業に対して安全に支払うのに役立ちます。

ただし、アルゴリズム取引の魅力的な要素に飛び込む前に、このトピックに関する有用な記事を読むことをお勧めします。

良い委託条件を持つことが重要なのはなぜですか?

エキスパートアドバイザーを注文または開発するときは、その技術要件を策定する必要があります。解決する必要のあるタスク、操作する条件、緊急事態で発生すること、必要な制御の種類などです。トレーディングロボットはプログラムであり、基礎となるロジックに従って明確に機能する必要があります。ただし、必要なアクションアルゴリズムをプログラミングする前に、それも明確に説明する必要があります。

取引戦略の説明は、委託条件の形式で発行する必要があります。そして、それがより良く、より明確になるほど、顧客としてのあなたとあなたの注文の執行者としてのプログラマーとの間の誤解が少なくなります。

委託条件で最も重要なことは、正式な明確な取引ルールの存在です。専門家を注文するつもりはないが、自分で書きたい場合でも、自分でこれらのルールを作成することから始めます。参照条件を作成し、エキスパートアドバイザーのテスト/最適化に関する項目を必ず含めてください。また、仮説を追加して、取引戦略の品質をテストします。最適なパラメーターを選択するためにどの基準を使用しますか。なぜこれらの基準が重要であると考えるのですか。

取引ロボットを作成するためのすべての手順を参照条件に含めます。これは、実行者だけでなく、数週間、数か月、または数年後のアルゴリズムの本質を理解するのに役立ちます。アルゴリズム取引は趣味ではなく、同じ単調な調査パスであり、その間に通過した段階を文書化する必要があることを忘れないでください。私にとっては、あなたのためにロボットを書くプログラマー以上のものです。

物事を整理するのが好きな官僚のスキルを開発します。あなたは間違いなくこれが必要になります。はい、プログラマーは明確な注文が大好きです。

参照の観点から何をすべきか

貿易のアイデア

取引戦略の本質を簡単に紹介するには、テクニカルオーダーの最初の段落を、そこに含まれるアイデア/仮説に当ててください。例:「価格が抵抗レベルに2回近づき、毎回ロールバックする場合、原則として3回目はそれを突破します。」ここでは、プロットされた抵抗/サポートライン、重ねられたインジケーター、および状況を示す署名を含むチャートを添付できます。アイデアを説明するために、特定の数値や計算アルゴリズムを指定する必要はありません。この段階では、次のことをどのように決定するかを説明する必要はありません。

  • 抵抗レベル、
  • レベルの内訳、
  • 「一般的に」の概念。

初期段階での小さなレベルの抽象化により、技術的な詳細ではなく、アイデア自体に集中することができます。この方法では、その後、さらに多くの種類のトレーディング戦略を生成できます。1つの戦略ブロックを別の戦略ブロックに、1つのインジケーターを別のインジケーターに置き換え、フィルターを追加または置換するだけです。同時に、アイデア自体は変更されず、トレーディングロボットの入力パラメーターの名前と値のみが変更されます。

さらに、アイデアの説明で使用されるすべての用語の説明を提供する必要があります。トレンドが戦略にとって重要である場合は、それがどのように決定されるかを明確に説明します。どの指標に基づいて、トレンドの方向と強さがどのように決定されるかを示します。これらの定義の数値特性は、エキスパートアドバイザーの入力パラメーターの基礎を形成し、戦略テスターで最適化するのはそれらです。それで、あなたの委託条件の最初のセクションに名前を付けてください-貿易の考え。

条項

用語を説明するために、参照条件-用語の別のセクションを作成することをお勧めします。その中で、用語ごとに個別の段落が書かれており、用語自体は、取引戦略の重要な概念を強調するために太字で書かれています。必要に応じて、用語の説明にイラストを追加します。このイラストには、理解するために最も必要なものを示す必要があります。

トレーディングシグナル

次に、3番目に重要なセクションであるTrading Signalsをコンパイルする準備が整いました。このセクションでは、どのような条件、市場の状況、およびインジケーターの読み取り値の下で購入が発生するかを説明しています。買いシグナルを生成するために必要な各条件を説明するには、シグナルの外観が依存する数値パラメーターを選択する必要があります。たとえば、 移動平均の場合、これは平滑化のタイプと期間になります。これらの重要なパラメーターは、将来のExpertAdvisorの入力パラメーターに組み込まれます。購入の条件とは正反対であっても、販売の条件を個別に説明してください。プログラマーがあなたとは異なって理解できる微妙な点が出てくることがあります。たとえば、購入の場合、条件「インジケーター> 0」が設定されます-販売のために何を書くか? 「スコア<0」または「スコア<=0」?

最も単純な取引のアイデアでさえ、取引信号の存在を確認する追加の条件とフィルターをすぐに取得し始めます。その逆も同様です。取引を禁止します。したがって、必要な指標と設定を視覚的に示す、市場の状況ごとに説明的なスクリーンショットを作成することが重要です。これにより、アドバイザーが一見明白な取引シグナルを見逃したり、間違ったタイミングで突然取引を行ったりした場合の状況に迅速に対処できます。

スクリーンショットとフローチャート

スクリーンショットやフローチャートを作成するための無料で便利なプログラムがインターネット上にたくさんあります。それらを操作するためのヒントのいくつかは、インジケーターを注文するときに参照条件を作成する方法の記事に記載されています。そこには、買いと売りのシグナルが表示された瞬間をチャート上に矢印で示すインジケーターを注文するためのヒントもあります。アドバイザーとは別に機能するこのようなインジケーターにより、オンラインと目視テストの両方で、トレーディングロボットの動作を簡単に確認および制御できます。

信号/注文/位置の寿命

取引戦略の2番目の重要な部分は、オープンポジションを終了し、保留中の注文を削除することです。さらに、トレーディングシグナル自体も時間またはいくつかのイベントの発生によってキャンセルされる可能性があります。また、トレーディングシグナルについては、どのような条件で売買がクローズされ、シグナル自体がキャンセルされる場合、発注がキャンセルされるかを明確に説明する必要があります。

オープンポジションと保留中の注文の維持

取引戦略でStopLossレベルとTakeProfitレベルを設定する必要がある場合は、計算アルゴリズムを提供してください。これらのレベルを柔軟に引き上げたり移動したりする必要がある場合は、そのような操作の条件も説明する必要があります。 SL / TPレベルは、新しいバーの開始時と各ティックの両方で変更できます。委託条件でこの瞬間を明示的に示し、取引戦略のテストモードの違いを理解する必要があります。記事「実際のダニでの取引戦略のテスト」を読むことをお勧めします。

自分で作成できない場合、利用規約はどこで入手できますか

不十分に作成された委託条件またはその実際の不在は、ほとんどの場合、取引システムのルールが策定されておらず、単に存在しないことを示しています。この場合、顧客がトレーディングシステムと呼ぶものは、実際には、原則として、単なるアイデアです。アルゴリズムのプログラミングの過程で、すぐに微妙な違いが説明されないか、特定の市場状況でアルゴリズムが存在しないことが明らかになるため、このような条件下で作業を開始することは不可能です。この場合、プログラマーは実際に顧客ではなくオプションを考え始めます。

その結果、請負業者は、自身の危険とリスクで、作業を完了し、顧客に取引ロボットを発行する場合があります。しかし、この場合、不明確なTORで新しい問題を議論する時間を無駄にすることに加えて、作業が仲裁に入る可能性もあります。そのような作業を受け入れて確認するときに、顧客は突然、取引が期待どおりに行われていないことに気づきましたが、説明できませんでした。そしてもちろん、この場合、彼は、委託条件の特定のポイントに違反し、ロボットを誤ってプログラミングしたことで請負業者を非難します。このような場合の仲裁は、両当事者の能力の違いを迅速に理解し、注文に添付された委託条件に基づいて決定を下します。フリーランス規則によると、注文の実行前および実行中の側の対応は考慮されません。

仲裁における紛争の主題を検討する場合、決定の基礎となるのは委託条件のみです。

生活の中で、このオプションも可能です。厳格な取引ルールがありますが、何らかの理由で、自分で委託条件を作成することはできません。たとえば、特定のことを正しく説明する方法がわからない場合や、数学、ニューラルネットワーク、機械学習、プログラミングなどの専門家の助けが必要な場合があります。この場合、フリーランスでも委託条件の作成を注文することができます。このため、「プログラミングコンサルティング」または「その他」のカテゴリが適しています。

これらの2つのカテゴリのいずれかを選択し、「トレーディングロボットを注文するためのTORの作成」という名前を付け、想像どおりに作業の初期コストを示します。経験豊富なトレーディングシステム開発者は、他のプログラマーが理解できるように、戦略のルールを正しく策定するのに役立ちます。同時に、スクリーンショットを使用して取引シグナルの設定を表示するために、チャート、インジケーター、およびグラフィカルオブジェクトを操作できる必要があります。

プログラマーはあなたの取引システムを理解し、可能であれば取引アルゴリズムの説明を書くのを手伝います。自分でいくつかの概念を定式化できない場合(たとえば、「インパルス」や「レベルからのリバウンド」)、彼は彼の経験に基づいて既成のアイデアを提供することができます。原則として、市場のあらゆる状況は、ある程度の自由な解釈で論理的に(そしてプログラム的に)説明することができます。そして、このバリエーションは常に特定のパラメーターで表すことができ、エキスパートアドバイザーで最適化することができます。

市場は、一方では繰り返されないため、理想的なパターンはありません。他方では、同様の状況が常に歴史の中で見られます。共同作業の結果は、戦略に従ってトレーディングロボットを注文するための準備が整った委託条件になるはずです。

使用する用語

...お互いを理解するために、よくわからない用語を説明することをお勧めします

TK自体で、太字の用語を強調表示します-パフォーマーにそれらに注意を向けさせ、何かが明確でない場合は質問します

他のソース(Webサイト/書籍など)に送信することはできません。すべてをここで説明する必要があります。「Skypeで後で説明します」はありません。

フリーランスの職務記述書に何を書くか

...一般的な定式化のみが必要です-トレンド、カウンタートレード。レベルを突破するために(レベルがどのように定義されているか)、指標/価格アクション/ティックの使用はありますか

取引戦略の一般的な考え方

...トレンドと取引し、このようにトレンドを定義し、プルバックを開始し、このようにロールバックを定義します。夕方と朝には取引しません。

シグナルを待機するためのセットアップの説明

...その後のブレイクアウトでフラットを形成する必要があります/またはヨーロッパのセッションの終了を待ち、その動きの方向にのみ信号を受信する必要があります

信号の説明

...説明の技術的パラメータ-トレンド/ロールバック/ブレイクアウト-すべてが厳密に形式化されています

最初に購入信号と販売信号を別々にデバッグすることをお勧めします

アドバイザーがチャートにラベル/シグナルオブジェクトを配置するとよいでしょう

シグナルインジケーターは別に作った方がいいです

信号寿命

...シグナルが有効な期間-バー/時間/セッションの終了まで/日

注文と募集ポジション

...機能はありますか。たとえば、SL/TPをすぐに設定しません。

または、市場に参入するために何回試みますか。

または時間/セットアップ/パターンに応じて異なるoredermagic/ordercommentを設定します

他の何か

取引ポジション/注文の維持

...トレーリングストップはありますか?

TSをオンにしたとき

保留中の注文を価格の後ろ/反対に移動しますか

オープンポジションで現在の利益/損失を追跡する

他の何か

注文のキャンセルとポジションのクローズ

...時間/バーの数/期間の終わり/反対のシグナルの出現/セットアップの喪失によって注文を削除します

...時間/バーの数/期間の終わり/累積利益/反対のシグナルの出現/セットアップでポジションをクローズします

他の何か

注文のためのロット計算

....バランスから

修繕

累積利益から

過去N回の取引の結果に基づく

リスクから(距離SL)

他の何か

取引エラーと環境状態の処理

...取引注文を送信する際の詳細なログ

端末/接続/サーバーの再起動処理

メッセンジャー/メールによるフィードバック

バーの開口部とバーの内側での取引の違い

...信号は、バーの存続期間中に消えて表示される可能性があります

ダニ/スキャルピング戦略

...それが何であるかについての良い考えを持っている必要があります、ポイントのTakeProfit / StopLossが少ないほど、戦略はスプレッド/コミッション/ネットワーク遅延/利用可能な履歴の品質/ロボット自体の速度より重要です。

条件の悪化は戦略を殺す可能性があります

グリッド、マルタンガール、平均化、およびこれらの改善の欠点

...それらは何ですか、なぜそれらは人気があり、それらは一時的に戦略を伸ばすのにどれだけ役立つことができますか。悪い戦略の寿命を延ばすかもしれませんが、リスクは増加します

請負業者を選ぶときに何を探すべきか

...実質的な質問

感動するふりをしない

明確な期限を与える

2か月の話し合いの後ではなく、TOR内の不明確な場所をすぐに示します

優れたプログラマーは彼の時間とあなたの時間を大切にします-それが彼がよく発達した一貫したTORを愛している理由です

プログラマーがあなたのためにできないこと

負けた戦略を収益性の高いロボットに変える

最適化して欠点を特定します

エラーなしでプログラムを作成します-エラーは発生します。それらを見つけて理解できる方法で説明するのがあなたの仕事です。


 
Rashid Umarov:

...

スクリーンショットとフローチャート

インターネット上には、スクリーンショットやフローチャートを作成するための無料の便利なプログラムがたくさんあります。

フローチャートは、ToRの中で最も無駄で、時間がかかり、現実的には実現不可能な部分です。

このことを理解するためには、小さな、そして非常に簡単な実験をすることができます。フリーランスのサービス開発者に、「MAインジケータを描くためのフローチャートを作る」というタスクを与えて、2つの基準で評価するのです。1)正しさ、2)わかりやすさ。

 
Andrey F. Zelinsky:

フローチャートは、ToRの中で最も無駄であり、実質的に実現不可能な部分です。

このことを理解するためには、小さな、そして非常に簡単な実験をすることができます。フリーランスのサービス開発者に、「MAインジケータを描くためのフローチャートを作る」というタスクを与えて、2つの基準で評価するのです。1)正しさ、2)読みやすさ。

ここでは、計算アルゴリズムのフローチャートではなく、意思決定、ポジション管理、フィルターなど、プログラムのさまざまなブロック間のアクションと関係のシーケンスのフローチャートについて話している。

 
Aleksey Vyazmikin:

これは、計算アルゴリズムのブロック図ではなく、意思決定、ポジション管理、フィルターなど、異なるプログラムブロック間の関係や一連の動作を示すフローチャートである。

少なくともクライアント端末の イベントを完璧に理解した上で、「意思決定、ポジション管理、フィルターなど、異なるプログラムブロックの動作のシーケンスと関係」を定性的に記述できるようになるお客様のレベルが想像できるでしょうか。

そして、プログラムの実装の観点から、すべてをチェックする。そうでなければ、なぜフローチャートを作るのか?

そのような顧客は、契約前だけでなく、契約後も開発者の名前を見ることができない(そのようなエントリーレベルの顧客でそうなることがあるならば)--「知識を増やす者は悲しみを増やす」(伝道者の書1:17-18)のだ。


p.s. 再び。フローチャートを作ることの実用的な無意味さについての私のテーゼを確認することは、非常に簡単です(任意)。

フリーランスのサービス開発者に、MAインジケーターのフローチャートを書くというタスクを設定すれば十分です。

論文№2 - 5-10%以下が仕事をする。


p.s.2 質問1 - コンピューターサイエンスの授業(学校や大学)で、フローチャートを作ることが役に立つと思った人(何%)はいますか?

質問2--実習で、例えば「N次元配列の最大要素を検索する」以上の複雑なフローチャートを作成した人(何%)はいますか?

 
Andrey F. Zelinsky:

少なくとも、クライアント端末のイベントを 完璧に理解している顧客が、「意思決定、ポジション管理、フィルターなど、異なるプログラムブロックのアクションと関係のシーケンス」を適格に記述できるようになる、というレベルを想像できるだろうか。

そして、プログラムの実装の観点から、すべてをチェックする。そうでなければ、なぜフローチャートを作るのか?

このような顧客は、契約前だけでなく、契約後も開発者の名前を見ることができない(このレベルの顧客でそうなることがあれば)--「知識を増やす者は悲しみを増やす」(伝道者の書1章17~18節)のだ。

ブロック図は、少なくともロジックをテストするのに有効です。そうですね、フローチャートはコンセプトとして、あるいは複雑なアルゴリズムを開発するときに、紙で行うことがほとんどです。

EAは完成品ではなく、お客様が興味を持たれている限り、常に修正される可能性があるため、お客様が修正に対応できるよう、コードには一定の構造が必要です。フリーランスのEAをおそらく5台ほど発注して理解したことがあります。バカの極みとは、売買判断をするためのロジックを売買機能に詰め込んだ場合です。このようなEAは、特に開発者が別の人であれば、修正の対象にはならず、作り直さなければならないのは当然でしょう。