[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 165 1...158159160161162163164165166167168169170171172...652 新しいコメント oper11 2011.09.09 20:02 #1641 ここで、断層「)」はどこに隠れているのでしょうか?- wrong parameters count 4 times? もしかして、この書き方ではダメなんでしょうか? //-----------------------------------------------------------------------------+ // Удаление объекта OBJ_HLINE горизонтальная линия /Blue/Red | //-----------------------------------------------------------------------------+ void DelHLine(color cl, string nm="", double p1=0, int st=0, int wd=1) { int obj_total= ObjectsTotal(OBJ_HLINE); for(int i=0;i<obj_total;i++) { if(ObjectType(OBJ_HLINE)==true) { if(ObjectGet(OBJPROP_COLOR)==Red) { if(ObjectGet(OBJPROP_PRICE1)>Ask) ObjectDelete(FrDnNam); } } } for(i=0;i<obj_total;i++) { if(ObjectType(OBJ_HLINE)==true) { if(ObjectGet(OBJPROP_COLOR)==Blue) { if(ObjectGet(OBJPROP_PRICE1)<Bid) ObjectDelete(FrApNam); } } } return; } Alexander 2011.09.09 20:13 #1642 ObjectGet()をチェックする場合、2つのパラメータが必要です。 Артур 2011.09.09 20:13 #1643 Roger: NormalizeDouble(lot,2)関数を使用します。 ありがとうございます。と疑ってしまうほどです。 splxgf: 議論ありがとうございました。あなたの情報もきっと役に立つはずです。 Artyom Trishkin 2011.09.10 03:46 #1644 Operr: ここで、断層「)」はどこに隠れているのでしょうか?- wrong parameters count 4 times? もしかしたら、こんな書き方ではダメなのでしょうか? ObjectType()関数とObjectGet()関数にオブジェクト名が含まれていない Евгений 2011.09.10 05:14 #1645 Operr: ここで、断層「)」はどこに隠れているのでしょうか?- wrong parameters count 4 times?もしかして、この書き方ではダメなんでしょうか? //------------------------------------------------------------+ // Удаление объекта OBJ_HLINE горизонтальная линия /Blue/Red| //------------------------------------------------------------+ void DelHLine(string nm="") {int obj_total=ObjectsTotal(); for(int i=0;i<obj_total;i++) {if(nm==ObjectName(i)&&ObjectType(nm)==OBJ_HLINE) {color cl=ObjectGet(nm,OBJPROP_COLOR);double pr=ObjectGet(nm,OBJPROP_PRICE1); if((cl==Red&&pr>Ask)||(cl==Blue&&pr<Bid))ObjectDelete(nm);}}} 削除済み 2011.09.10 07:26 #1646 MT4でビルドを強制的に更新することは可能でしょうか?端末を再起動しても更新されない。 削除済み 2011.09.10 12:41 #1647 プロフェッショナルの皆さん、またまたお力を貸してください 下記は取引を終了するコードの断片ですが、保留中の注文が 実行されないとき、それらを削除しないことです、なぜかわかりません。しかし、すでに執行された保留中の注文を閉じる必要があるときは、すべてが正しく行われ、注文が執行されていない場合は、それが執行されるまでそこにハングアップするだけです...。 OrderSelect(0, SELECT_BY_POS, MODE_TRADES); Magic = OrderMagicNumber(); orderticket = OrderTicket(); if (OrdersTotal() == 1 && Magic == 111 &&)OrderType( ) == 0) { if (H1_BUY_5 == 0 || H1_BUY_1 == 0) { OrderClose(orderticket, lots, Bid, 5, Yellow); if (OrdersTotal() == 1) OrderDelete(orderticket, Brown); } ・OrderTotal() == 1 ・OrderDelete(orderticket) == 2 ・OrderTotal(bid, 5, Yellow) ・OrderTotal(orderticket) == 1 } --- 2011.09.10 13:13 #1648 Xaoss1990: 下記は取引を終了させるコードの断片ですが、保留中の注文が実行されないとき、それらを削除しないことです。 if (OrdersTotal() == 1 && Magic == 111 &&OrderType( ) == 0) 邪魔になる 削除済み 2011.09.10 16:15 #1649 ストップロスがブレイクイーブンで発動したときに、オープンロットの3分の1をクローズする機能をEAに組み込んだのですが、なぜかうまくいきません。 何が問題なのか、教えてください。 //======================================================================================= void BuyCloseOneThird(string sy="", int op=-1, int mn=-1) { double pr=0; int i, k=OrdersTotal(), np=-1; if (sy=="0") sy=Symbol(); for (i=k-1; i>=0; i--) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if ((OrderSymbol()==sy || sy=="") && OrderType()==OP_BUY) { if (mn<0 || OrderMagicNumber()==mn) { if (Bid>OrderOpenPrice() && Bid==OrderStopLoss()) { if (OrderSelect(np, SELECT_BY_POS, MODE_TRADES)) { ClosePosBySelect();} } } } } } } //======================================================================================= void SellCloseOneThird(string sy="", int op=-1, int mn=-1) { double pr=0; int i, k=OrdersTotal(), np=-1; if (sy=="0") sy=Symbol(); for (i=k-1; i>=0; i--) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if ((OrderSymbol()==sy || sy=="") && OrderType()==OP_BUY) { if (mn<0 || OrderMagicNumber()==mn) { if (Ask<OrderOpenPrice() && Ask==OrderStopLoss()) { if (OrderSelect(np, SELECT_BY_POS, MODE_TRADES)) { ClosePosBySelect();} } } } } } } //+------------------------------------------------------------------+ void ClosePosBySelect() { bool fc; color clClose; double pa, pb, pp; int err, it; double ll = MathCeil(OrderLots() / 3.0 * 10.0) / 10.0; if (OrderType()==OP_BUY || OrderType()==OP_SELL) { for (it=1; it<=5; it++) { if (!IsTesting() && (!IsExpertEnabled() || IsStopped())) break; while (!IsTradeAllowed()) Sleep(5000); RefreshRates(); pa=MarketInfo(OrderSymbol(), MODE_ASK); pb=MarketInfo(OrderSymbol(), MODE_BID); if (OrderType()==OP_BUY) { pp=pb; clClose=Red; } else { pp=pa; clClose=Blue; } ll=OrderLots(); fc=OrderClose(OrderTicket(), ll, pp, Slippage, clClose); if (fc) { PlaySound("wave"); break; } else { err=GetLastError(); if (err==146) while (IsTradeContextBusy()) Sleep(1000*11); Print(OrderTicket()," Ask=",pa," Bid=",pb," pp=",pp); Print("sy=",OrderSymbol()," ll=",ll," sl=",OrderStopLoss(), " tp=",OrderTakeProfit()," mn=",OrderMagicNumber()); Sleep(1000*5); } } } } Alexander 2011.09.10 16:29 #1650 Sancho77: ストップロスがブレイクイーブンで発動したときに、オープンロットの3分の1をクローズする機能をEAに組み込んだのですが、なぜかうまくいきません。 何が問題なのか、教えてください。 おそらく、最初にロットを計算してから ll=OrderLots(); fc=OrderClose(OrderTicket(), ll, pp, Slippage, clClose); 1...158159160161162163164165166167168169170171172...652 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
NormalizeDouble(lot,2)関数を使用します。
ありがとうございます。と疑ってしまうほどです。
議論ありがとうございました。あなたの情報もきっと役に立つはずです。
ここで、断層「)」はどこに隠れているのでしょうか?- wrong parameters count 4 times? もしかしたら、こんな書き方ではダメなのでしょうか?
ここで、断層「)」はどこに隠れているのでしょうか?- wrong parameters count 4 times?もしかして、この書き方ではダメなんでしょうか?
プロフェッショナルの皆さん、またまたお力を貸してください
下記は取引を終了するコードの断片ですが、保留中の注文が 実行されないとき、それらを削除しないことです、なぜかわかりません。しかし、すでに執行された保留中の注文を閉じる必要があるときは、すべてが正しく行われ、注文が執行されていない場合は、それが執行されるまでそこにハングアップするだけです...。
OrderSelect(0, SELECT_BY_POS, MODE_TRADES);
Magic = OrderMagicNumber();
orderticket = OrderTicket();
if (OrdersTotal() == 1 && Magic == 111 &&)OrderType( ) == 0)
{
if (H1_BUY_5 == 0 || H1_BUY_1 == 0)
{
OrderClose(orderticket, lots, Bid, 5, Yellow);
if (OrdersTotal() == 1) OrderDelete(orderticket, Brown);
} ・OrderTotal() == 1 ・OrderDelete(orderticket) == 2 ・OrderTotal(bid, 5, Yellow) ・OrderTotal(orderticket) == 1
}
Xaoss1990:
下記は取引を終了させるコードの断片ですが、保留中の注文が実行されないとき、それらを削除しないことです。
if (OrdersTotal() == 1 && Magic == 111 &&OrderType( ) == 0)
邪魔になる
ストップロスがブレイクイーブンで発動したときに、オープンロットの3分の1をクローズする機能をEAに組み込んだのですが、なぜかうまくいきません。
何が問題なのか、教えてください。
ストップロスがブレイクイーブンで発動したときに、オープンロットの3分の1をクローズする機能をEAに組み込んだのですが、なぜかうまくいきません。
何が問題なのか、教えてください。
おそらく、最初にロットを計算してから