MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 519 1...512513514515516517518519520521522523524525526...1953 新しいコメント Artyom Trishkin 2018.04.06 20:46 #5181 PolarSeaman:この特定のポジションの履歴の中で、一部が閉じていることをどうやって知ることができるのでしょうか?1.0ロットで建てたポジションを 0.5で決済して10$の損失。 その後、さらに0.25で決済して5$の利益。 50$の利益で全て決済する予定です。実際、今は50ドルの利益が出ています。現在の利益の計算で、-$10と+$5を閉じるにはどうしたらいいですか?55ドルの利益で終了することポジションのコメントをご覧ください(mql4内) - 閉じた部分には残りの部分のチケットがあり(to#1234556789)、残りの部分には閉じた部分のチケットがあります(from#123456788) - どこでギャップがあるか覚えていません - あなた自身のために表示されます。 PolarSeaman 2018.04.06 21:40 #5182 Artyom Trishkin:ポジションのコメントを見てください(mql4内) - 閉じた部分には残りのチケット(to#1234556789)があり、残りの部分には閉じたチケット(from#123456788)があります - スペースがどこにあるかは覚えていません - 自分で見てくださいクローズしたポジションの コメントとオープンしたポジションのチケットを比較すると、"0.0 "が返ってきます。 double prof_cl_pos(string sy="0", int op=-1, int mn=-1) { datetime ta; int i, k=OrdersHistoryTotal(); double profit_=0; string comment=""; if (sy=="" || sy=="0") sy=Symbol(); for (i=0; i<k; i++) { if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) { if (OrderSymbol()==sy) { if (OrderType()==OP_BUY || OrderType()==OP_SELL) { if (op<0 || OrderType()==op) { if (mn<0 || OrderMagicNumber()==mn) { // comment=OrderComment(); if (ticket_op_pos(Symbol(), -1,mn)==OrderComment()) profit_=OrderProfit(); } } } } } } return(profit_); } int ticket_op_pos(string sy="", int op=-1, int mn=-1) { datetime o; double l=-1; string comment=""; int ticket, i, k=OrdersTotal(); if (sy=="0") sy=Symbol(); for (i=0; i<k; i++) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol()==sy || sy=="") { if (OrderType()==OP_BUY || OrderType()==OP_SELL) { if (op<0 || OrderType()==op) { if (mn<0 || OrderMagicNumber()==mn) { ticket=OrderTicket(); } } } } } } return(ticket); } Ihor Herasko 2018.04.06 21:53 #5183 PolarSeaman:クローズドポジションの コメントとオープンポジションの チケットを比較すると、"0.0 "が返されます。コメントから、チケットはハイライトされるべきです。つまり、"from #" や "to #" のような余分な文字は削除されるべきです。ここではやっていない。 PolarSeaman 2018.04.06 22:00 #5184 Ihor Herasko:コメントから、チケットをハイライトする必要があります。つまり、"from #" や "to #" のような余分な文字を削除する必要があります。これは、ここでは行われません。 その通り!「to #」をどう切り取るか? Maxim Kuznetsov 2018.04.06 22:04 #5185 PolarSeaman: その通り!「#に」をどう切るか? 文字/部分文字列 # の出現箇所を探し、(オプションで)その前に "from" または "to" があることを確認する。余った部分をロングに変換する in-5eでは、初歩的な正規表現があり、より簡単になります。 PolarSeaman 2018.04.06 22:13 #5186 Maxim Kuznetsov: 文字/部分文字列の出現箇所を検索する #。 何をもって探すのか? Artyom Trishkin 2018.04.06 22:22 #5187 PolarSeaman: どうやって探すの?サイト内検索がうまくいかない?ページの一番上にドキュメントがないのですか? Документация по MQL5: Строковые функции / StringSubstr www.mql5.com [in] Длина извлекаемой подстроки. Если значение параметра равно -1 либо параметр не задан, то будет извлекаться подстрока, начиная с указанной позиции и до конца строки. PolarSeaman 2018.04.06 22:32 #5188 Artyom Trishkin:サイト内検索がうまくいかない?ページの一番上にドキュメントがないのですか?ありがとうございます、こうしてみました。 comment=OrderComment(); substr = StringSubstr(comment, 4, 9);//пропускаю "to #" беру цифры if (ticket_op_pos(Symbol(), -1,mn)==substr) が、検索履歴機能で未決済 ポジションの現在の利益を返すようになりました。 double prof_cl_pos(string sy="0", int op=-1, int mn=-1) { datetime ta; int i, k=OrdersHistoryTotal(); double profit_=0; string comment=""; string substr=""; if (sy=="" || sy=="0") sy=Symbol(); for (i=0; i<k; i++) { if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) { if (OrderSymbol()==sy) { if (OrderType()==OP_BUY || OrderType()==OP_SELL) { if (op<0 || OrderType()==op) { if (mn<0 || OrderMagicNumber()==mn) { comment=OrderComment(); substr = StringSubstr(comment, 4, 9); if (ticket_op_pos(Symbol(), -1,mn)==substr) profit_=OrderProfit(); } } } } } } return(profit_); } Maxim Kuznetsov 2018.04.06 23:15 #5189 > ありがとうございます、そのようにしました。 未定義の文字列を扱う場合、フラグメントの長さや開始位置に依存することはできません。 StringFind()関数は、"#"または "from #"を検索することができます。 ps/ も、大文字か小文字のどちらか一方を使うべきです。残念ながらコメントにタグを付けるプロトコルはないので、サーバーによっては「FROM #」と(大文字で)書かれている可能性があります。 特に、ストップロス時のコメントの最後に、あるものは[sl]を、あるものは(sl)を入れています。ちなみにコメントの大きさも制限されています。などなど。 Vitaly Muzichenko 2018.04.06 23:30 #5190 そのような作りの弊害は何でしょうか。 datetime tm1 = D'09.04.2018'; long tm2 = TimeCurrent(); if(tm1 > tm2) Print("Работает"); それとも、datetime をlong型にした方が良いのでしょうか? 1...512513514515516517518519520521522523524525526...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
この特定のポジションの履歴の中で、一部が閉じていることをどうやって知ることができるのでしょうか?
1.0ロットで建てたポジションを 0.5で決済して10$の損失。 その後、さらに0.25で決済して5$の利益。 50$の利益で全て決済する予定です。実際、今は50ドルの利益が出ています。
現在の利益の計算で、-$10と+$5を閉じるにはどうしたらいいですか?55ドルの利益で終了すること
ポジションのコメントをご覧ください(mql4内) - 閉じた部分には残りの部分のチケットがあり(to#1234556789)、残りの部分には閉じた部分のチケットがあります(from#123456788) - どこでギャップがあるか覚えていません - あなた自身のために表示されます。
ポジションのコメントを見てください(mql4内) - 閉じた部分には残りのチケット(to#1234556789)があり、残りの部分には閉じたチケット(from#123456788)があります - スペースがどこにあるかは覚えていません - 自分で見てください
クローズしたポジションの コメントとオープンしたポジションのチケットを比較すると、"0.0 "が返ってきます。
クローズドポジションの コメントとオープンポジションの チケットを比較すると、"0.0 "が返されます。
コメントから、チケットはハイライトされるべきです。つまり、"from #" や "to #" のような余分な文字は削除されるべきです。ここではやっていない。
コメントから、チケットをハイライトする必要があります。つまり、"from #" や "to #" のような余分な文字を削除する必要があります。これは、ここでは行われません。
その通り!「#に」をどう切るか?
余った部分をロングに変換する
in-5eでは、初歩的な正規表現があり、より簡単になります。
文字/部分文字列の出現箇所を検索する #。
どうやって探すの?
サイト内検索がうまくいかない?ページの一番上にドキュメントがないのですか?
サイト内検索がうまくいかない?ページの一番上にドキュメントがないのですか?
ありがとうございます、こうしてみました。
が、検索履歴機能で未決済 ポジションの現在の利益を返すようになりました。
> ありがとうございます、そのようにしました。
未定義の文字列を扱う場合、フラグメントの長さや開始位置に依存することはできません。
StringFind()関数は、"#"または "from #"を検索することができます。
ps/ も、大文字か小文字のどちらか一方を使うべきです。残念ながらコメントにタグを付けるプロトコルはないので、サーバーによっては「FROM #」と(大文字で)書かれている可能性があります。特に、ストップロス時のコメントの最後に、あるものは[sl]を、あるものは(sl)を入れています。ちなみにコメントの大きさも制限されています。などなど。
そのような作りの弊害は何でしょうか。
それとも、datetime をlong型にした方が良いのでしょうか?