[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 465 1...458459460461462463464465466467468469470471472...652 新しいコメント asasusa 2011.12.29 06:29 #4641 すべて正常に選択されているのですが、エラーがおかしいのでテスターで調べてもわかりません。 ロット0.3をクローズし、ロット0.7を同時に売ったと書かれています。テスターで取引の一部が決済されるのは、こういうことなのでしょうか。そのようなボリュームがどこから来るのかわかりません。エキスパートアドバイザーにはそのようなボリュームに関する情報はありません。 for(Counter1=0;Counter1<OrdersTotal();Counter1++) { if(OrderSelect(Counter1,SELECT_BY_POS,MODE_TRADES) == false) break; if(OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) { if(OrderType() == OP_BUY) { BuyOpened = 1; if((Bid - OrderOpenPrice()) / Point >= TrailingLevel1 && (Bid - OrderOpenPrice()) / Point < TrailingLevel2) { // Перенести в безубыток } } if(OrderType() == OP_SELL) { TrailingPrice1 = OrderOpenPrice() - TrailingLevel1*Point; MyOrderStopLoss1 = NormalizeDouble(OrderStopLoss(),4); MyOrderStopLoss1 = OrderOpenPrice() - BreakEven*Point; SellOpened = 1; if((OrderOpenPrice() - Ask) / Point >= TrailingLevel1 && (OrderOpenPrice() - Ask) / Point < TrailingLevel2 && OrderStopLoss() != MyOrderStopLoss1) { ClosingLot = OrderLots() / 100 * ClosingPercent; ClosingLot = NormalizeDouble(ClosingLot,3); OrderClose(OrderTicket(),ClosingLot,Ask,Slippage,Yellow); OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice() - BreakEven*Point,OrderTakeProfit(),OrderExpiration(),Black); } } } } ilunga 2011.12.29 06:45 #4642 sss2019: すべて正常に選択されているのですが、エラーがおかしいのでテスターで調べてもわかりません。 ロット0.3をクローズし、ロット0.7を同時に売ったと書かれています。テスターで取引の一部が決済されるのは、こういうことなのでしょうか。また、取引の一部が決済され、0.16、0.24、0.12とオープンする場合、どこからそのようなボリュームが出てくるのか分かりません。エキスパートアドバイザーにはそのようなボリュームはありません。 はい、このようにクローズの一部が表示されます。 2つ質問があります。 1)次に閉じるべきでないものをどのように知るか? 次のティックでは,この関数の条件が再び満たされます。 2) 私の記憶違いでなければ、部分閉鎖後にオーダーチケットが変更される、つまり OrderClose(OrderTicket(),ClosingLot,Ask,Slippage,Yellow); OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice() - BreakEven*Point,OrderTakeProfit(),OrderExpiration(),Black); 2行目に変更はありません 3)そして忘れてはならないのがノーマライゼーション...。 asasusa 2011.12.29 07:26 #4643 ilunga: はい、このようにパーツを閉じた状態で表示されます。 の2つの質問をすぐにしました。 1)これ以上閉じる必要がないとどうしてわかるのですか? この関数では,次のティックの条件が再び満たされます。 2) 私の記憶違いでなければ、部分閉鎖後にオーダーチケットが変更される、つまり 2行目に変更はありません 3)そして忘れてはならないのが、ノーマライゼーション...。 チケットは本当に変わるのか?それが、すべてのエラーの原因になっているのでしょう。では、なぜ手動で注文を変更しても、チケットは変更されないのでしょうか?チケットが変わるかどうか、はっきりさせたいんです。 asasusa 2011.12.29 07:32 #4644 本当に変わりました、ありがとうございました asasusa 2011.12.29 08:15 #4645 通貨ペアから価格を取得してさらに作業を行う場合、例えば最小値から取得した価格を正規化してストップロスに 設定する必要があると聞いたのですが、本当でしょうか? --- 2011.12.29 08:25 #4646 sss2019: 通貨ペアから価格を取得する場合、例えば安値から取得し、ストップロスまで正規化する必要があると聞いたのですが、本当でしょうか? 。 はい、しかし、Ordersend/OrderModify/...にセットした瞬間の正規化ということです。これらの機能の前に、操作することができます。 asasusa 2011.12.29 08:37 #4647 sergeev: しかし、正規化はOrdersend/OrderModify/...での置換の瞬間に行われることを意味します。これらの機能の前に、操作することができますし、操作を行うことができます 何桁まで正規化すればいいのでしょうか?デフォルトでは、価格は小数点以下4桁のようで、5桁の価格値でも、少なくともLow[0]とHigh[0]は常に小数点以下4桁しかなく、Alertで出力したり、Printで 出力してみたりしてみました。 ilunga 2011.12.29 08:48 #4648 sss2019: 何桁まで正規化すればいいのでしょうか?デフォルトでは5桁の値でも小数点以下4桁のようで、少なくともLow[0]とHigh[0]は常に小数点以下4桁しかなく、AlertやPrintで出力しようとしたのですが。 デフォルトでは、Digits 価格は小数点の後に数字があります。 とAlert、Printはデフォルトで4つしか出力されません。詳細は、文字列DoubleToStr( double value, int digits) を使用してください。 asasusa 2011.12.29 09:07 #4649 そして、このようにトレーリングストップを実行するのを助けます。売り注文 if((OrderOpenPrice() - Ask) / Point > Trailing) //Если прибыль в пунктах больше чем уровень трейлинг стопа { NewStopLoss = Ask + TrailingLevel2*Point; double NewStopLoss2 = 9999; if(NewStopLoss2 > NewStopLoss) { NewStopLoss2 = NewStopLoss; } OrderModify(OrderTicket(),OrderOpenPrice(),NewStopLoss2,OrderTakeProfit(),OrderExpiration(),Black); } 問題は、ストップロスは順張りしかできないはずなのに、私の注文では逆張りもされていることです。 ________________________________ 質問が消えてしまいました、すみません。 ilunga 2011.12.29 09:12 #4650 sss2019: そして、このようにトレーリングストップを実行するのを助けます。売り注文 問題は、ストップロスは前方にしか移動しないはずなのに、後方にも移動させていることです。。double NewStopLoss2 = 9999; if(NewStopLoss2 > NewStopLoss) { NewStopLoss2 = NewStopLoss; } と同じです。 NewStopLoss2 = NewStopLoss; 1...458459460461462463464465466467468469470471472...652 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
すべて正常に選択されているのですが、エラーがおかしいのでテスターで調べてもわかりません。
ロット0.3をクローズし、ロット0.7を同時に売ったと書かれています。テスターで取引の一部が決済されるのは、こういうことなのでしょうか。そのようなボリュームがどこから来るのかわかりません。エキスパートアドバイザーにはそのようなボリュームに関する情報はありません。
すべて正常に選択されているのですが、エラーがおかしいのでテスターで調べてもわかりません。
ロット0.3をクローズし、ロット0.7を同時に売ったと書かれています。テスターで取引の一部が決済されるのは、こういうことなのでしょうか。また、取引の一部が決済され、0.16、0.24、0.12とオープンする場合、どこからそのようなボリュームが出てくるのか分かりません。エキスパートアドバイザーにはそのようなボリュームはありません。
はい、このようにクローズの一部が表示されます。
2つ質問があります。
1)次に閉じるべきでないものをどのように知るか?
次のティックでは,この関数の条件が再び満たされます。
2) 私の記憶違いでなければ、部分閉鎖後にオーダーチケットが変更される、つまり
2行目に変更はありません
3)そして忘れてはならないのがノーマライゼーション...。
はい、このようにパーツを閉じた状態で表示されます。
の2つの質問をすぐにしました。
1)これ以上閉じる必要がないとどうしてわかるのですか?
この関数では,次のティックの条件が再び満たされます。
2) 私の記憶違いでなければ、部分閉鎖後にオーダーチケットが変更される、つまり
2行目に変更はありません
3)そして忘れてはならないのが、ノーマライゼーション...。
チケットは本当に変わるのか?それが、すべてのエラーの原因になっているのでしょう。では、なぜ手動で注文を変更しても、チケットは変更されないのでしょうか?チケットが変わるかどうか、はっきりさせたいんです。
本当に変わりました、ありがとうございました
通貨ペアから価格を取得する場合、例えば安値から取得し、ストップロスまで正規化する必要があると聞いたのですが、本当でしょうか? 。
はい、しかし、Ordersend/OrderModify/...にセットした瞬間の正規化ということです。これらの機能の前に、操作することができます。
しかし、正規化はOrdersend/OrderModify/...での置換の瞬間に行われることを意味します。これらの機能の前に、操作することができますし、操作を行うことができます
何桁まで正規化すればいいのでしょうか?デフォルトでは、価格は小数点以下4桁のようで、5桁の価格値でも、少なくともLow[0]とHigh[0]は常に小数点以下4桁しかなく、Alertで出力したり、Printで 出力してみたりしてみました。
何桁まで正規化すればいいのでしょうか?デフォルトでは5桁の値でも小数点以下4桁のようで、少なくともLow[0]とHigh[0]は常に小数点以下4桁しかなく、AlertやPrintで出力しようとしたのですが。
デフォルトでは、Digits 価格は小数点の後に数字があります。
とAlert、Printはデフォルトで4つしか出力されません。詳細は、文字列DoubleToStr( double value, int digits) を使用してください。
そして、このようにトレーリングストップを実行するのを助けます。売り注文
問題は、ストップロスは順張りしかできないはずなのに、私の注文では逆張りもされていることです。
________________________________
質問が消えてしまいました、すみません。
そして、このようにトレーリングストップを実行するのを助けます。売り注文
問題は、ストップロスは前方にしか移動しないはずなのに、後方にも移動させていることです。。と同じです。