エラー、バグ、質問 - ページ 619

 
-Alexey-:

現在、MT4 409 bildの最小ストップレベル機能を書いています。買い注文の場合はBidの最小値を、買い指値注文の場合はAskの最小値を正しいと見なし、論理的には買いと同様の操作を行う。 質問 - これは意図的なものですか、それともBODに手紙を出す必要があるのでしょうか?

昔も今も、そしてこれからも、アスクの製品を買うことはあり得ません。

言葉以外の証拠はあるのでしょうか?

 
-Alexey-:

現在、MT4 409 bildでは、ストップレベルの最小値を計算する機能を書き込んでいます。買い注文の場合はBidの最小値を正解とし、買い注文の場合はAskの最小値を正解とする。 論理的には買いと同じような操作が行われる。 質問 - これが本来の姿なのか、それともBODに書いた方がいいのか?

ストップはビッドで発動し、ペンデントはアスクで開くという原理です。

セルゲイ

今までも、今も、これからも、アスクの製品を買い続けます。

購入の場合、SLまでの最短距離はビッドから取りますが、私の記憶ではずっとそうでした)
 
sergeev:

昔も今も、そしてこれからも、アスクの製品を買うことはあり得ません。

言葉以外の根拠はあるのでしょうか?


どちらも取引操作は ASKからですが、ストップレベルは、私の理解では、BUY注文のテスターで行われるclose-sell操作を指すので、BIDからカウントされるはずです。しかし、なぜか買い注文の場合はASKからLIMITが計算される。例

bool first_run=true;
int init()
{
   return(0);
}
int deinit()
{
   return(0);
}
int start()
{
   if (first_run==true)
   {
      string _Symbol=Symbol();
      int _Digits=MarketInfo(_Symbol, MODE_DIGITS);
      double Point_size=MarketInfo(_Symbol, MODE_POINT);
      double Min_stop_distanse=MarketInfo(_Symbol, MODE_STOPLEVEL)*Point_size;
      double Min_freeze_distanse=MarketInfo(_Symbol, MODE_FREEZELEVEL)*Point_size;
      double Spread=MarketInfo(_Symbol, MODE_SPREAD)*Point_size;
      Print("Spread="+Spread);
      double _Order_price;
      double _Order_sl;
      double _Order_tp;
      double _Order_lot;
      _Order_lot=MarketInfo(_Symbol, MODE_MINLOT);
      /* highest accepted level for buy limit order */
      double _Upper_bound_for_buy_limit=NormalizeDouble(MarketInfo(_Symbol, MODE_ASK)-Min_stop_distanse, _Digits);
      /* defining orders price */
      _Order_price=_Upper_bound_for_buy_limit; /* ASK */
      _Order_sl=NormalizeDouble(_Order_price-Min_stop_distanse, _Digits); /* ASK-STOPLEVEL */
      _Order_tp=NormalizeDouble(_Order_price+Min_stop_distanse, _Digits); /* ASK+STOPLEVEL */
      /* sending buy limit order */
      OrderSend(_Symbol, OP_BUYLIMIT, _Order_lot, _Order_price, 0, _Order_sl, _Order_tp, NULL, 0, 0, Green);
      first_run=false;
   }
   return(0);
}

結果

2012.01.08 14:39:04 2011.06.03 01:43 test EURUSD,M1: Spread=0.00020000

2012.01.08 14:39:04 2011.06.03 01:43 test EURUSD,M1: open #1 buy limit 0.01 EURUSD at 1.4478 sl: 1.4474 tp: 1.4482 ok.

 
コードが正しく挿入されていない。
 
Swan:
購入の場合、SLまでの最短距離は入札から取る、私の記憶ではずっとそうだった)

まず明確にすること。

買い注文のストップの話なのか、買い注文の保留の話なのか?

 
sergeev:

コードが正しく挿入されていない。
これからどうすればいいのか?:)ハイライトして "Code "を押しましたが、そこに......。
 
-Alexey-:
これからどうする?:)ハイライトして「コード」を押したと思うのですが、そこにあるのは......。

投稿を削除して、普通にやり直せばいい。その話か、それともストップレベルの問題か?

 
sergeev:

投稿を削除して、普通に再チャレンジしてみてはいかがでしょうか。

コードでゲットしました。停止レベルについて。BODに書かれているのか、それともBID注文におけるストップレベルは注文価格のASKから計算されるような設計になっているのでしょうか?その場合、なぜBUYオーダーでは逆とされているのでしょうか?
 
-Alexey-:
買い指値注文の場合、BIDストップ/レベルは、注文のASK価格から計算されます。そうであるなら、なぜBUYオーダーでは逆に考えられているのでしょうか?


まずは順番に説明します。小学2年生。

А.注文では 始値から ストップロスとテイクプロフィットを計算します。100ポイント欲しいなら、始値から100ポイント利益確定しなければならないことは明らかである。

Б.SL/TP/STOPの設定は、ストップレベルと呼ばれるものに影響されます。つまり、EXECUTION PRICEからStopLossより近い位置にストップロス/スタックプロフィット/ポジションを置くことはできません。

ここから、次のような結論が導き出される。

1.成行 注文を出す際には、ストップがかかる現在の価格からストップレベルを考慮してSL/TPを設定する必要があります。Bayの場合、ストップはBidで発動するので、現在のBidからのストップレベルを考慮します。これは、通常、注文開始から入れるSL/TPですが(100ポイント必要なので)、Bidの位置とストップレベルの大きさを必ず 考慮に入れてください。

2.トレードオファーを 開くときは、トリガーされた価格からストップレベルより近くては いけません。つまり、Buy Stop/ Bail Outの場合、Askに対してストップレベルを測定します。つまり、希望する価格で逆指値注文を出すのですが、常にAskからのストップレベルの距離を考慮しています。

でも、注意してくださいね。保留中の 注文にストップロスやテイクプロフィットを入れると、注文の始値から 計測されます アスクからではなく、注文の始値から です。現在の価格は、この2つの保留中の注文(SL/TP)に干渉しない。未来のトリガーとなる秩序への距離が邪魔をしているだけなのだ。 つまり、この注文の始値からストップレベルの距離を考慮して、注文にSL/TPを設定するのです。Bid/Askは関係ない。

覚えていますか?

 
sergeev:

でも、注意してくださいね。保留中の注文の stoplossとtakeprofitは、冷静に注文の始値から 計る!!アスクからではなく、注文の始値から だ!!。現在の価格は、この2つの保留中の注文(SL/TP)に干渉しない。未来のトリガーとなる秩序への距離が邪魔をしているだけなのだ。 つまり、この注文の始値からストップレベルの距離を考慮して、注文にSL/TPを設定するのです。Bid/Askは関係ない。

わかったか?

はい、覚えていますが、理解できません。買い指値注文は、その水準がAsk価格に達したときに保留されていることがわかります。したがって、その瞬間、現在のBid価格は、ストライクプライス(すなわち、約定した瞬間のAsk価格)-ストップレベルとして先に測定したSL(同じくBidで約定)から許容できない距離にあります。これを説明しようとすると、執行時のBidの執行価格がどうなるかは事前に分からないとしか言いようがない。そういう意図なら......よし、スッキリした! 詳しい投稿ありがとうございます。