MQL5言語をゼロから独学で学ぶ - ページ 56

 
Valeriy Yastremskiy:

一般的には、相反する効果を持つ2つの動機があると言われています。SLを近づけると損失が少なくなり、SLで決済する確率が高くなる。もしSLがボラティリティに関連して近くなるなら、もちろんあなたのオプションが良いし、通常のレベルで、SLを引き上げてもトリガーの頻度に影響しないなら、私のもの です。

あなたはすでに戦略の領域に走っている;)最初に 1ブを 設定し、それを移動するように私に教えてください。

 
VVT:

もう戦略の域に達していますね;)まず 1ブーを セットして動かす方法を教えてください。

こんにちは!一方では、あなたは正しいです - 1つのブレークイーブンで停止し、それだけでコードを記述することができます。しかし、私の意見では、最初に一般的にトレーリングストップがどのように機能すべきかが分からない場合、最良の選択肢とは言えません。また、ほとんどのExpert Advisorは、明確に定義された戦略に基づいて記述されています。このような場合、「海岸で合意しなければならない」と言われるように。

またプログラマーに "目覚め "を与えているような気がします。

ウラジミールさん、ありがとうございます。

 
Vasiliy Sokolov:

それが私の理解です。トレーリングストップの位置変更には、2つの機能がありますね。1つ目の機能は、「トレーリングレベル」パラメータによってトレーリングストップロスをブレイクイーブンに移動させ、2つ目の機能は、「トレーリングステップ」パラメータによってストップロスをさらに価格の後ろに移動させるものである。トレーリング・ストップロスではなく、ストップロス・トランスファーであることから、私は最初のパラメータを「ストップロス・ブレイクイーブン・レベル」と呼ぶことにします。

そうだ、ヴァシリー!そうだ。あなたは、私が考えるトレーリングストップを正しく理解し、定式化してくれました。このパラメータは最初から同じ名前であるべきで、 「Trailing Stop Loss Level to Breakeven」とするべきだったのです。私の専門用語はまだ完璧ではありません。ありがとうございました。

敬具 ウラジミール

 
MrBrooklin:

こんにちは!一方では、あなたは正しいです - 1つのブレークイーブンで停止し、それだけでコードを記述することができます。しかし、私の意見では、トレーリングストップが一般的にどのように機能すべきかを最初に理解していない場合、これは最良の選択肢とは言えません。また、ほとんどのExpert Advisorは、明確に定義された戦略に基づいて記述されています。このような場合、「海岸で合意しなければならない」と言われるように。

またプログラマーに "目覚め "を与えているような気がします。

ウラジミールさん、ありがとうございます。

こんにちは!ストップロスを 一歩一歩動かすことを一度覚えれば、必要であれば、後で100回でも動かせます!余裕があればですが ;)

Expert Advisorはストラテジーに合わせて調整されますが、その逆はありません。

 
MrBrooklin:

そうですね、Vasilyさん、まったくその通りです。あなたは、私が考えるトレーリングストップを正しく理解し、定式化してくれました。このパラメータは本来、「 Trailing Stop Loss Level to Breakeven」と呼ばれるものでした。私の専門用語はまだ完璧ではありません。ありがとうございました。

敬具 ウラジミール


ウラジミールさん、ごきげんよう。この記事を見てください。利益レベルからトロールで修正することができ、ブレークイーブンへの転送の専用レベルに悩まされることはない
https://www.mql5.com/ru/forum/352460/page55#comment_18711100
 
Aleksey Masterov:

ウラジミールさん、こんにちは。私のこの投稿を見てみてください。トロールでは、利益レベルから修正することができ、ブレークイーブンにハイライトされた転送レベルで悩むことはありません。
https://www.mql5.com/ru/forum/352460/page55#comment_18711100

アレクセイさん、こんにちは!すぐに反応できなくてすみません。このリンクはとても興味深いです。11個の末尾のコードと関数ライブラリのすべてに目を通しました。MQL4で書かれているにもかかわらず、非常に興味深いものばかりです。正直なところ、トレーリングストップにこれほど多くの種類があるとは想像もしていませんでした。ありがとうございました。

敬具 ウラジミール

 

皆さん、おはようございます!ご機嫌いかがでしょうか?

