MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 216

 
ワンクリックトレードパネルが起動しているかどうかをプログラムで確認するにはどうすればよいですか?
 
Vladimir Tkach:
ワンクリックトレードパネルが起動しているかどうかをプログラムで確認するにはどうすればよいですか?

クラスから 引き抜きました。

   //--- Получение параметра "панель торговли OneClick" на чарте
   bool                 IsChartOneClick(void)            {return(ChartGetInteger(m_chart_id,CHART_SHOW_ONE_CLICK));}
 
Artyom Trishkin:

このような問題は、まさにこのバーでオープンポジションとクローズ ポジションがあるか、またはあったかを確認することで解決されるはずです。

そうでないと、すべてを積み重ねてしまうことになります。シグナル機能はシグナルを送信し、取引機能はシグナルの有効性をチェックする必要があります。


それがやりたかったのですが、どう実装すればいいのかわかりません。現在のバーを確認する方法。
 
AlGuru:

それがやりたかったんです。ただ、どうやって実装したらいいのかわからないんです。現在のバーを確認する方法。

バー0にオープンしたポジションがあるかどうかを確認します。

そうでない場合は、さらに、バー0に開かれ、同じバーで閉じられたクローズドポジションが あるかどうかを確認します。

従って、これらの機能を作る必要があります。

  1. 最後のオープンポジションのオープンバー
  2. 最終引け位置のオープンバー
  3. 最後のクローズポジションのクローズバー
  4. 同じバーで最後に閉じたポジションを開く、閉じるという事実(前の2つの機能2、3が使用されます。)
そして、これらの機能を使って、意思決定に必要なデータを取得するのです。
 
a196012a:

皆さん、ごきげんよう。

ストラテジーテスターで、以下のアクションをどのようにコーディングすればよいか教えてください。

一般的な考え方

1.オープンオーダー N -X (ボリューム = 0.1)

2. この の注文がSLで決済された場合、損失を補うために、SLでの注文 NXの 終値で直ちに、 注文 N - X1(数量=0.3)をオープンします。

私たちがやらなければならないこと。

3注文(数量=0.3)がSLで決済された場合、注文N -Xの オープン時の値のみが 記憶され オープン時の 損失を補填することができます。

両方の注文を開く方法はわかっているのですが、SLで決済された0.1ロット量の注文の 時間値を記憶させる方法が最後までわかりません。

注:同じティックでのオーダークローズに関連するものです。

0.1や0.3の出来高の注文が1ティックで複数決済されることがある。

0.3の注文を 3つ出すのではなく、例えば0.1の注文を SLで1ティックで3つ決済した場合。- 0.3ロットの1オーダーのみ 開設。

この場合、0.3ロットの注文を1つだけSLで決済すると、その損失を補う 0.1ロットの注文が2つ開設される時間の値を取得することができません。

I.e. この場合、0.3ロットの 注文を 1つではなく、3つオープンする必要があります。


0.3ロットの3つの注文が、対応する0.1ロットの注文が異なるティックに(ただし1つの価格で)オープンされているにもかかわらず、1つのティックでSLによってクローズされることがあります。

この場合、プログラムは0.1ロットの最後の1つの注文に対してのみ正しい値を保存します。

私は、プログラムがSSLによって閉じられた各注文(0.1ロット)の時間値を保存する必要があります。


以下は私のコードで、これを修正する必要があります。

よろしくお願いします。

以下は、複数の注文が1ティックで決済される場合の例です。


ごきげんよう。

なぜ、クローズドオーダーの各時間を考慮する必要があるのですか?なくても大丈夫...。それとも、このデータはどこかにあるのでしょうか?

2)そして、最後に赤字で終わった注文は、ちょうど3つ?あるいは、注文が何件あってもいい、5件でも8件でもいい...。そして、それに応じて、それぞれの

...損失で決済された注文は、より大きなロットの注文に対応する必要があるのでしょうか?

 
Valerius:


ごきげんよう。

1.なぜ、閉店したバーごとに時間を計る必要があるのでしょうか?なくても大丈夫...。このデータはどこかに保管しているのでしょうか?

2)また、過去3回の注文が損失で終了した場合はどうでしょうか?あるいは、注文が何件あってもいい、5件でも8件でも...。そして、それに応じて、それぞれの

...損失で決済された注文は、より大きなロットの注文に対応する必要があるのでしょうか?

