もう、戦うのを諦めそうです...。 - ページ 3

 
Maxim Dmitrievsky:
どこも同じだと思うのですが...。外為ブローカー

私のブログでレビューしているので見てみてください。1~2週間後にはさらに3つのブローカーが登場する予定です(現在テスト中)。

いずれも手頃な預金額で、条件も良い。

 
Andrey Khatimlianskii:

私のブログでレビューしているので見てみてください。1~2週間後にはさらに3つのブローカーが登場する予定です(現在テスト中)。

いずれも手頃な預金額で、条件も良い。

クールなレビュー :)
 

15:23:39からスタートしましょう。

0.14ロットで買いのストップを置こうとしています。

価格 1.07998 SL = 1.07956 - 差 42 ポイント - エラー

価格 1.08006 SL = 1.07957 - 差 49 pips - 間違えました。

価格 1.08009 SL = 1.07957 - 差 52 pips - 受け入れられました!

もしかして、SLと価格の差が問題なのでは?

 
Oksana Berenko:

15:23:39からスタートしましょう。

あなたはロット0.14で買いのストップを入れようとしています。

価格 1.07998 SL = 1.07956 - 差 42 ポイント - エラー

価格 1.08006 SL = 1.07957 - 差 49 pips - 間違えました。

価格 1.08009 SL = 1.07957 - 差 52 pips - 受け入れられました!

結局はSLと価格の差が問題なのでは?

なぜ、ストップが20pipsだと間違いだったのでしょう。そして、20(変更)でない場合は、やはりチェック

価格 1.07998 SL = 1.07956 - これはバイストップ、すべてOK

2作目も、3作目も......。

私のコードでは

ValidStop = SymbolInfoInteger(Symbol(),SYMBOL_TRADE_STOPS_LEVEL);
if( Ask-iMA(NULL,0,MAperiod,0,MODE_SMA,PRICE_CLOSE,0) >= ValidStop*Point)
   {
    double price;
    Lots = LotsOptimized();
    if(ValidStop<=StopLevels) price = MarketInfo(_Symbol,MODE_ASK)+StopLevels*_Point;
    else price = MarketInfo(_Symbol,MODE_ASK)+ValidStop*_Point;
    
    if(OrderSend(Symbol(), OP_BUYSTOP, Lots, price, 2, NormalizeDouble(iMA(NULL,0,MAperiod,0,MODE_SMA,PRICE_CLOSE,0),_Digits), 0, NULL,      OrderMagic)) GetLastError();
  }
 
Maxim Dmitrievsky:

なぜエラーに なるかというと、ストップが20pipsだった場合。そして、20(変更)でない場合は、やはりチェック

写真だけ読ませていただきました

リス

ここで私はそれを読みました。

15:23:39からスタートしましょう。

あなたはロット0.14で買いのストップを入れようとしています。

価格 1.07998 SL = 1.07956 - 差 42 ポイント - エラー

価格 1.08006 SL = 1.07957 - 差 49 pips - エラー

価格1.08009 SL = 1.07957 - 差52ポイント - 受け入れられました!

そして、結論を出した。

結局はSLと価格の差がネックなのかも?

 
Oksana Berenko:

写真だけ読ませていただきました

ここで私はそれを読みました。

15:23:39からスタートしましょう。

ロット0.14で買いのストップをかけようとしています。

価格 1.07998 SL = 1.07956 - 差 42 ポイント - エラー

価格 1.08006 SL = 1.07957 - 差 49 pips - エラー

価格1.08009 SL = 1.07957 - 差52ポイント - 受け入れられました!

そして、結論を出した。

つまるところ、SLと価格の差なのかも?

あ、そうそう、上のコードでは、注文とストップの価格の差がストップロスを下回ってはいけないということをチェックしています。さらにアックにストップレベリングの値を加えて、その水準で注文を出します。

if( Ask-iMA(NULL,0,MAperiod,0,MODE_SMA,PRICE_CLOSE,0) >= ValidStop*Point)
 

つまり、現在のasc+買いのストップレベル、売りのビッドストップレベルを合計した価格に常にポーズをかける。

if(ValidStop<=StopLevels) price = MarketInfo(_Symbol,MODE_ASK)+StopLevels*_Point;
 
Maxim Dmitrievsky:

つまり、現在のasc+買いのストップレベル、売りのビッドストップレベルを合計した価格に常にポーズをかける。

Stop-Levelの値が正しく表示されないことがあります。コードが1つの値を返すが、実際には異なる値である。0を返していたのに、実際には20を返していることに遭遇したことがあります。あるいは、20を返したとしても、手でもっと小さな値に設定することもできるのです
 
Oksana Berenko:
stopplayの値が正しく表示されないことが多い。このコードは1つの値を返しますが、実際には異なる値です。0を返しているのを見たことがあるが、実際は20である。あるいは、20を返したとしても、手でもっと小さな値に設定することもできるのです
プリントに 目を通したが、いつも20枚しか返ってこない。注文送信中に価格が1ポイント以上変化したため、サーバーがエラーを返した可能性があります。
 
Maxim Dmitrievsky:

つまり、買い注文の場合は現在のアスク+ストップレベル、売り注文の場合はビッド-ストップレベルの合計である価格で、常に保留中の注文が発注されます。

速い相場でストップレベル寸前で取引することはできない。5桁で1pipのスリッページで即時約定でオープンしようとするようなもので、90%はリクオートが発生することになります。

バックラッシュを追加する。

オクサナ・ベレンコ
Stop Levelの値が正しく表示されないことが多い。実際には異なるのに、コードが1つの値を返している。0を返したり、実は20を返したりするのに遭遇したことがある。あるいは、20を返したとしても、手でもっと小さな値に設定することもできるのです

0は、存在しないか、本人だけが知っているアルゴリズムでサーバー上でチェックされていることを意味します。

そして、正しい価格からカウントする必要があります(bidとaskを混同しないように)。また、成行取引のTP付きSLは始値からではなく、トリガーとなる価格からチェックする必要があります。