T/Pが正常に動作しない - ページ 2

 
krishna_gopal_2:
結構です。さて、100pips以上を得るためにはどうしたらいいでしょうか。スプレッドを計算する公式はありますか?
Ask - Bidがスプレッドです。
 
krishna_gopal_2:
わかった。さて、100pips以上を得るにはどうしたらいいでしょうか。スプレッドを計算する公式はありますか?
TPが正しく設定されていれば、Strategy Testerでの 勝ちトレードは100pips(ティックをエミュレートしているため、多かれ少なかれ)取得できます。
  • 価格X(買値)で売りをオープンした場合、TPを買値-100pipsに設定します。
  • 価格Y(アスク)で買いを建てる場合、TPをアスク+100pipsに設定します。

あなたの最初の投稿について。

  • あなたが100pipsのTPを設定しないか
  • または、あなたが公開したものが勝ちトレードでないか
  • または、利益(pips)を計算し間違えたかです。
  • または、あなたのトレードがTPによって閉じられていないか。
 
<br / translate="no">となります。
  • 価格X(買値)で売りをオープンした場合、TPを買値-100pipsに設定します。
  • 価格Y(アスク)で買いを建てる場合、TPをアスク+100pipsに設定します。


これ、ちょっとしたミスがあると思うのですが、どうなんでしょう・・・。

先ほど言ったように、OP_SELLでは、買値で建玉し、売値で決済します。したがって、TPがbid - 100であれば、利益は100 pipsからスプレッドを差し引いたものになります。

また、オープン時のBidとAskを元にしたTPは、スプレッドが一定であることを前提にしています。最近いろいろ調べてみましたが、スプレッドが完全に一定であることはありません。MT4はAsk価格を保存しないので、バックテストでは表示されませんが(確か?終値+現在のスプレッドを使う??)、現実世界も考慮する必要がありますね。

 
alladir:


  • 価格X(買値)で売りをオープンした場合、TPを 買値-100pipsに設定します。
  • 価格Y(アスク)で買い注文を出したら、TPを アスク+100pipsに設定します。

これにはちょっとしたミスがあると思うのですが、どうなんでしょう・・・。

さっきも言ったように、OP_SELLの場合、買値で建てて売値で決済するわけですから、TPがbid - 100なら、利益は100pipsからスプレッドを引いたものになります。

また、オープン時のBidとAskを元にしたTPは、スプレッドが一定であることを前提にしています。最近いろいろ調べてみましたが、スプレッドが完全に一定であることはありません。MT4はAsk価格を保存しないのでバックテストでは表示されませんが(確か?終値+現在のスプレッドを使う??)、現実世界も考慮する必要がありますね。


最初に取引を開始し、orderopenprice( )を使って修正すれば、すべての口座で動作するようになります。
 
deVries:

最初に取引を開始し、orderopenprice()を使ってそれを修正すれば、すべての口座で動作するようになります。


いいえ、これはまだ正しくありません。

ショート注文の場合、スプレッドは注文がクローズされる前ではなく、クローズされたときに取られるため、OrderOpenPriceを使用しても、100pipsからクローズ時のスプレッドを引いた利益が得られます。

ロング注文で100pipsのTPを得るのは簡単です。

ショート注文の場合は、OrderOpenPrice + 100 pips + スプレッドとしてTPを設定する必要があります。

(そしてスプレッドがほぼ一定であることを祈る)。

 
alladir:


これは小さな間違いがあると思うのですが、どうでしょうか?

先ほども言ったように、OP_SELLでは、ビッド価格でオープンし、アスク価格でクローズします。したがって、TPがビッド-100であれば、利益は100ピップスからスプレッドを引いたものになります。


また、オープン時のBidとAskを元にしたTPは、スプレッドが一定であることを前提にしています。最近いろいろ調べてみましたが、スプレッドが完全に一定であることはありません。MT4はAsk価格を保存しないのでバックテストでは表示されませんが(確か?終値+現在のスプレッドを使う??)、現実世界も考慮する必要がありますね。

  • いいえ、売りの場合は、入札(BID_OPEN)で開いて、TPで閉じて、アスク= BID_OPEN-100のとき、取引。利益=始値-終値=BID_OPEN-BID_OPEN+100=100です。
  • BUYの場合、ask(ASK_OPEN)でオープン、tpでクローズなので、bid=ASK_OPEN+100のとき。利益=終値-始値=ASK_OPEN+100-ASK_OPEN=100となります。

