初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 646

 
Tra-der:
MT5端子は2つあります。問題:一方の端末ではロングトレードのみ、もう一方の端末ではショートトレードのみを許可するスクリプトを書くことは可能か?
#define ORDER_TYPE_BUY ORDER_TYPE_BUY_STOP   // поставить в самом начале советника, если нужно отказаться от BUY-сделок
#define ORDER_TYPE_SELL ORDER_TYPE_SELL_STOP // поставить в самом начале советника, если нужно отказаться от SELL-сделок
 
Tra-der:
MT5端子は2つあります。課題:一方の端末ではロングトレードのみ、他方の端末ではショートトレードのみを許可するスクリプトを書くことは可能でしょうか?

EAに入力パラメータを入力するだけで、起動時に割り当てられた値に応じて、買いのみ、または売りのみとなります。

input bool Long=true;            // allow only "Long"
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
...
void OnTick()
  {
   if(!Long)
      trade.Sell(0.01);
   if(Long)
      trade.Buy(0.01);
  }
 
Artyom Trishkin:

新しいトップかボトムかを知るためには、前回見つけたトップ・トップの時刻を覚えておき、今まで見つけたものと比較する必要があるのです。

ありがとうございます!バッファーでクリアです。

最後に見つかった頂点の時刻を記憶するためには、何らかの方法でそれを知る必要があります。

どうすれば、最後に見つかった頂点の時刻を知る ことができるのでしょうか?

 
mila.com:

ありがとうございます、バッファーはクリアです。

最後に見つかった頂点の時刻を記憶するためには、何らかの方法でそれを知る必要があります。

その際、最後に見つかった頂点の時刻を 知るにはどうしたらよいのでしょうか。

ジグザグの前回の極値の時刻を格納する静的変数を 宣言し、0 で初期化する。

2.頂点を見つけ、その時間が静的変数の時間と等しくなければ、必要な極限を見つけたと考え、この変数の新しい時間を記憶してください。

3.GoTo(2)です。

 

同志プログラマーたちよ

スプレッドが拡大したかどうかを調べる方法を提案する。

問題は次のとおりです。新しい日への移行中に証券会社はスプレッドを広げ、時にはそれはいくつかのペアのために狂っている - それは3-5倍、通常の値を超えています。証券会社では、23時から59時までと20時から59時までなど、時間変更に伴うサマータイムスプレッドが異なる。

スプレッドがあまり変わらない奴もいるので、スプレッドが変わらなければ取引禁止にする必要もないので、「時間帯別作業」ロボットを切るわけにはいきません。

主な問題は、スプレッドが大きすぎるため、ロボットがポジションを開く ことを禁止していることをどのように検出するかということです。スプレッドサイズを 過去5-7バーの新しいバーごとにファイルに保存し、それをすべて足して数字で割ることで平均スプレッドを求め、1.2-1.4(マージン)を掛けるという変形を見ますが、ファイルを保存して掛けるのは面白くないと思いますし、平均スプレッドサイズの計算として正しいのかどうか、よくわかりません。設定で許容スプレッドの最大値を手動で入力しても、ボット運用上は非常に些細なことで、面白みがない。

端末の再起動や停電時の緊急停止を恐れない、最適な解決策をご教示ください。また、できればプログラムの負荷が最小になるようなソリューションで、毎回のティックでの再計算がないようなものが望ましい。

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

 
Vitaly Muzichenko:

同志プログラマーたちよ

スプレッドが拡大したかどうかを調べる方法を提案する。

問題は次のとおりです。新しい日への移行中に証券会社はスプレッドを広げ、時にはそれはいくつかのペアのために狂っている - それは3-5倍、通常の値を超えています。証券会社では、23時から59時までと20時から59時までなど、時間変更に伴うサマータイムスプレッドが異なる。

スプレッドがあまり変わらない奴もいるので、スプレッドが変わらなければ取引禁止にする必要もないので、「時間帯別作業」ロボットを切るわけにはいきません。

主な問題は、スプレッドが大きすぎるため、ロボットがポジションを開く ことを禁止していることをどのように検出するかです。スプレッドサイズを 過去5~7本の新しいバーごとにファイルに保存し、それを全部足して数で割ることで平均スプレッドを求め、1.2~1.4(マージン)を掛けるという変形を見ますが、ファイルを保存して掛けるのは面白みがありませんね。設定で許容スプレッドの最大値を手動で入力しても、ボット運用上は非常に些細なことで面白みがないんです。

この質問に対して、何が最適な解決策になるのかアドバイスをお願いします。ありがとうございました。

些細なことかもしれませんが、私は上限を手動で入力しています。そして、大晦日に最後のN本のローソク足でスプレッドが通常の3倍になり、夜にはさらに3倍になるとしたら? 分析システムは、それを通常のx3スプレッドと見なします。実際の口座で取引している人であれば、平均的なワーキングスプレッドを手動で推定し、閾値を設定することは難しいことではないと思います。質問の解答は私にとっても興味深いのですが)
 
スプレッドに依存するようなTCロジックってなんだ!?
 
fxsaber:
スプレッドに大きく依存するTS-logicってなんだ!?

よし、こう言ってみよう。ここで、例えばスプレッドが3倍どころではなく、もっと広がって、通常のスプレッドが4~6ppなのに、20ppのスプレッドでマーケットに 入るとしたら、それは正常ではなく、こういう瞬間を切り捨てなければならない。

 
Vitaly Muzichenko:

よし、こう言ってみよう。例えば、ここのスプレッドは3倍どころではなく、もっと広がっていて、通常のスプレッドが4~6ppなのに、20ppのスプレッドでマーケットに 入ると、これは普通ではないので、こういう点はカットする必要があります。

だから、SELLをやるならBIDを重視すること。普及にどんな違いがあるのか?よし、もう口出ししないぞ。
 
Vitaly Muzichenko:

よし、こう言ってみよう。例えば、ここのスプレッドは3倍どころではなく、もっと広がっていて、通常のスプレッドが4~6ppなのに、20ppのスプレッドでマーケットに 入ると、これは普通ではないので、こういう点はカットする必要があります。

グローバルでは通用しない?
理由: