エラー、バグ、質問 - ページ 1886 1...187918801881188218831884188518861887188818891890189118921893...3185 新しいコメント Alexandr Bryzgalov 2017.05.12 09:16 #18851 Vladimir Karputov: では、何が問題なのか?iという数字の下に、こんなチケットで、こんな記号のポジションがあるというのは、どこで確認できるのでしょうか?一般的には、単純なシーケンス番号の出力とは別に、チケットやシンボルも出力しますよね。異なる状況に対して、1つの関数が同じ値を出すのは普通なのでしょうか?ZS:ところで、投稿の中に質問がありました。要は、買いを選択すると、関数(PositionGetInteger(POSITION_TYPE))は0を返すということです。また、存在しない位置を選択した場合にも、この関数は0を返します Vladimir Karputov 2017.05.12 09:17 #18852 Alexandr Bryzgalov: 異なる状況下で、1つの関数が同じ値を出すのは普通なのでしょうか? 異なるシチュエーション」とは?そして、私が上で勧めたようにすることです。 トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム バグ、バグ、質問 ウラジミール・カルプトフ さん 2017.05.12 11:15 ...一般的には、単純なシーケンス番号の出力とは別に、チケットやシンボルも出力しますよね。 fxsaber 2017.05.12 09:19 #18853 Alexandr Bryzgalov:確認が必要なのは分かっているのですが、いろいろなことが起きてしまうので...。PositionGetIntegerこの関数は、PositionGetSymbol または PositionSelect 関数で事前に選択した、オープンポジションの要求されたプロパティを返します。位置のプロパティは、datetime, int 型でなければならない。この機能には、2つのバリエーションがあります。1.プロパティの値を直接的に返す。longGetInteger(ENUM_POSITION_PROPERTY_INTEGERproperty_id// プロパティ識別子を 指定します。);2.関数の成功に応じて、true または false を返す。成功すれば、プロパティ値がターゲット変数に格納され、最後のパラメータに参照渡しされる。boolPositionGetInteger()ENUM_POSITION_PROPERTY_INTEGERproperty_id,// プロパティ 識別子を指定します。long&long_var//プロパティの値を取得する);パラメータproperty_id位置プロパティの[in]識別子。enumENUM_POSITION_PROPERTY_INTEGER の値のいずれかを指定することができる。long_var[out] 要求されたプロパティの値を取る long 型の変数。戻り値タイプロングの値。実行に失敗した場合、0を返す。 マジックの状況は、より薄くなっています。したがって、チェック(PositionGetInteger(POSITION_TICKET) > 0)を行うのが論理的である。 Документация по MQL5: Торговые функции / PositionGetInteger www.mql5.com Торговые функции / PositionGetInteger - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 Alexandr Bryzgalov 2017.05.12 09:21 #18854 fxsaber: マジコンではもっと微妙な状況です。だから、チェック(PositionGetInteger(POSITION_TICKET) > 0)を行うのが論理的である。そうですね、確認が必要なのは良いことだと思います。しかし、関数を書くときは、常に状況に応じて異なる値を返すように工夫するものです。 異なる状況下で関数から同じ値が出るというのは間違っていると思います。 fxsaber 2017.05.12 09:23 #18855 Alexandr Bryzgalov:が、関数を書くときは、常に状況に応じて異なる値を得ようとするものです。 これがMagicが語られる所以である。PositionGetInteger(POSITION_MAGIC)エラー時の戻り値は? Alexandr Bryzgalov 2017.05.12 09:25 #18856 fxsaber: マジックが言及したのはこのためです。PositionGetInteger(POSITION_MAGIC)エラー時の戻り値は? 0 - ポジションは手動で開きます。 Vladimir Karputov 2017.05.12 09:27 #18857 Alexandr Bryzgalov:一つの関数が、異なる状況下で同じ値を与えても良いのでしょうか?ZS:ところで、投稿の中に質問がありました。要は、買いを選択すると、関数(PositionGetInteger(POSITION_TYPE))は0を返すということです。で、存在しない位置を選択した場合にも0を返します。 つまり、最初の呼び出しは、(ループのように)ポジションを保証したときに使われるのです。そして、2つ目の呼びかけの形がこちらbool PositionGetInteger( ENUM_POSITION_PROPERTY_INTEGER property_id, // идентификатор свойства long& long_var // сюда примем значение свойства );いきなりポジションが選択された場合のためにそうして、「結果」という変数で得られるものを信じることで、すべてがうまくいくのです。//+------------------------------------------------------------------+ //| posi.mq5 | //| sanyooooook | //| http://sn-bot.ru | //+------------------------------------------------------------------+ #property copyright "sanyooooook" #property link "http://sn-bot.ru" #property version "1.00" //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { //--- int tot=PositionsTotal(); for(int i=0;i<tot;i++) { ulong OrderTicket_=PositionGetTicket(i); long cmd=PositionGetInteger(POSITION_TYPE); if(OrderTicket_>0 && cmd<=POSITION_TYPE_SELL) Print("N",i,"cmd=",cmd); } ulong OrderTicket_=PositionGetTicket(100); long cmd=-3; bool result=PositionGetInteger(POSITION_TYPE,cmd); if(result) Print("N100 cmd=",cmd); } //+------------------------------------------------------------------+ fxsaber 2017.05.12 09:29 #18858 Alexandr Bryzgalov: 0 - ポジションは手動で開かれます。 しかし、それ以外の値では、誤解を招く恐れがあります。 Alexandr Bryzgalov 2017.05.12 09:36 #18859 Vladimir Karputov: つまり、最初の呼び出しは、(ループのように)ポジションを保証したときに使われるのです。そして、2つ目の呼びかけの形がこちらいきなりポジションが選択された場合のためにこれを実行し、「結果」変数に得られるものを信じれば、すべてがうまくいくのです。ということではなく、関数が異なる状況下で同じ値を返すかどうかが問題なのです。確認方法はわかっています。という疑問があった。SZY:エラーは意図せずにできてしまい、そして100000のコードではそれを探すのに疲れてしまうものなのです。えっ、失敗しなくていいんですか?) Vladimir Karputov 2017.05.12 09:37 #18860 Alexandr Bryzgalov:これは質問ではありませんが、この関数は異なる状況下で同じ値を返します。確認する方法を知っているもともと、「これが普通なのか? 私が見たところ、あなたは私が示したコードをチェックしていないようです。まず確認してから、もう一度質問するというのはどうでしょう。 1...187918801881188218831884188518861887188818891890189118921893...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
では、何が問題なのか?
iという数字の下に、こんなチケットで、こんな記号のポジションがあるというのは、どこで確認できるのでしょうか?一般的には、単純なシーケンス番号の出力とは別に、チケットやシンボルも出力しますよね。
異なる状況に対して、1つの関数が同じ値を出すのは普通なのでしょうか?
ZS:ところで、投稿の中に質問がありました。
要は、買いを選択すると、関数(PositionGetInteger(POSITION_TYPE))は0を返すということです。
また、存在しない位置を選択した場合にも、この関数は0を返します
異なる状況下で、1つの関数が同じ値を出すのは普通なのでしょうか?
異なるシチュエーション」とは?そして、私が上で勧めたようにすることです。
トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム
バグ、バグ、質問
ウラジミール・カルプトフ さん 2017.05.12 11:15
...
一般的には、単純なシーケンス番号の出力とは別に、チケットやシンボルも出力しますよね。
確認が必要なのは分かっているのですが、いろいろなことが起きてしまうので...。
PositionGetInteger
この関数は、PositionGetSymbol または PositionSelect 関数で事前に選択した、オープンポジションの要求されたプロパティを返します。位置のプロパティは、datetime, int 型でなければならない。この機能には、2つのバリエーションがあります。
1.プロパティの値を直接的に返す。
longGetInteger(
ENUM_POSITION_PROPERTY_INTEGERproperty_id// プロパティ識別子を 指定します。
);
2.関数の成功に応じて、true または false を返す。成功すれば、プロパティ値がターゲット変数に格納され、最後のパラメータに参照渡しされる。
boolPositionGetInteger()
ENUM_POSITION_PROPERTY_INTEGERproperty_id,// プロパティ 識別子を指定します。
long&long_var//プロパティの値を取得する
);
パラメータ
property_id
位置プロパティの[in]識別子。enumENUM_POSITION_PROPERTY_INTEGER の値のいずれかを指定することができる。
long_var
[out] 要求されたプロパティの値を取る long 型の変数。
戻り値
タイプロングの値。実行に失敗した場合、0を返す。
マジコンではもっと微妙な状況です。だから、チェック(PositionGetInteger(POSITION_TICKET) > 0)を行うのが論理的である。
そうですね、確認が必要なのは良いことだと思います。
しかし、関数を書くときは、常に状況に応じて異なる値を返すように工夫するものです。
異なる状況下で関数から同じ値が出るというのは間違っていると思います。が、関数を書くときは、常に状況に応じて異なる値を得ようとするものです。
マジックが言及したのはこのためです。PositionGetInteger(POSITION_MAGIC)エラー時の戻り値は?
一つの関数が、異なる状況下で同じ値を与えても良いのでしょうか?
ZS:ところで、投稿の中に質問がありました。
要は、買いを選択すると、関数(PositionGetInteger(POSITION_TYPE))は0を返すということです。
で、存在しない位置を選択した場合にも0を返します。
つまり、最初の呼び出しは、(ループのように)ポジションを保証したときに使われるのです。そして、2つ目の呼びかけの形がこちら
いきなりポジションが選択された場合のために
そうして、「結果」という変数で得られるものを信じることで、すべてがうまくいくのです。
0 - ポジションは手動で開かれます。
つまり、最初の呼び出しは、(ループのように)ポジションを保証したときに使われるのです。そして、2つ目の呼びかけの形がこちら
いきなりポジションが選択された場合のために
これを実行し、「結果」変数に得られるものを信じれば、すべてがうまくいくのです。
ということではなく、関数が異なる状況下で同じ値を返すかどうかが問題なのです。
確認方法はわかっています。
という疑問があった。
SZY:エラーは意図せずにできてしまい、そして100000のコードではそれを探すのに疲れてしまうものなのです。
えっ、失敗しなくていいんですか?)
これは質問ではありませんが、この関数は異なる状況下で同じ値を返します。
確認する方法を知っている
もともと、「これが普通なのか?
私が見たところ、あなたは私が示したコードをチェックしていないようです。まず確認してから、もう一度質問するというのはどうでしょう。