初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 465 1...458459460461462463464465466467468469470471472...1503 新しいコメント Oksana Berenko 2015.10.31 07:19 #4641 kashi_ann:私は何を間違えているのだろう?このインジケータには入力パラメータはないのですか?(iCustom(...)関数のことです)(ここで閉じ括弧だけ抜けているといいのですが)また、2項目しかコピーしていないので、静的に確保されたバッファに コピーしているのでしょうか? Александр 2015.10.31 08:48 #4642 拝啓。NT7用インジケータのコードを開いてみました。を含んでいる if ( v>=a && v<b)もう一つ条件を追加する必要があります:25に等しくないことでいいのでしょうか?if ( v>=a && v<b && v<25 && v>25) Mikhail Tkachev 2015.10.31 09:20 #4643 Artyom Trishkin:1.iMaOnArray()を使用することができます。 2.もしかしたら、間違ったMomentumを見てしまったのでは?指標→オシレーター→モメンタム 3.サブウインドウのMAが変ですね。どこで調達しているのですか?指標→トレンド→移動平均Artyomさん、返信ありがとうございます!メニューの中にあることが判明しました...。インディケータを間違えてしまいました :) 「Navigator」ウィンドウでIndicatorsMomentumをクリックしましたが、毎回新しいサブウィンドウに追加され、見た目がぐちゃぐちゃになってしまいます。 この手順を何度も繰り返す場合、プロセッサへの負担が少ないものを教えてください。 1) サブウィンドウに私の(複雑な)インジケータを配置し、ここから値を取得する。 または 2)(MQL4)iCustomを 使用して、OnTime()でインジケータ値を読み取る。 私の理解が正しければ、2)の場合、インジケータはウィンドウに描画されず、要求に応じて計算されることになります。しかし、インジケーターの実行コードが一度だけロードされるのか、呼び出されるたびにロードされるのか、よくわかりません. 追伸:2つ目のインジケータは、メニューから新しいサブウィンドウに追加されたままです ...サブウィンドウに既にあるインジケーターに追加する方法は? Yury Kirillov 2015.10.31 09:57 #4644 Александр: Уважаемые,открыл код индикатора к NT7вижу в нём if ( v>=a && v<b)а мне надо добавить ещё условие: неравно числу 25правильно ли будет следующее?if ( v>=a && v<b && v<25 && v>25)決してうまくはいかない、から。"v<25 && v>25 "は常に偽 です。こんな感じでいいんじゃないでしょうか。v!=25 Александр 2015.10.31 10:39 #4645 Yury Kirillov:決してうまくいかない、から。"v<25 && v>25 "は常に偽 です。こんな感じでいいんじゃないでしょうか。v!=25ありがとうございます!そうですね。 if ( v>=a && v<b && (v<25|| v>25)) orif ( v>=a && v<b && v!=25) Yury Kirillov 2015.10.31 10:46 #4646 Александр: ありがとうございます!他のフォーラムでは、次のように提案されています: if ( ( v>=a && v<b && (v<25|| v>25)))私の場合、こう書きます。{if((v>=a)&&(v<b)&&(v!=25)) { //разные действия }}//if((v>=a)&&(v<b)&&(v!=25)) kashi_ann 2015.10.31 12:11 #4647 Oksana Berenko:このインジケータには入力パラメータはないのですか?(iCustom(...)関数のことです)(ここだけ閉じ括弧があるのは見逃してほしい)また、2項目しかコピーしていないので、静的に確保されたバッファに コピーしているのでしょうか?このインジケータは、多くの入力パラメータを備えています。どこの括弧が抜けているのか理解できない。スタティック・バッファの意味がよくわからないのですが。差し支えなければ、ご説明をお願いします。 Artyom Trishkin 2015.11.01 00:03 #4648 Mike:Artemさん、返信ありがとうございます!メニューにあることが判明しました...。インジケータの場所を間違えてしまいました :) ナビゲータウィンドウでIndicatorsMomentumをクリックしましたが、毎回新しいサブウィンドウに追加され、見た目がぐちゃぐちゃになっています。 この手順を何度も繰り返す場合、プロセッサへの負担が少ないものを教えてください。 1) サブウィンドウに私の(複雑な)インジケータを配置し、ここから値を取得する。 または 2)(MQL4)iCustomを 使用して、OnTime()でインジケータ値を読み取る。 私の理解が正しければ、2)の場合、インジケータはウィンドウに描画されず、要求に応じて計算されることになります。しかし、インジケーターの実行コードが一度だけロードされるのか、呼び出されるたびにロードされるのか、よくわかりません. 追伸:2つ目のインジケータは、メニューから新しいサブウィンドウに追加されたままです ...サブウィンドウに既にあるインジケーターに追加する方法は?iCustom()でインジケータを呼び出すと、そのバッファはウィンドウに表示されませんが、私の知る限り(MTの古いバージョンでは間違いなくそうでした)、インジケータが表示するすべてのグラフィックオブジェクトは、チャートウィンドウに表示されます。インジケータを他のインジケータのウィンドウに配置するには、ナビゲータウィンドウから必要なインジケータのウィンドウにマウスでドラッグしてください。プロセッサーの消費時間が少ないことについて - 確認していないのでわかりません。 削除済み 2015.11.01 07:21 #4649 条件出し、アイデア出し、条件に合わせてグラフにマークをつけるのは簡単ですか?//+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- } //+------------------------------------------------------------------+ void OnTick() { // скорость тиков int nTicksSpeed = TicksSpeed(); } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ int TicksSpeed() { MqlTick oTicks[5]; ZeroMemory(oTicks); int nTicksCopied = CopyTicks(_Symbol, oTicks, COPY_TICKS_TRADE, 0, 5); int nSpeed = 0; if(nTicksCopied > 0) { // скорость роста if(oTicks[0].bid > oTicks[1].bid) { if(oTicks[4].bid > 0 && oTicks[0].bid > oTicks[1].bid && oTicks[1].bid > oTicks[2].bid && oTicks[2].bid > oTicks[3].bid && oTicks[3].bid > oTicks[4].bid) nSpeed = 4; else if(oTicks[3].bid > 0 && oTicks[0].bid > oTicks[1].bid && oTicks[1].bid > oTicks[2].bid && oTicks[2].bid > oTicks[3].bid) nSpeed = 3; else if(oTicks[2].bid > 0 && oTicks[0].bid > oTicks[1].bid && oTicks[1].bid > oTicks[2].bid) nSpeed = 2; else if(oTicks[1].bid > 0 && oTicks[0].bid > oTicks[1].bid) nSpeed = 1 ; } // скорость снижения if(oTicks[0].bid < oTicks[1].bid) { if(oTicks[4].bid > 0 && oTicks[0].bid < oTicks[1].bid && oTicks[1].bid < oTicks[2].bid && oTicks[2].bid < oTicks[3].bid && oTicks[3].bid < oTicks[4].bid) nSpeed = -4; else if(oTicks[3].bid > 0 && oTicks[0].bid < oTicks[1].bid && oTicks[1].bid < oTicks[2].bid && oTicks[2].bid < oTicks[3].bid) nSpeed = -3; else if(oTicks[2].bid > 0 && oTicks[0].bid < oTicks[1].bid && oTicks[1].bid < oTicks[2].bid) nSpeed = -2; else if(oTicks[1].bid > 0 && oTicks[0].bid < oTicks[1].bid) nSpeed = -1 ; } } return(nSpeed); } //+------------------------------------------------------------------+ if( nTickSpeed==-1) отмечаем это место на графике g_Label.Text("-1 ") if( nTickSpeed==-2) отмечаем это место на графике g_Label.Text("-2 ") if (nTickSpeed==-3) отмечаем это место на графике g_Label.Text("-3 ") if( nTickSpeed==-4) отмечаем это место на графике g_Label.Text("-4 ") if( nTickSpeed==1) отмечаем это место на графике g_Label.Text("1 ") if( nTickSpeed==2) отмечаем это место на графике g_Label.Text("2 ") if( nTickSpeed==3) отмечаем это место на графике g_Label.Text("3 ") if( nTickSpeed==4) отмечаем это место на графике g_Label.Text("4 ") Vladimir Karputov 2015.11.01 08:08 #4650 最後のifを入れ替えればいい。 switch(nTickSpeed) { case -4: g_Label.Text("-4"); break; case -3: g_Label.Text("-3"); break; case -2: g_Label.Text("-2"); break; case -1: g_Label.Text("-1"); break; case 1: g_Label.Text("1"); break; case 2: g_Label.Text("2"); break; case 3: g_Label.Text("3"); break; case 4: g_Label.Text("4"); break; } 1...458459460461462463464465466467468469470471472...1503 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
私は何を間違えているのだろう?
このインジケータには入力パラメータはないのですか?(iCustom(...)関数のことです)
(ここで閉じ括弧だけ抜けているといいのですが)
また、2項目しかコピーしていないので、静的に確保されたバッファに コピーしているのでしょうか?
NT7用インジケータのコードを開いてみました。
を含んでいる if ( v>=a && v<b)
もう一つ条件を追加する必要があります:25に等しくないこと
でいいのでしょうか?
if ( v>=a && v<b && v<25 && v>25)
Artyom Trishkin:
1.iMaOnArray()を使用することができます。
2.もしかしたら、間違ったMomentumを見てしまったのでは?指標→オシレーター→モメンタム
3.サブウインドウのMAが変ですね。どこで調達しているのですか?指標→トレンド→移動平均
Artyomさん、返信ありがとうございます!メニューの中にあることが判明しました...。インディケータを間違えてしまいました :) 「Navigator」ウィンドウでIndicatorsMomentumをクリックしましたが、毎回新しいサブウィンドウに追加され、見た目がぐちゃぐちゃになってしまいます。
この手順を何度も繰り返す場合、プロセッサへの負担が少ないものを教えてください。
1) サブウィンドウに私の(複雑な)インジケータを配置し、ここから値を取得する。
または
2)(MQL4)iCustomを 使用して、OnTime()でインジケータ値を読み取る。
私の理解が正しければ、2)の場合、インジケータはウィンドウに描画されず、要求に応じて計算されることになります。しかし、インジケーターの実行コードが一度だけロードされるのか、呼び出されるたびにロードされるのか、よくわかりません.
追伸:2つ目のインジケータは、メニューから新しいサブウィンドウに追加されたままです ...サブウィンドウに既にあるインジケーターに追加する方法は?
Александр:
Уважаемые,
открыл код индикатора к NT7
вижу в нём if ( v>=a && v<b)
а мне надо добавить ещё условие: неравно числу 25
правильно ли будет следующее?
if ( v>=a && v<b && v<25 && v>25)
決してうまくはいかない、から。"v<25 && v>25 "は常に偽 です。
こんな感じでいいんじゃないでしょうか。
v!=25
決してうまくいかない、から。"v<25 && v>25 "は常に偽 です。
こんな感じでいいんじゃないでしょうか。
v!=25
ありがとうございます!そうですね。
if ( v>=a && v<b && (v<25|| v>25)) orif ( v>=a && v<b && v!=25)
ありがとうございます!他のフォーラムでは、次のように提案されています: if ( ( v>=a && v<b && (v<25|| v>25)))
私の場合、こう書きます。
このインジケータには入力パラメータはないのですか?(iCustom(...)関数のことです)
(ここだけ閉じ括弧があるのは見逃してほしい)
また、2項目しかコピーしていないので、静的に確保されたバッファに コピーしているのでしょうか?
このインジケータは、多くの入力パラメータを備えています。
どこの括弧が抜けているのか理解できない。
スタティック・バッファの意味がよくわからないのですが。差し支えなければ、ご説明をお願いします。
Artemさん、返信ありがとうございます!メニューにあることが判明しました...。インジケータの場所を間違えてしまいました :) ナビゲータウィンドウでIndicatorsMomentumをクリックしましたが、毎回新しいサブウィンドウに追加され、見た目がぐちゃぐちゃになっています。
この手順を何度も繰り返す場合、プロセッサへの負担が少ないものを教えてください。
1) サブウィンドウに私の(複雑な)インジケータを配置し、ここから値を取得する。
または
2)(MQL4)iCustomを 使用して、OnTime()でインジケータ値を読み取る。
私の理解が正しければ、2)の場合、インジケータはウィンドウに描画されず、要求に応じて計算されることになります。しかし、インジケーターの実行コードが一度だけロードされるのか、呼び出されるたびにロードされるのか、よくわかりません.
追伸:2つ目のインジケータは、メニューから新しいサブウィンドウに追加されたままです ...サブウィンドウに既にあるインジケーターに追加する方法は?
iCustom()でインジケータを呼び出すと、そのバッファはウィンドウに表示されませんが、私の知る限り(MTの古いバージョンでは間違いなくそうでした)、インジケータが表示するすべてのグラフィックオブジェクトは、チャートウィンドウに表示されます。
インジケータを他のインジケータのウィンドウに配置するには、ナビゲータウィンドウから必要なインジケータのウィンドウにマウスでドラッグしてください。
プロセッサーの消費時間が少ないことについて - 確認していないのでわかりません。
条件出し、アイデア出し、条件に合わせてグラフにマークをつけるのは簡単ですか?
最後のifを入れ替えればいい。