[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 450 1...443444445446447448449450451452453454455456457...652 新しいコメント Artyom Trishkin 2011.12.23 18:09 #4491 T-G: はい、しかし、質問のポイントは、前の注文がマイナスで閉じられたことです。 関数はこれを表示する時間がなく、まず、数ティックの後に注文が開かれ、その時だけ最後の損失を表示しますが、注文はすでに開かれています。 チェックでコードスケルトンを書きました T-G 2011.12.23 18:44 #4492 私はもう一度言うチェックする時間を持って いない最初にそれがないヘラジカが取引を開始し、それがヘラジカがあったことを彼に来るかのように通過しました。 olegarh 2011.12.23 18:47 #4493 artmedia70:Expiration pending order パラメータを使用してはいかがでしょうか。もちろん、このパラメータが使用できない可能性もあります。一部の取引サーバーでは、保留中の注文の有効期限を禁止している場合があります。この場合、expiration パラメータに0以外の値を設定しようとすると、エラー147(ERR_TRADE_EXPIRATION_DENIED)が発生します。もちろん、それしかないのですが...。ご指摘の通り行を変更したところ、Expert Advisorが動作しなくなりました...。 ticket=OrderSend(Symbol()、OP_BUYSTOP、Lots、Ask+PriceDistance*ポイント、3、Ask+PriceDistance*ポイント-StopLoss*ポイント、Ask+PriceDistance*ポイント+TakeProfit*ポイント、 "PD",1,TimeCurrent()+10*60,Green); 同時に、禁止事項がないことも確かです。 どこにエラーがあるのかご指摘ください。 Artyom Trishkin 2011.12.23 18:47 #4494 T-G: 私はもう一度言うチェックする時間を持って いない最初にそれがないヘラジカが取引を開始し、それがヘラジカがあったことを彼に来るかのように通過しました。 奇跡は起きない。テレパスに診てもらうといい... Artyom Trishkin 2011.12.23 19:05 #4495 OlegArH: ご指摘の通り行を変更したところ、Expert Advisorが動作しなくなりました...。 ticket=OrderSend(Symbol()、OP_BUYSTOP、Lots、Ask+PriceDistance*ポイント、3、Ask+PriceDistance*ポイント-StopLoss*ポイント、Ask+PriceDistance*ポイント+TakeProfit*ポイント、 "PD",1,TimeCurrent()+10*60,Green); 同時に、禁止事項がないことも確かです。 どこにエラーがあるのかご指摘ください。 動かなくなった可能性は低いが、あなたの基準には欠陥がある可能性が高い。コードがないと、EAが動かない理由が思いつかないのですが...。 olegarh 2011.12.24 05:18 #4496 artmedia70: 動かなくなったということはないと思いますが、基準が甘くなる可能性が高いです。コードがないと、EAが動かない理由が思いつかない... これまで走り書きしてきたのは、こんな感じです。 extern double TakeProfit = 50;extern double StopLoss=100;extern double PriceDistance = 50;extern double Lots = 1;extern double TrailingStop = 50;//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+int start(){int cnt, ticket, total; total=OrdersTotal()。if(total<1) {ticket=OrderSend(Symbol(),OP_BUYSTOP,Lots,Ask+PriceDistance*Point,3,Ask+PriceDistance*Point-StopLoss*Point, Ask+PriceDistance*Point+TakeProfit*Point, "PD",1,0,Green) です。スリープ(10000)。ticket=OrderSend(Symbol(),OP_SELLSTOP,Lots,Bid-PriceDistance*Point,3,Bid-PriceDistance*Point+StopLoss*Point,Bid-PriceDistance*Point-TakeProfit*Point, "PD",2,0,Red);} for(cnt=0;cnt<total;cnt++){OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);if(OrderType()<=OP_SELL && // 開いたポジションをチェックする) OrderSymbol()==Symbol()) // シンボルをチェックする{if(OrderType()==OP_BUY) // ロングポジションがオープンされる{// 閉鎖すべきなのか?もし(1!=1){オーダークローズ(OrderTicket(),OrderLots(),Bid,3,Violet); // クローズポジションreturn(0); // 終了}// トレーリングストップをチェックするif(TrailingStop>0) { if(入札-注文開始価格()>ポイント*トレイリングストップ){if(オーダーストップ・ロス()<ビッドポイント*トレイリングストップ){OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green)。return(0)です。}}}}else // ショートポジションに移行{// 閉鎖すべきなのか?もし(1!=1){オーダークローズ(オーダーチケット(),オーダーロット(),アスク,3,バイオレット); // クローズポジションreturn(0); // 終了}// トレーリングストップをチェックするif(TrailingStop>0) { if((OrderOpenPrice()-Ask)>(Point*TrailingStop)){if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))){オーダーモディファイ(オーダーチケット()、オーダーオープンプライス()、アスク+ポイント*トレイリングストップ、オーダーテイクプロフィット()、0、レッド)。return(0)です。}}}}}}return(0)です。}// 終了 仕組みはこうだ...。しかし、それに応じて、クリーパーを無限に取引します。 ありがとうございました。 [ARCHIVE!] フォーラムを散らかさないように、どんなルーキーの質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしではどこにも行けない - 4. [ARCHIVE] Any rookie question, [警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 Роман 2011.12.24 05:26 #4497 OlegArH: これまで走り書きしてきたのは、こんな感じです。 extern double TakeProfit = 50;extern double StopLoss=100;extern double PriceDistance = 50;extern double Lots = 1;extern double TrailingStop = 50;//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+int start() { int cnt, ticket, total; total=OrdersTotal()。 if(total<1) { ticket=OrderSend(Symbol(),OP_BUYSTOP,Lots,Ask+PriceDistance*Point,3,Ask+PriceDistance*Point-StopLoss*Point, Ask+PriceDistance*Point+TakeProfit*Point, "PD",1,0,Green) です。 スリープ(10000)。 ticket=OrderSend(Symbol(),OP_SELLSTOP,Lots,Bid-PriceDistance*Point,3,Bid-PriceDistance*Point+StopLoss*Point,Bid-PriceDistance*Point-TakeProfit*Point, "PD",2,0,Red); } for(cnt=0;cnt<total;cnt++) { OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); if(OrderType()<=OP_SELL && // 開いたポジションをチェックする) OrderSymbol()==Symbol()) // シンボルをチェックする { if(OrderType()==OP_BUY) // ロングポジションがオープンされる { // 閉鎖すべきなのか? もし(1!=1) { オーダークローズ(OrderTicket(),OrderLots(),Bid,3,Violet); // クローズポジション return(0); // 終了 } // トレーリングストップをチェックする if(TrailingStop>0) { if(入札-注文開始価格()>ポイント*トレイリングストップ) { if(オーダーストップ・ロス()<ビッドポイント*トレイリングストップ) { OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green)。 return(0)です。 } } } } else // ショートポジションに移行 { // 閉鎖すべきなのか? もし(1!=1) { オーダークローズ(オーダーチケット(),オーダーロット(),アスク,3,バイオレット); // クローズポジション return(0); // 終了 } // トレーリングストップをチェックする if(TrailingStop>0) { if((OrderOpenPrice()-Ask)>(Point*TrailingStop)) { if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))) { オーダーモディファイ(オーダーチケット()、オーダーオープンプライス()、アスク+ポイント*トレイリングストップ、オーダーテイクプロフィット()、0、レッド)。 return(0)です。 } } } } } } return(0)です。 }// 終了 仕組みはこうだ...。しかし、それに応じて、クリーパーを無限に取引します。 ありがとうございました。 コードの挿入方法を学ぶ -すべて 読む olegarh 2011.12.24 06:02 #4498 Roman.: コードの挿入方法を学ぶ -すべて 読むRomanさん、回答ありがとうございました。 私がやるべきことはただ一つ、ロボットが自動的に開いた時間分のトレードを開くようにすることです。 例えば、ロボットがTARGET取引を開始し、自動的に有効期限を現在のものから+600秒に設定する、それだけ...。 このケースでは、オプションは、彼自身がそれらを削除すると、私は価格がまだ開いていないものを含め、開始価格に10ポイント+スプレッドよりも近づいた場合、保留中の注文の変更に制限がある "訓練 "上のTC以来、適合しません 注文. それに、ポイントは、すでにオープンしているオーダーは削除せず、「プレイスルー」して失敗させることです。また、orderdeliteを設定すると、すでにトリガーされた注文も決済されます。(?) 教科書については - まあ、私は気質的にプログラマーではなく、優秀な人道主義者です - 私は絵を描き、モデルを作り、作曲し、他のもののために研ぐことはありません!) 誠心誠意、取り組んできたつもりです。納得のいくものもあれば、そうでないものもありました。 だから、ここにいるんだけど......。 Artyom Trishkin 2011.12.24 08:02 #4499 OlegArH: Romanさん、返信ありがとうございます ロボットが自動でトレードを開始した時点から、時間通りにトレードを開始するようにすればいいのです。 例えば、ロボットがTARGET取引を開始し、自動的に有効期限を現在のものから+600秒に設定する、それだけ...。 このケースでは、オプションは、彼自身がそれらを削除すると、私は価格がまだ開いていないものを含め、開始価格に10ポイント+スプレッドよりも近づいた場合、保留中の注文の変更に制限がある "訓練 "上のTC以来、適合しません 注文. それに、すでにオープンしているオーダーは削除せず、「再生」させて「死」までバブル化させることがポイントです。また、orderdeliteを設定すると、すでにトリガーされた注文も決済されます。(?) 教科書については - まあ、私は気質的にプログラマーではなく、優秀な人道主義者です - 私は絵を描き、モデルを作り、作曲し、他のもののために研ぐことはありません!) 誠心誠意、取り組んできたつもりです。納得のいくものもあれば、そうでないものもありました。 だから、ここにいるんだけど......。 ここに書かれていることを言葉で表現してみてください。 extern double TakeProfit = 50; extern double StopLoss=100; extern double PriceDistance = 50; extern double Lots = 1; extern double TrailingStop = 50; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int start() { int cnt, ticket, total; total=OrdersTotal(); if(total<1) { ticket=OrderSend(Symbol(),OP_BUYSTOP,Lots,Ask+PriceDistance*Point,3,Ask+PriceDistance*Point-StopLoss*Point, Ask+PriceDistance*Point+TakeProfit*Point,"PD",1,0,Green); Sleep (10000); ticket=OrderSend(Symbol(),OP_SELLSTOP,Lots,Bid-PriceDistance*Point,3,Bid-PriceDistance*Point+StopLoss*Point, Bid-PriceDistance*Point-TakeProfit*Point,"PD",2,0,Red); } for(cnt=0;cnt<total;cnt++) { OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); if(OrderType()<=OP_SELL && // check for opened position OrderSymbol()==Symbol()) { // check for symbol if(OrderType()==OP_BUY) { // long position is opened if(1!=1) { OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // close position return(0); // exit } // check for trailing stop if(TrailingStop>0) { if(Bid-OrderOpenPrice()>Point*TrailingStop) { if(OrderStopLoss()<Bid-Point*TrailingStop) { OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green); return(0); } } } } else { // go to short position // should it be closed? if(1!=1) { OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // close position return(0); // exit } // check for trailing stop if(TrailingStop>0) { if((OrderOpenPrice()-Ask)>(Point*TrailingStop)) { if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0)) { OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red); return(0); } } } } } } return(0); } 個人的には、「1が1に等しくないなら、注文を締め切る」という、一見するとパズルのような発想になるのですが......。 それ以降は見てません...。 ZSで、1サイクルで普通のEAが書けるなんて思わないで、やってみてください...。 Роман 2011.12.24 08:31 #4500 OlegArH: ...また、orderdeliteを入れると、すでにトリガーされているオーダーもクローズされる関数です。(?) ... いいえ、よく見てください。トリガーされた未決済注文は成行注文になります - 本機能は関係ありません。 "以前に設定された保留中の注文を 削除します。関数が正常に終了した場合、TRUE を返します。FALSEを返す 関数が正常に終了していない場合GetLastError()を呼び出してエラー情報を取得する。" 1...443444445446447448449450451452453454455456457...652 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
はい、しかし、質問のポイントは、前の注文がマイナスで閉じられたことです。 関数はこれを表示する時間がなく、まず、数ティックの後に注文が開かれ、その時だけ最後の損失を表示しますが、注文はすでに開かれています。
Expiration pending order パラメータを使用してはいかがでしょうか。
もちろん、このパラメータが使用できない可能性もあります。
一部の取引サーバーでは、保留中の注文の有効期限を禁止している場合があります。この場合、expiration パラメータに0以外の値を設定しようとすると、エラー147(ERR_TRADE_EXPIRATION_DENIED)が発生します。
もちろん、それしかないのですが...。
ご指摘の通り行を変更したところ、Expert Advisorが動作しなくなりました...。
ticket=OrderSend(Symbol()、OP_BUYSTOP、Lots、Ask+PriceDistance*ポイント、3、Ask+PriceDistance*ポイント-StopLoss*ポイント、Ask+PriceDistance*ポイント+TakeProfit*ポイント、 "PD",1,TimeCurrent()+10*60,Green);
同時に、禁止事項がないことも確かです。
どこにエラーがあるのかご指摘ください。
私はもう一度言うチェックする時間を持って いない最初にそれがないヘラジカが取引を開始し、それがヘラジカがあったことを彼に来るかのように通過しました。
ご指摘の通り行を変更したところ、Expert Advisorが動作しなくなりました...。
ticket=OrderSend(Symbol()、OP_BUYSTOP、Lots、Ask+PriceDistance*ポイント、3、Ask+PriceDistance*ポイント-StopLoss*ポイント、Ask+PriceDistance*ポイント+TakeProfit*ポイント、 "PD",1,TimeCurrent()+10*60,Green);
同時に、禁止事項がないことも確かです。
どこにエラーがあるのかご指摘ください。
動かなくなったということはないと思いますが、基準が甘くなる可能性が高いです。コードがないと、EAが動かない理由が思いつかない...
これまで走り書きしてきたのは、こんな感じです。
extern double TakeProfit = 50;// 終了
仕組みはこうだ...。しかし、それに応じて、クリーパーを無限に取引します。
ありがとうございました。
これまで走り書きしてきたのは、こんな感じです。
extern double TakeProfit = 50;// 終了
仕組みはこうだ...。しかし、それに応じて、クリーパーを無限に取引します。
ありがとうございました。
コードの挿入方法を学ぶ -すべて 読む
コードの挿入方法を学ぶ -すべて 読む
Romanさん、回答ありがとうございました。
私がやるべきことはただ一つ、ロボットが自動的に開いた時間分のトレードを開くようにすることです。
例えば、ロボットがTARGET取引を開始し、自動的に有効期限を現在のものから+600秒に設定する、それだけ...。
このケースでは、オプションは、彼自身がそれらを削除すると、私は価格がまだ開いていないものを含め、開始価格に10ポイント+スプレッドよりも近づいた場合、保留中の注文の変更に制限がある "訓練 "上のTC以来、適合しません 注文.
それに、ポイントは、すでにオープンしているオーダーは削除せず、「プレイスルー」して失敗させることです。また、orderdeliteを設定すると、すでにトリガーされた注文も決済されます。(?)
教科書については - まあ、私は気質的にプログラマーではなく、優秀な人道主義者です - 私は絵を描き、モデルを作り、作曲し、他のもののために研ぐことはありません!)
誠心誠意、取り組んできたつもりです。納得のいくものもあれば、そうでないものもありました。
だから、ここにいるんだけど......。
Romanさん、返信ありがとうございます
ロボットが自動でトレードを開始した時点から、時間通りにトレードを開始するようにすればいいのです。
例えば、ロボットがTARGET取引を開始し、自動的に有効期限を現在のものから+600秒に設定する、それだけ...。
このケースでは、オプションは、彼自身がそれらを削除すると、私は価格がまだ開いていないものを含め、開始価格に10ポイント+スプレッドよりも近づいた場合、保留中の注文の変更に制限がある "訓練 "上のTC以来、適合しません 注文.
それに、すでにオープンしているオーダーは削除せず、「再生」させて「死」までバブル化させることがポイントです。また、orderdeliteを設定すると、すでにトリガーされた注文も決済されます。(?)
教科書については - まあ、私は気質的にプログラマーではなく、優秀な人道主義者です - 私は絵を描き、モデルを作り、作曲し、他のもののために研ぐことはありません!)
誠心誠意、取り組んできたつもりです。納得のいくものもあれば、そうでないものもありました。
だから、ここにいるんだけど......。
ここに書かれていることを言葉で表現してみてください。
個人的には、「1が1に等しくないなら、注文を締め切る」という、一見するとパズルのような発想になるのですが......。
それ以降は見てません...。
ZSで、1サイクルで普通のEAが書けるなんて思わないで、やってみてください...。
...また、orderdeliteを入れると、すでにトリガーされているオーダーもクローズされる関数です。(?)
...
いいえ、よく見てください。トリガーされた未決済注文は成行注文になります - 本機能は関係ありません。
"以前に設定された保留中の注文を 削除します。関数が正常に終了した場合、TRUE を返します。FALSEを返す
関数が正常に終了していない場合GetLastError()を呼び出してエラー情報を取得する。"