При создании автоматических торговых систем возникает необходимость написания алгоритмов анализа рыночной ситуации и генерации торговых сигналов, алгоритмов сопровождения открытых позиций, систем управления капиталом и контроля риска торговли. После того как код модулей написан самой сложной задачей является компоновка всех частей и отладка...
おおっ、ありがとうございます!これだけ情報があれば、いろいろなことができそうですね...。
ちょうど出張があるので、もらった資料を深堀りしようと思っているのですが、コーデが...。紙の上でもできるんだから、いいトレーニングになるのに・・・。
ローマン
これは、プログラムコードの海の中の砂粒のようなもので、知るべきことのほんの一部です。しかし、何を、どこで、いつ使うか、それだけでは不十分です
ロボット作成」という科目名から進めると、 損益分岐点(儲かる、など)の取引戦略が必要で、その上で初めてプログラミング言語MQL5を勉強することになるのですが、「ロボット作成」という科目名から進めると、損益 分岐 点(儲かる、など)の取引戦略が必要で、その上でプログラミング言語MQL5を勉強することになります。
ところで、MT5ターミナルのMetaEditorにはMQL5ウィザードが あり、これを使えば、プログラミング言語の知識がなくても、人気の指標に基づいて作成された取引シグナルのモジュールを 使用して、既製のExpert Advisorのコードを簡単に取得することができます。MQL5ウィザードの 助けを借りて、Expert Advisorを素早く構築し、インジケータのみに基づいている場合、あなたの戦略をテストすることができます。MQL5 Wizardを使ったトレーディングロボット構築の記事へのリンクはこちらです。https://www.mql5.com/ru/articles/171。
敬具 ウラジミール
57と少し。そして、 の方法についての 答えは、すでに知られているので、引用します。
"Roman Zhilin:いいえ、フリーランスには、必要に応じて自分で開発するようなプロセスは存在しません。そして、私のミスを責めるのは、第三者のプログラマーではなく、私自身だけでしょう。だから、学び、学び、コーディングし、つまずき、戦略を改善し、また学ぶ必要があるのです」。
敬具 ウラジミール
良い品揃えです、ありがとうございました。
レーニンの遺言を思い出す :)でも、その通り、学ぶのに遅すぎるということはないのです。
どのようなExpertAdvisorが 必要かを理解するためには、まず最初に取り組み始める必要があります。
ポジションを 閉じるためのボタンを2つ追加
..."Returns"で始まる定型句の意味が、いまだに理解できないのです。
誰が戻るのか、誰に戻るのか、どこに戻るのか、なぜ戻る のか。まだ分からない...。
もしかしたら、説明できるかもしれません。
画面上で振動しているシンボル(記号、例:EUR/USD)があり、ターミナルでプログラム/アドバイザー/ロボットが動作しているとします。ロボットは、あなたが記入したコードを実行しているのです。そして、このコードには、こんな文字列があります。
「orderSelect "は、取引機能で、すでに開いている注文を選択して、さらに作業を行うものです。//この例では、順序選択が失敗した場合(...==false)、" if " 関数の実行は "break" コマンドで中断されます。
次のページOrderSelect トレード機能で 注文を選択しました。今は、決まった順番で作業しています。簡単のため、注文は2つしか開いていないという条件を取ることにする。
次に、変数OpenPrice[double型]を入力し、選択した注文がオープンされた価格の値を代入します(コード部 OpenPrice=OrderOpenPrice(); )。
ここでは、パラメータのRETURNが何を意味するのかを説明します。OrderOpenPrice 関数は、現在の商品価格の値を返します 。つまり、プログラムはサーバーから現在の価格を要求した後、その値をあなたに返し 、その値を変数に代入しているのです。
MACDインジケーターを追加
MACDインジケーターを追加
基本はできている。あとはあなた次第。
説明できるかもしれません。
現在、画面上でシンボル(例:EUR/USD)が変動しており、ターミナルでプログラム/アドバイザー/ロボットが動作しているとします。ロボットは、あなたが記入したコードを実行しています。そして、このコードには、こんな文字列があります。
「orderSelect "は、取引機能で、すでに開いている注文を選択して、さらに作業を行うものです。//この例では、順序選択が失敗した場合(...==false)、" if " 関数の実行は "break" コマンドで中断されます。
次のページOrderSelect トレード機能で 注文を選択しました。今は、決まった順番で作業しています。簡単のために、2つの注文しか開いていないという条件を取る。
次に、変数OpenPrice[double型]を入力し、選択した注文がオープンされた価格の値を代入します(コード部 OpenPrice=OrderOpenPrice(); )。
ここでは、パラメータのRETURNが何を意味するのかを説明します。OrderOpenPrice 関数は、現在の商品価格の値を返します 。つまり、プログラムがサーバーに現在の価格を要求した後、その価格を値として返し 、その値を変数に代入しているのです。
分かりやすい説明ありがとうございました。また、ローマンがプログラミング言語をマスターするのに役立てばと思います。
ウラジミールさん、ありがとうございます。
こんにちは!さて、私も誰か助けてくれるかも・・・。
現在、注文の開始/終了の仕組みを扱っていますが、オープンポジションを閉じる際に問題が発生しました。
コードは簡単です。このアルゴリズムの考え方は、チャート上に周期100のMA(移動平均線)を描くというものです。前のローソク足[1]がMAより上で始まり 、MAより下で閉じたら 、次のローソク足[0]で売りの 注文を出す。
//購入の条件は逆で、説明はしていません。
注文を閉じるには、次の条件があります。現在の価格が、注文の開始時の価格から設定したポイント数(例:40ポイント)を経過していること。
例:Bid=1.20045でロットを建てた場合、Ask=1.20005でクローズする必要があります。
オープニングとクロージングのコードは、2つの対応する関数にまとめられており、順番にOnTick()関数で呼び出されます。実際には、1ティックごとに終値条件をチェックする必要がありますが、実際には、価格が指定したレベル(終値)を下回っても注文は閉じません。スクリーンショットとコードを添付します。
こんにちは!さて、誰か助けてくれるかな...。
現在、注文の開始/終了の仕組みを扱っていますが、オープンポジションを閉じる際に問題が発生しました。
コードは簡単です。このアルゴリズムの考え方は、チャート上に周期100のMA(移動平均線)を描くというものです。前のローソク足[1]がMAより上で始まり 、MAより下で閉じたら 、次のローソク足[0]で売りの 注文を出す。
//購入の条件は逆で、説明はしていません。
注文を閉じるには、次の条件があります。現在の価格が、注文の開始時の価格から設定したポイント数(例:40ポイント)を経過していること。
例:Bid=1.20045でロットを建てた場合、Ask=1.20005でクローズする必要があります。
オープニングとクロージングのコードは、2つの対応する関数にまとめられており、順番にOnTick()関数で呼び出されるようになっています。実際には、1ティックごとに終値条件をチェックする必要がありますが、実際には、価格が指定したレベル(終値)を下回っても注文は閉じません。スクリーンショットとコードを添付します。
https://www.mql5.com/ru/forum/160683/page767#comment_10725713 にフォーラムのスレッドがあります。
そちらの方が早く助けを得られるかもしれません。
敬具 ウラジミール