フローティング・スプレッド であろうとなかろうと、これは変わり ません。

しかし

  • 売りの場合、価格は始値の買値から終値の買値に移動しなければなりません。したがって、BID_OPEN から BID_OPEN - 100 - SPREAD_CLOSE になります。終値では、100+スプレッドとなります。終値付近でスプレッドが広がると、終値で取引する確率が下がります。
  • 買いの場合、ASK_OPEN - SPREAD_OPEN から ASK_OPEN + 100 まで動く必要があるので、価格がどのくらい動くか(100 + 開始時のスプレッド)が最初からわかっていることになります。

スプレッドは完全に一定ではないので、それを確認し、彼が約束したものを提供するブローカーを選択する必要があります(それを確認する)については、正しいです。

 
deVries:

最初に取引を開始し、orderopenprice()を使用してそれを変更すると、すべての口座で動作するようになります。
おっしゃるとおり、これが最も簡単なプログラム方法です。しかし、私はプログラミング言語の話をしているわけではなく、プログラミングの前に、それがどのように動作するかを理解する方が良いのです。
 
angevoyageur:
  • 売りの場合、買値(BID_OPEN)で取引を開始し、TPで取引を終了します。したがって、ask= BID_OPEN-100 となります。利益=始値-終値=BID_OPEN-BID_OPEN+100=100です。


私はまだnoobなので、今までずっと間違っていたらすみません。ただ、ショートオーダーで、BID 価格がTPレベルに達するとTPが発動されるのは確かなのですが、ASK価格で決済されてしまいます・・・今は週末なのでテストできないのですが、本当に・・・こんなことはないのでしょうか?TPはショートトレードではASK価格、ロングトレードではBID価格でトリガーされるのでしょうか?もしそうなら、ASK価格が利用できない場合、バックテストでは どうなるのでしょうか?

スプレッドに関しては、比較のために様々なブローカーのスプレッドを1つのチャートにプロットするティックコレクターを書きました。ニュース発表時以外は全く一定のものもあれば、スプレッドがかなり変動するものもあります。中にはAsk価格が100msほど遅れているように見えるものさえあります(つまり、価格が突然下がるとスプレッドが大きくなり、価格が突然上がると小さくなりすぎる)...。

 
angevoyageur:
  • 売りの場合、買値(BID_OPEN)でオープンし、TPでクローズするので、アスク=BID_OPEN-100のときです。利益=始値-終値=BID_OPEN-BID_OPEN+100=100となります。
  • 買いの場合、アスク(ASK_OPEN)でオープンし、TPでクローズするので、ビッド=ASK_OPEN+100のとき。利益=終値-始値=ASK_OPEN+100-ASK_OPEN=100となります。

フローティングスプレッドだろうがなんだろうが、これは変わらない。

いや、これは正しくありません。 取引を開始してすぐに決済した場合、損失はスプレッドによるものであると仮定してみましょう。売りの利益 = 始値 -終値= BID_OPEN - BID_OPEN + 0 = 0 と計算しますが、スプレッドが支払われなければならないので、これは正しい答えではありません。

本来はこうです ... 利益 = 始値 - 終値 = BID_OPEN - ASK_OPEN + 0 = -Spread. .しかし、これはスプレッドが始値から終値まで同じであると仮定しています。

 
alladir:


私はまだnoobなので、今までずっと間違っていたのなら失礼します。ただ、ショート注文の場合、BID価格がTPレベルに達するとTPが発動されるのは確かなのですが、ASK価格を使って取引を終了しています・・・今は週末なのでテストできないのですが、本当に・・・これは違うのでしょうか?TPはショートトレードではASK価格を使い、ロングトレードではBID価格を使うのでしょうか?もしそうなら、ASK価格が利用できない場合、バックテストではどうなるのでしょうか?

心配しないでください、私たちはこの段階を通過しなければなりません、何度もテストしてください、それが学ぶ最善の方法です。売り取引の終了とは何ですか?それは買いです。この買い(BUY)は売値で取られるわけですが、どの売値で取られるのですか?売りのTPです。

週末にバックテストを すると、金曜日の夕方に取引セッションが終了したときのスプレッドが分かります。Askは常に単純なBid+Spreadです。週末にバックテストをすると、セッション終了時にスプレッドが広がるので、大きなスプレッドが得られる可能性があります。