ご返信ありがとうございます。

はい、オープニングアワーを考慮して、次のステップに進んでいます。

2から10までの数字が使用できます。

ストップロスで決済されたすべての注文は、より大きな数量で始まった別の注文に対応する必要があります。

一致」とは、1日以内に、いつでも開いた3つの注文がSLによって閉じられた場合、その終値で直ちに

より大きな数量の3つの注文を開く必要があります。個々の注文が終了した直後。例えば、12時に1.2000の価格で決済された注文は

12時、1.2000の価格でより大きな注文が出される。これは、SLで決済される小さい数量の注文でも同じです。大きな数量の注文がSLで閉じられた後、その注文が開かれた 終値に返信して 開く時間を覚えておく。つまり、12:00に1.200の価格でオープンし、ストップを通してクローズした場合、12:00に1.2000の価格でハイボリュームの注文がオープンします。大きい方の注文がSLで決済された場合、小さい方の注文の開始時間、つまり12時を覚えて おくとよいでしょう。

SLで決済された大口注文の後にも、同じように覚えておく必要があります。

特に、SLの1ティックで複数の注文(2~10本)が決済される場合、注文をオープンして時間値を保存するのが難しいと感じています。

このあたりの事情は、初回投稿時の詳細な説明をご覧ください。

 
a196012a:

ご感想をお寄せいただきありがとうございました。

はい、オープニングの時間は、その後のプログラムの動作に考慮されます。

2から10までの数字が使用できます。

ストップで決済されたすべての注文は、より大きな数量で開かれた別の注文に正確に対応する必要があります。

一致」とは、1日以内に、いつでも開いた3つの注文がSLによって閉じられた場合、その終値で直ちに

より大きな数量の3つの注文を開く必要があります。個々の注文が終了した直後。例えば、12時に1.2000の価格で決済された注文は

12時ちょうどに1.2000の価格でより大きな注文が出される。これは、どの順番でも同じことです。そして、より大きなボリュームの注文がSLによってクローズされた後、 そのクローズに対して、注文がオープンされた時間を記憶しておく必要がある。つまり、12:00に1.200の価格でオープンし、ストップを通してクローズした場合、12:00に1.2000の価格でハイボリュームの注文がオープンします。大きい方の注文がSLで決済された場合、小さい方の注文の開始時間、つまり12時を覚えて おくとよいでしょう。

そして、SLだけで閉じた大容量の注文のたびに、そのように。


そして、もうひとつ細かいことを言うと...。例えば、1番目の注文が0.1ロットで決済され、2番目の注文が0.3ロットで開設された場合。初回受注時の開封 時を記憶しています。その後、2番目の注文がストップで決済されたので、2番目の注文の開始時刻を記憶し、0.9ロットの注文を設定しました。といった具合に。私の理解は正しいでしょうか?最初の注文の時だけは、常に覚えておくべきなのか?
 
こんにちは。なぜユーロ vs 米ドル通貨ペアは1.0616 ではなく 149.16325 と表示されるのですか?


 
sidovi:
こんにちは。なぜユーロ vs 米ドルの ペアは1.0616 ではなく 149.16325 で 表示されて いるのですか?



見積もりを更新してみる。サービス - クォートアーカイブ - 通貨ペアを選択 - ロードする。

それでもダメなら、メタトレーダーを再インストールしてください。

 
Valerius:

さて、そしてもうひとつ明確にしておきたいことが......。例えば、1番目の注文が0.1ロットで決済され、2番目の注文が0.3ロットで開設された場合です。初回受注時の開封 時を記憶しています。その後、2番目の注文がストップで決済されたので、2番目の注文の開始時刻を記憶し、0.9ロットの注文を設定しました。といった具合に。私の理解は正しいでしょうか?最初の注文の時間だけ覚えればいいのか?

すべての大規模な注文は、0.3ロットのボリュームでのみ開かれます。SLが0.3ロットの数量で寄り付き、それよりも少ない数量の注文は全て0.1ロットの数量で発注されます。0.1と0.3のみです。他の巻はありません。

0.3ロットの注文をSLで決済する場合、0.1ロットの注文を決済した時間に対して、その注文を決済した時間を覚えておいてください。

よろしくお願いします。

自分の投稿に返信があったときに、自分のメールにメッセージを送るオプションはどこに設定されているか教えてください。

今回もありがとうございました。