[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 87 1...808182838485868788899091929394...652 新しいコメント Maxim Zaguzov 2011.08.15 05:30 #861 FOReignEXchange: 好きなものを好きな人が手書きはみんな違う。もしかしたら、正しいかもしれませんが、ずさんだと思います。私ならそんなやり方はしない。まず、なぜそこで変数を宣言しなければならないのか、そこに何の意味があるのか、私にもよくわかりません。次に、OrderSend関数の直後にPriceBuy = Ask;という行があります。そして、私が理解する限り、この関数の実行が終了すると同時に、計算が次の行にすぐに渡されます。Askの価格は変えられないと思う。プログラムの正常な動作に支障がなければ、文字数を減らして、何でもできるだけシンプルに書くように心がけています。私はあなたと同じように値を割り当てることができます、私はここで問題を見ません。最初に思いついたこと、一番簡単なことを書きました。 私は一度Pips Expert Advisorを書き、考慮すべき最低利益を5pipsとするコンテストに応募したことがあります。EAにTP=5, SL=10を設定して、散歩に出かけました。夕方帰宅し、端末を覗いてみてガッカリ。私のPips Expert Advisorはほとんどのトレードを利益で決済しましたが、そのうちのいくつかは4ポイントや3ポイントであり、私が必要としていた5ポイントではありませんでした。ちなみに、SLは10点ではなく、11点、12点ということもありました...。 なぜ?きっと、答えはわかっているはずです:D ここでは、注文の開始価格として AskとBidの価格をカウントしないようにした実際の状況を示しています。1〜2点が自分にとって重要でない場合は、OKです。私にとって大切なのは、小さなことなのです。 Денис 2011.08.15 05:36 #862 MaxZ: なぜダメなのか?きっと、答えはわかっているはずです:D なーんだ。最初はスプレッドがカウントされないからだと思ったんです。 利益が6~7pipsになったトレードはありましたか? Maxim Zaguzov 2011.08.15 05:39 #863 FOReignEXchange: なーんだ。最初、スプレッドが計算されていないからだと思いました。 くそ...自分の言葉を引用すると MaxZ: 第三に、OrderSend 関数で Slippage を指定し、買い注文を出したい場合、OrderSend 関数で指定した取引注文の実行には一定の時間がかかり、価格がこの値から離れることがあるため、必ずしも Ask 価格で正確に注文を出すとは限りません。 そして、TPとSLをどのような価格価値に結びつけるのか。聞くには...価格は変更されましたが、TPとSLはどこにも移動していません。 Денис 2011.08.15 05:47 #864 MaxZ: TPとSLをどのような価格帯に固定するか?聞くには...価格は変更されましたが、TPとSLはどこにも移動していません。 私のスペルが絶対に正しいという保証はありません。でも、必要なときはいつもこの方法でやっています。特に不具合は感じていません。 5pips以下の利益確定をしたあなたのケースについては、コードを拝見していないので何とも言えません。 Maxim Zaguzov 2011.08.15 05:49 #865 でした。 if (Opn_B) { Alert("Попытка открыть ордер Buy..."); RefreshRates(); SL = Ask-StopLoss*Point; TP = Ask+TakeProfit*Point; Ticket = OrderSend(Symb, OP_BUY , Lots, Ask, Slippage, SL, TP, NULL, MAGIC, 0, Blue); if (Ticket > 0) { Alert("Открыт ордер Buy ", Ticket, "."); Opn_B = False; } else Alert("Ошибка: ", GetLastError()); } なった。 if (Opn_B) { Alert("Попытка открыть ордер Buy..."); RefreshRates(); SL = Ask-StopLoss*Point; TP = Ask+TakeProfit*Point; Ticket = OrderSend(Symb, OP_BUY , Lots, Ask, Slippage, SL, TP, NULL, MAGIC, 0, Blue); if (Ticket > 0) { if (OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) if (OrderCloseTime() == 0) { Alert("Открыт ордер Buy ", Ticket, "."); Opn_B = False; if (NormalizeDouble(OrderOpenPrice()-OrderStopLoss(), Digits) != NormalizeDouble(StopLoss*Point, Digits)) { SL = OrderOpenPrice()-StopLoss*Point; TP = OrderOpenPrice()+TakeProfit*Point; Alert("Попытка модифицировать ордер Buy ", Ticket, "..."); if (OrderModify(Ticket, OrderOpenPrice(), SL, TP, 0, Blue)) Alert("Ордер Buy ", Ticket, " модифицирован."); else Alert("Ошибка: ", GetLastError()); } } else Alert("Да ну нафиг!?"); } else Alert("Ошибка: ", GetLastError()); } 原理はこうだ。でも、実はもう少し複雑なんです...。 何線?そうなんですか?:))) Денис 2011.08.15 05:54 #866 MaxZ: でした。 なった。 原理はこうだ。でも、実はもう少し複雑なんです...。 何線?そうなんですか?:))) ???理解できない。最初の例では、SLとTPはどこにあるのですか? Maxim Zaguzov 2011.08.15 05:55 #867 FOReignEXchange: ???理解できない。最初の例では、SLとTPはどこにあるのですか? 私は原理を示しただけです。よし、それなら追加されました。 MaxZ: 原理はこうだ。でも、実はもう少し複雑なんです...。 指定した価格で注文が開始されない場合、注文を修正する際にエラーが発生し、同じレーキに遭遇する可能性があります。そのため、実際にはTicketがプラスになる場合は、複数回注文を修正するようにしています...。ただ、すべてのコードをコピーするのは避けたい。面倒なんです。しかし、原理は述べている。 Денис 2011.08.15 05:56 #868 ああ、なるほどね。SLとTPはOrderSend関数の 前に立っています。もしかして、それが問題だったのでしょうか? Maxim Zaguzov 2011.08.15 06:00 #869 FOReignEXchange: ああ、なるほどね。SLとTPはOrderSend関数の前に立っています。もしかして、それが問題だったのでしょうか? 何が問題なのでしょうか?SLとTPが計算されるまでに、価格は変化する時間があるのでしょうか?;))) Денис 2011.08.15 06:02 #870 MaxZ: それの何が問題なのでしょうか?SLとTPが計算されるまでに、価格が変化する時間はあるのだろうか?;)) OrderSend関数の 実行中に、価格が変化する可能性があることをお伝えしました。だから、すでに変化してしまったものを後から割り当てるしかない。 1...808182838485868788899091929394...652 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
好きなものを好きな人が手書きはみんな違う。もしかしたら、正しいかもしれませんが、ずさんだと思います。
私ならそんなやり方はしない。
まず、なぜそこで変数を宣言しなければならないのか、そこに何の意味があるのか、私にもよくわかりません。
次に、OrderSend関数の直後にPriceBuy = Ask;という行があります。そして、私が理解する限り、この関数の実行が終了すると同時に、計算が次の行にすぐに渡されます。Askの価格は変えられないと思う。プログラムの正常な動作に支障がなければ、文字数を減らして、何でもできるだけシンプルに書くように心がけています。私はあなたと同じように値を割り当てることができます、私はここで問題を見ません。最初に思いついたこと、一番簡単なことを書きました。
私は一度Pips Expert Advisorを書き、考慮すべき最低利益を5pipsとするコンテストに応募したことがあります。EAにTP=5, SL=10を設定して、散歩に出かけました。夕方帰宅し、端末を覗いてみてガッカリ。私のPips Expert Advisorはほとんどのトレードを利益で決済しましたが、そのうちのいくつかは4ポイントや3ポイントであり、私が必要としていた5ポイントではありませんでした。ちなみに、SLは10点ではなく、11点、12点ということもありました...。
なぜ?きっと、答えはわかっているはずです:D
ここでは、注文の開始価格として AskとBidの価格をカウントしないようにした実際の状況を示しています。1〜2点が自分にとって重要でない場合は、OKです。私にとって大切なのは、小さなことなのです。
なぜダメなのか?きっと、答えはわかっているはずです:D
なーんだ。最初はスプレッドがカウントされないからだと思ったんです。
利益が6~7pipsになったトレードはありましたか?
なーんだ。最初、スプレッドが計算されていないからだと思いました。
くそ...自分の言葉を引用すると
MaxZ:
第三に、OrderSend 関数で Slippage を指定し、買い注文を出したい場合、OrderSend 関数で指定した取引注文の実行には一定の時間がかかり、価格がこの値から離れることがあるため、必ずしも Ask 価格で正確に注文を出すとは限りません。
そして、TPとSLをどのような価格価値に結びつけるのか。聞くには...価格は変更されましたが、TPとSLはどこにも移動していません。
TPとSLをどのような価格帯に固定するか?聞くには...価格は変更されましたが、TPとSLはどこにも移動していません。
私のスペルが絶対に正しいという保証はありません。でも、必要なときはいつもこの方法でやっています。特に不具合は感じていません。
5pips以下の利益確定をしたあなたのケースについては、コードを拝見していないので何とも言えません。
でした。
なった。
原理はこうだ。でも、実はもう少し複雑なんです...。
何線?そうなんですか?:)))
でした。
なった。
原理はこうだ。でも、実はもう少し複雑なんです...。
何線?そうなんですか?:)))
???理解できない。最初の例では、SLとTPはどこにあるのですか?
???理解できない。最初の例では、SLとTPはどこにあるのですか?
私は原理を示しただけです。よし、それなら追加されました。
MaxZ:
原理はこうだ。でも、実はもう少し複雑なんです...。
ああ、なるほどね。SLとTPはOrderSend関数の前に立っています。もしかして、それが問題だったのでしょうか?
それの何が問題なのでしょうか?SLとTPが計算されるまでに、価格が変化する時間はあるのだろうか?;))
OrderSend関数の 実行中に、価格が変化する可能性があることをお伝えしました。だから、すでに変化してしまったものを後から割り当てるしかない。