if (OrderTicket()==number_ticket) {
// ... код для работы с выбранным ордером при совпадении тикетов
}
また、一般に、注文の選択は、ループ内のOrderSelect()関数を使用して行う必要があります。
for (i=0; i<OrdersTotal(); i++) { // цикл по всем рыночным ордерам терминалаif (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { // Если выбран любой рыночный ордер с индексом iif (OrderSymbol()!=Symbol()) continue; // Если символ не текущего графика, переходим к выбору следующего ордераif (OrderMagicNumber()!=Magic) continue; // Если его магик не совпадает с магиком советника - переходим к выбору следующего//... далее можно проверять другие параметры выбранного ордера, но в этом месте уже есть выбранный ордер текущего графика и номером магика советникаif (OrderTicket()==number_ticket) { // проверяем тикет выбранного ордера и, если есть совпадение, выполняем с ним дальнейшие действия// ... код, выполняющий дальнейшие действия с найденным нужным ордером ...
}
}
elseif (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) // Иначе, если не удалось выбрать ордерPrint ("Ошибка при выборе ордера из списка рыночных ордеров = ", GetLastError()); // Выведем сообщение об ошибке и её номер в журнал.
}
ティックのことなら、データファイルを保存するコードを書けばいいのですが、ekspertでファイルから読み込む必要があります。パソコンを起動し続けるだけでも意味があるのでしょうか?
あなたのやっていることはおかしい...。ポジションを開くとき、ある 変数にチケット番号を割り当てますが、別の 変数をチェックします...。
また、OrderSend()は 失敗した場合、-1(マイナス1)を返すので、0 以下が必要な場合は1 以下かどうかをチェックします。
まず目に飛び込んでくるのがこれ。でも、面白いものをたくさん持っていると思うのですが...。:)
おはははは、うん......楽しいね......。特にチェックを開始するとき))
さあ、もう一回...こんな感じです。
私は注文を開ける。
クロージングオーダー
右、一回の注文で?)
どうやら、2番目の選択肢を使うべきようです。BBSL さん、ありがとうございました。
どういたしまして、本当にお役に立てれば幸いです))
あなたのやっていることはおかしい...。ポジションを開くとき、ある 変数にチケット番号を割り当てますが、別の 変数をチェックします...。
また、OrderSend()は 失敗した場合、-1(マイナス1)を返すので、0 以下が必要な場合は1 以下かどうかをチェックします。
まず目に飛び込んでくるのがこれ。でも、面白いものをたくさん持っていると思うのですが...。:)
なるほど、ティキットの番号はこうやって取得すればいいんですね。
あなたのやっていることはおかしい...。ポジションを開くとき、ある 変数にチケット番号を割り当てますが、別の 変数をチェックします......。
また、OrderSend()は 失敗した場合、-1(マイナス1)を返すので、0 以下が必要な場合は1 以下かどうかをチェックします。
まず目に飛び込んでくるのがこれ。でも、面白いものをたくさん持っていると思うのですが...。:)
リスペクト、ありがとうございます!))
わかります、こうやってティキットの番号を取得しないといけないんですね。
たった一度の注文で、うまくいくかもしれませんが、それでも手動で開いたら、同じようにはいきませんよね。チケット番号を変数に保存しておき、オーダー選択 後に保存されているチケットと比較する必要があります。
また、一般に、注文の選択は、ループ内のOrderSelect()関数を使用して行う必要があります。
これはあくまで理解のための例であり、完成された動作コードではありません。:)
注文が1つしかない場合はうまくいくかもしれませんが、それでも手動で開くとなると、同じようにはいきませんよね。チケット番号を変数に格納し、注文を選択した後、そのチケットと格納されているチケットを比較する必要があります。
また、一般的に注文の選択は、ループ内のOrderSelect()関数を使用する必要があります。
これはあくまで理解のための例であり、完全な動作コードではありません、どちらかというと...。:)
注文を閉じるとき、複数の注文がある場合は、このループを使用する必要があります。
注文を閉じるとき、複数の注文がある場合は、このようなサイクルを使用する必要があります。
私の投稿の最後の行を読んでください。誰が〆の例を書いたと言った?
あとは、明白な真実です。自分だけの教科書を書く。
OrderOpenPriceが機能しない理由を教えてください。タスクは、ある価格で出された注文をプールで検索し、なければ注文を入れ、それが設定されたフラグを立てることです。
OrderOpenPriceが機能しない理由を教えてください。タスクは、ある価格で出された注文をプールで検索し、なければ注文を入れ、それが設定されたフラグを立てることです。
実数を比較することはできない。