エキスパートアドバイザー - 雑多な質問 - ページ 35 1...28293031323334353637383940414243 新しいコメント Max Enrik 2017.02.12 12:17 #341 #sparam - オープン私のメインコードで、この異なる" sparam "メソッドをキャッチしました。 今、私はそれらのメソッドのいずれかを選択しようとしますが、私はmql4のドキュメントでそれについて調べたことさえ、それらのうちの1つを選択するのに苦労しています。Q: どの方法が正しいか、その理由を教えてください。ありがとうございました。// # 1if(sparam==button) { // here code }// # 2if(id==CHARTEVENT_OBJECT_CLICK && sparam==button) { // here code }// # 3 ( was 2 I just forgot to change )if(id==CHARTEVENT_OBJECT_CLICK) { if(sparam==button) { // here code } } Marco vd Heijden 2017.02.12 13:22 #342 #1は通常クリックイベント内に配置されるため、#2と同じになります。 Max Enrik 2017.02.12 13:48 #343 #sparam - 終了しました。Marco vd Heijden:#1は通常クリックイベントの内側に配置されるので、#2と同じになります。 また、他の#2と同じになります。どうもありがとうございました。 Max Enrik 2017.02.12 17:28 #344 #注文オブジェクトの削除 / OnTrade() - Open最近2時間ほどOnTrade()関数の調査に時間を費やしましたが、ついにその関数がMT4で動作しないことがわかりました。(誰か言ってください: 動くというのは間違いです)つまり、価格はストップロスやテイクプロフィットのレベルに、通常通り(私が正しければ)各ティック、各秒、各分でヒットしないのです。 その場合、#Ticketオブジェクトは削除される可能性があります。 OnTimer()やOnTick()に" My_OrderObjectsDelete() "を入れればいいのは分かっているのですが、OnTrade()のような関数がないかと探してみています。My_OrderObjectsDelete() " をどこに置けばいいのか、アドバイスが必要です。よろしくお願いします。 Carl Schreiber 2017.02.13 10:38 #345 何をお望みなのか、ちょっと理解しにくいのですが。 mt4では、オープンオーダーがSTPやTGTにヒットした場合、オーダーヒストリーでそれを見つけることができます。ですから、OrdersTotal() でそれ以上見つからない場合は、 OrdersHistoryTotal()のリストをチェック します。 しかし、STPとTGTを再びBidとAskで追跡し、InTick()やOnTimer()のどこに置いたかに関係なく、これらのチェックが成功した場合のみOrderをチェック するとどうでしょう。 Max Enrik 2017.02.13 11:05 #346 Carl Schreiber: 何をお望みなのか、ちょっと理解できません。 mt4では、オープンオーダーがSTPやTGTにヒットした場合、オーダーヒストリーの中でそれを見つけることができます。ですから、OrdersTotal() でそれ以上見つからない場合は、 OrdersHistoryTotal()のリストをチェックしてください。 しかし、STPとTGTを再びBidとAskで追跡し、InTick()やOnTimer()のどこに置いたかに関係なく、これらのチェックが成功した場合にのみOrderをチェックするとどうでしょう。私はあなたが私を正しく理解していると思います。なぜなら、プライス・インジケータは、ストップ・ロスやテイク・プロフィット・レベルをティックごとにヒットしてはならないからです。( オーダー終了後にそのオブジェクトを削除する方法は既に知っています - このコメントも確認してください - 関数名は " deleteobjs() " -#238) Max Enrik 2017.02.14 19:08 #347 #Delete Order Objects / OnTrade() - 終了しました。OnTick()またはOnTimer()のいずれかに私の関数を 配置します。 Max Enrik 2017.02.15 11:39 #348 #StringLen - オープン私はまだこの懸念について研究する - しかし、私は任意の類似のフォーラム - と何か他のことができません。私は桁数をカウントしようとします。以下のコードは私に別の結果を与え、私を助けてください。Bid_Len = StringLen( IntegerToString( change_to_points( Bid ) ) );// Results// EURUSD = 1.23456 > 123456// NZDUSD = 0.12345 > 12345 事前にありがとうございます。 honest_knave 2017.02.15 11:51 #349 Max Enrik:#StringLen - オープン私はまだこの懸念について研究する - しかし、私は任意の類似のフォーラム - と何か他のことができません。私は桁数をカウントしようとします。以下のコードは私に別の結果を与え、私を助けてください。Bid_Len = StringLen( IntegerToString( change_to_points( Bid ) ) );// Results// EURUSD = 1.23456 > 123456// NZDUSD = 0.12345 > 12345 事前にありがとうございます。 何をしようとしているのか、もっと詳しく説明してください。 Max Enrik 2017.02.15 12:00 #350 honest_knave: ここで何をしようとしているのか、もっと説明してください。早速のご回答ありがとうございます。下の画像は、私がやりたいことです。(ただ、さっと作っただけです)私はあなたがより明確に私を理解するのに役立つことを願っています。// 2回目の編集私はこれがより多くの助けになることを願っています。 1...28293031323334353637383940414243 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
#sparam - オープン
私のメインコードで、この異なる" sparam "メソッドをキャッチしました。
今、私はそれらのメソッドのいずれかを選択しようとしますが、私はmql4のドキュメントでそれについて調べたことさえ、それらのうちの1つを選択するのに苦労しています。
Q: どの方法が正しいか、その理由を教えてください。
ありがとうございました。
if(sparam==button)
{
// here code
}
// # 2
if(id==CHARTEVENT_OBJECT_CLICK && sparam==button)
{
// here code
}
// # 3 ( was 2 I just forgot to change )
if(id==CHARTEVENT_OBJECT_CLICK)
{
if(sparam==button)
{
// here code
}
}
#1は通常クリックイベント内に配置されるため、#2と同じになります。
#1は通常クリックイベントの内側に配置されるので、#2と同じになります。 また、他の#2と同じになります。
どうもありがとうございました。
#注文オブジェクトの削除 / OnTrade() - Open
最近2時間ほどOnTrade()関数の調査に時間を費やしましたが、ついにその関数がMT4で動作しないことがわかりました。(誰か言ってください: 動くというのは間違いです)
つまり、価格はストップロスやテイクプロフィットのレベルに、通常通り(私が正しければ)各ティック、各秒、各分でヒットしないのです。
その場合、#Ticketオブジェクトは削除される可能性があります。
OnTimer()やOnTick()に" My_OrderObjectsDelete() "を入れればいいのは分かっているのですが、OnTrade()のような関数がないかと探してみています。
My_OrderObjectsDelete() " をどこに置けばいいのか、アドバイスが必要です。
よろしくお願いします。
mt4では、オープンオーダーがSTPやTGTにヒットした場合、オーダーヒストリーでそれを見つけることができます。ですから、OrdersTotal() でそれ以上見つからない場合は、 OrdersHistoryTotal()のリストをチェック します。
しかし、STPとTGTを再びBidとAskで追跡し、InTick()やOnTimer()のどこに置いたかに関係なく、これらのチェックが成功した場合のみOrderをチェック するとどうでしょう。
何をお望みなのか、ちょっと理解できません。
mt4では、オープンオーダーがSTPやTGTにヒットした場合、オーダーヒストリーの中でそれを見つけることができます。ですから、OrdersTotal() でそれ以上見つからない場合は、 OrdersHistoryTotal()のリストをチェックしてください。
しかし、STPとTGTを再びBidとAskで追跡し、InTick()やOnTimer()のどこに置いたかに関係なく、これらのチェックが成功した場合にのみOrderをチェックするとどうでしょう。
私はあなたが私を正しく理解していると思います。
なぜなら、プライス・インジケータは、ストップ・ロスやテイク・プロフィット・レベルをティックごとにヒットしてはならないからです。
( オーダー終了後にそのオブジェクトを削除する方法は既に知っています - このコメントも確認してください - 関数名は " deleteobjs() " -#238)
#Delete Order Objects / OnTrade() - 終了しました。
OnTick()またはOnTimer()のいずれかに私の関数を 配置します。
#StringLen - オープン
私はまだこの懸念について研究する - しかし、私は任意の類似のフォーラム - と何か他のことができません。
私は桁数をカウントしようとします。以下のコードは私に別の結果を与え、私を助けてください。
// Results
// EURUSD = 1.23456 > 123456
// NZDUSD = 0.12345 > 12345
#StringLen - オープン
私はまだこの懸念について研究する - しかし、私は任意の類似のフォーラム - と何か他のことができません。
私は桁数をカウントしようとします。以下のコードは私に別の結果を与え、私を助けてください。
// Results
// EURUSD = 1.23456 > 123456
// NZDUSD = 0.12345 > 12345
ここで何をしようとしているのか、もっと説明してください。
早速のご回答ありがとうございます。
下の画像は、私がやりたいことです。
(ただ、さっと作っただけです)
私はあなたがより明確に私を理解するのに役立つことを願っています。
// 2回目の編集
私はこれがより多くの助けになることを願っています。