プログラミング言語「MQL5」の学習を続けています。Vasily Sokolov氏の修正を考慮し、オープンポジションでの

トレーリングストップ・ロスのアルゴリズムは次のようになります。
  1. オープンポジションのストップロスレベルをトレール(追尾)する作業を自動化するEAを作成します。
  2. Expert Advisorで、2つのパラメータを持つ入力パラメータのブロックを作成します。"Stop Loss level to Breakeven "と "Trailing Step "について。
  3. 新しい相場が来たら、OnTick( )で処理します。トレーリングは、現在のシンボルに新しいティックが来たときのみ停止します。
  4. OnTickイベントを受信した瞬間にデータを要求します。
  5. 各買い
  6. ポジションについて、現在の価格がオープンポジションの価格と比較してどの程度であるかを判断します。
  7. 現在の価格がオープンポジションの価格より高い場合、どのレベルで上昇したかを確認します。
  8. 現在の価格が入力パラメータで指定された「損失なしのストップロス」 レベルに達した場合、ストップ 損失 買い ポジションの開始価格と同じ損失なしの レベルに移動 させます。そうでなければ、何もしない。
  9. 現在の価格が「ストップロス損益分岐点」を「トレイリングストップ」と同じ値だけ超えて いる場合、ストップ ロスは買いポジションの 開始価格レベルから 「トレイリングストップレベル 」と同じ値だけ 移動 し、価格がこのポジションに指定されたテイクプロフィットレベルに達するまで
  10. 、これが繰り返されます。
  11. 価格が反転し、 Stop Lossの レベルに達した場合、ポジションはクローズ
されます。 [Vasily Sokolovのトレイリングストップの説明の簡易
  1. OnTick関数で新しいティックが出現したときにトレイリングストップを処理
します。
  1. Trailing Stopは、2部構成になっています。
  2. 各オープンポジションについて
  3. 、価格が計算され、その価格に達すると同時に、そのストップロスはブレイクイーブンに移動されます。
  4. 第2部ストップロスがブレイクイーブンに移動した後、アクティブなポジションに対して、価格に追従してストッププルアップアルゴリズムが起動されます。

そして

、「その1」の

パターンに従って

ください。ブレークイーブン:
  • 買うこと、
  • 売ること、
その2。Pulling Stop:
  • Buy;
  • To sell;

このオープンポジションのTrailing Stop Lossのアルゴリズムのバリエーションは最終的な

ものであり、

私はそれに従ってプログラムコードを書き続けて

います。

ウラジミールさん、ありがとうございます。


 
VVT:

こんにちは!ストップロスを 一歩一歩動かすことを一度覚えれば、あとは余裕がある限り、必要なら100回でも動かせます;)

Expert Advisorはストラテジーに合わせて調整されますが、その逆はありません。

こんにちは! 先ほどの投稿で、あなたの判断が正しいことはすでに述べました。Vasily Sokolovの助けを借りて、オープンポジションでストップロスを引きずるためのアルゴリズムが比較的早くできたので、それに従うことにします。

ウラジミールさん、ありがとうございます。

 
Expertの書き方が 巧みですね。そして、マーケットも必要なくなる。
 

プログラミング言語「MQL5」の学習を続けています。前回は、オープンポジション の列挙を開始するループのコードを公開しました。さて、ループが開始された後、現在のチャート上のシンボルを使って作業を開始します。

     {
     /* Для работы с символом создадим переменную _Symbol, в которой будем хранить имя символа текущего графика.
        Делаем запрос на сервер. Сервер возвращает нам символ соответствующей открытой позиции и автоматически
        выбирает позицию для дальнейшей работы с ней при помощи функций PositionGetDouble, PositionGetInteger,
        PositionGetString. Если получим от сервера ответ о том, что для текущего символа была выбрана позиция для 
        дальнейшей работы с ней, то в торговом терминале выводим соответствующее сообщение во вкладке "Эксперт".*/
      if(_Symbol==PositionGetSymbol(i))
         Print("Выбираем позицию для дальнейшей работы с ней"); //
     }

また、書いたコードを定期的に掲載し、私自身のコメントも付けて、迅速なフィードバックを提供します。このトピックの参加者の皆様には、私のコードやコメントに不正確な点があれば、訂正していただくようお願いします。

ウラジミールさん、ありがとうございます。