[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 568 1...561562563564565566567568569570571572573574575...1145 新しいコメント techno 2010.05.21 10:29 #5671 Catrock >>: Скажите пожалуйста, как реализовать условие.- If( есть отложенные ордера) то делаем то и то ; for(int i=0; i<OrdersTotal();i++) { OrderSelect(i,SELECT_BY_POS); if(OrderType()==2||3||4||5) // Есть ли отложники? { // Действия } } 削除済み 2010.05.21 11:36 #5672 ありがとうございました)しかし、それで解決したわけではありません。 タイプ5(逆指値売り)の注文を保留していたところ、価格がそれに到達し、成行注文になったという状況です。注文の種類は変わりましたか?つまり、5はその性質が変わったのでしょうか? 上記の組み合わせを挿入しても、「アクション」はオープンオーダーの特性を変更しますが、変更されないはずです。そのため、保留中の注文にのみアクションが適用されるように条件をつけたいと思います。 if(OrdersTotal()) // Если стоят ордера в списке { OrderSelect(0, SELECT_BY_POS); // Выбираем первый if(OrderType()==(2||3||4||5)) // Если он не открытый то можем модифицировать { Alert("Что то делаю с ордером =)"); if (PricePointNew>PricePointOld) OrderModify( Ticket, PricePointNew-5*0.0001, PriсeStopNew+8*0.0001 , PricePointNew-Profit*0.0001 ,0 ,Green); else Print("OrderModify 1 вернул ошибку - ",GetLastError()); if (PricePointNew<PricePointOld) OrderModify( Ticket, PricePointNew-5*0.0001, PriсeStopNew+8*0.0001 , PricePointNew-Profit*0.0001 ,0 ,Green); else Print("OrderModify 2 вернул ошибку - ",GetLastError()); if(PriсeStopNew>PriсeStopOld && (PriсeStopNew-PriсeStopNew)<(Stop*0.0001)) OrderModify( Ticket, PricePointNew-5*0.0001, PriсeStopNew+8*0.0001 , PricePointNew-Profit*0.0001 ,0 ,Green); else Print("OrderModify 3 вернул ошибку - ",GetLastError()); if(PriсeStopNew<PriсeStopOld) OrderModify( Ticket, PricePointNew-5*0.0001, PriсeStopNew+8*0.0001 , PricePointNew-Profit*0.0001 ,0 ,Green); else Print("OrderModify 4 вернул ошибку - ",GetLastError()); } } else // Если нет ордеров, то ставим { f = OrderSend(Symbol(), 5, 0.01,(PricePointNew-5*Point*10) , 1,(PriсeStopNew+8*Point*10) ,(PricePointNew-Profit*Point*10)); OrderSelect( 0, SELECT_BY_POS); Ticket = OrderTicket(); techno 2010.05.21 11:49 #5673 が約定した場合、タイプ1となり、 保留注文でなくなり、成行注文となる。 Alexander Mostovnek 2010.05.21 12:03 #5674 理解できない。 配列に時間を入れても、プリンターは0と印刷する =( for (i=0; i<=10; i++) { datetime Array[i] = iTime(NULL,0,i); Print("Время: ",Array[i]); } プリントはゼロを出力する...どうしたんですか? 削除済み 2010.05.21 12:04 #5675 そうなるともうお手上げです))テスターでExpert Advisorを可視化して実行すると、やはり成行注文が変わってしまうのですが、なぜでしょう...。大きなコードを作ってみたのですが、どうやらどこかにアルゴリズムの間違いがあるようです。 techno 2010.05.21 12:21 #5676 Noterday >>: Не могу понять Загоняю в массив время, а принтом выводится 0 =( Принт выводит нули... Что не так? 配列はループの外側で宣言され,サイズは固定でなければならない(あるいは,インジケータ配列であることを示すもの). datetime Array[10]; int start() { for (int i=0; i<=10; i++) { Array[i] = iTime(NULL,0,i); Print("Время: ",Array[i]); } } techno 2010.05.21 12:23 #5677 Catrock >>: Тогда я застрял)) Запускаю эксперт в тестере с визуализацией, рыночный ордер все равно меняется, непонятно почему.. Нагородил большой код, видимо ошибка где то алгоритмическая. マーケットオーダーで具体的に何が変わるのでしょうか?何を実現したいのかを明確にする。 Alexander Mostovnek 2010.05.21 12:25 #5678 Techno >>: массив надо объявлять вне цикла и размер должен быть фиксированный(либо указание что речь о индикаторном массиве) がまだ機能していない...。iTimeは、どのように時間を配列に書き込むのですか?1970年からの秒数または "yyyy:mm:dd hh:mm"。 techno 2010.05.21 12:27 #5679 Noterday >>: всё равно не работает.... как iTime записывает время в массив? В секундах о 1970 или "yyyy:mm:dd hh:mm" このデザインなら、そう、数秒で。すべて私に合っています。この部分だけコンパイルして確認してください。 削除済み 2010.05.21 12:30 #5680 この時点での成行注文では、テイクプロフィットやストップロスの水準が変化します。そうであってはならないのです。 私のシステムでは、保留中の注文のみ 変更することができます。成行注文になった場合は、変更できません。Expert Advisor は合計で 1 つの注文を使用します。 1...561562563564565566567568569570571572573574575...1145 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
Скажите пожалуйста, как реализовать условие.-
If( есть отложенные ордера) то делаем то и то ;
ありがとうございました)しかし、それで解決したわけではありません。
タイプ5(逆指値売り)の注文を保留していたところ、価格がそれに到達し、成行注文になったという状況です。注文の種類は変わりましたか?つまり、5はその性質が変わったのでしょうか?
上記の組み合わせを挿入しても、「アクション」はオープンオーダーの特性を変更しますが、変更されないはずです。そのため、保留中の注文にのみアクションが適用されるように条件をつけたいと思います。
理解できない。
配列に時間を入れても、プリンターは0と印刷する =(
プリントはゼロを出力する...どうしたんですか?Не могу понять
Загоняю в массив время, а принтом выводится 0 =(
Принт выводит нули... Что не так?配列はループの外側で宣言され,サイズは固定でなければならない(あるいは,インジケータ配列であることを示すもの).
Тогда я застрял)) Запускаю эксперт в тестере с визуализацией, рыночный ордер все равно меняется, непонятно почему.. Нагородил большой код, видимо ошибка где то алгоритмическая.
массив надо объявлять вне цикла и размер должен быть фиксированный(либо указание что речь о индикаторном массиве)
всё равно не работает.... как iTime записывает время в массив? В секундах о 1970 или "yyyy:mm:dd hh:mm"
この時点での成行注文では、テイクプロフィットやストップロスの水準が変化します。そうであってはならないのです。
私のシステムでは、保留中の注文のみ 変更することができます。成行注文になった場合は、変更できません。Expert Advisor は合計で 1 つの注文を使用します。