MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1451 1...144414451446144714481449145014511452145314541455145614571458...1953 新しいコメント Rustam Bikbulatov 2021.04.18 09:16 #14501 本文中のすべての値を要約する方法を教えてください。 void Hmin(){datetime h = iBars(NULL,PERIOD_H1); ObjectCreate(0,"Hmin"+h,OBJ_TEXT,1,TimeCurrent(),0); double Hmin=ObjectDescription("Hmin"+h); ObjectSetText("Hmin"+h,MathMin(Hmin,AccountEquity()-AccountBalance()),15,"Arial",clrWhite); ObjectSetInteger(0,"Hmin"+h,OBJPROP_ANCHOR,ANCHOR_RIGHT); } このコードでは、それらを作成するだけです Alexey Viktorov 2021.04.18 09:29 #14502 Дмитрий:こんにちは、よろしくお願いします...MathMax は、2 つの数値の最大 値を返します。つまり、2 つの同じ配列 high[rates_total] から、差分が -1 と -2 のバーの最大数値を返します?簡単に言うと、最初の配列が12345で、2番目の配列が1234の場合、この関数は5を返すのでしょうか? いいえ、この関数は12345を返します。 Artyom Trishkin 2021.04.18 09:33 #14503 Дмитрий:こんにちは、よろしくお願いします...MathMax は、2 つの数値の最大 値を返します。つまり、2 つの同じ配列 high[rates_total] から、差分が -1 と -2 のバーの最大値を返します?簡単に言うと、最初の配列が12345で、2番目の配列が1234の場合、この関数は5を返すのでしょうか? high[rates_total-1]とhigh[rates_total-2]の2つの最大値が返されることになります。 アドレスhigh[rates_total-1]に値12345があり、アドレスhigh[rates_total-2]に値1234がある場合、これら2つの値のうちどちらが大きいか? 12345は1234より明らかに一桁大きい。high[rates_total-1]の値12345が返されます。 Дмитрий 2021.04.18 09:44 #14504 Artyom Trishkin:high[rates_total-1]とhigh[rates_total-2]の2つの最大値が返されます。high[rates_total-1]に値12345、high[rates_total-2]に値1234が含まれる場合、この二つの値のうちどちらが大きいか。12345は1234より明らかに一桁大きい。high[rates_total-1]の値12345が返されます。 ありがとうございます...しかし、high[rates_total-1]がhigh[rates_total-2]よりも既に1本大きい場合、文字列の合理性に疑問がある。 それとも、ここでは別の意味があるのでしょうか? ありがとうございます。 Artyom Trishkin 2021.04.18 09:51 #14505 Дмитрий:ありがとうございます...が、これは、high[rates_total-1] が high[rates_total-2] よりも既に1本多い場合、文字列の合理性に疑問を投げかけるものである。それとも、ここに何か意味があるのでしょうか?ありがとうございます。 バーと何か関係があるのでしょうか? 同じ配列の2つのバーの高い 値を比較しています。rates_total-1 と rates_total-2 は、比較する 2 本のバーのどの値かを示しています。 rate_total-1とrate_total-2にあるバーのHigh値を比較しているのであって、インデックスの値を比較しているわけではありません。 MathMax(rates_total-1, rates_total-2) - ここで rates_total-1 が常に返されます。 Aleksandr Egorov 2021.04.18 10:52 #14506 Rustam Bikbulatov: 本文中のすべての値を合計する方法を教えてください。このコードでは、作成するだけです。 バランス・マイナス・エクイティ・バリューを取得したいのですか? Dzmitry Zaitsau 2021.04.18 14:44 #14507 Artyom Trishkin:バーと何か関係があるのでしょうか?Highの 値を比較しているのですが、これはオンになっている... ありがとうございます...明瞭化のため) ANDREY 2021.04.18 17:01 #14508 皆さん、ごきげんよう。 MT4で、ALL TIKESというモデルで、ローソク足の分足で、Expert Advisorをテストしています。私の仕事は、コードの実行にかける時間をできるだけ少なくするプログラムを作ることです。しかし、驚いたのは!!!! このコードでは、プログラムはティックごとにチェックし、コード実行に6秒を費やしています。375ミリ秒。 void OnTick() { Tick++; if (Tick!=x3) { Print("---------------------КАЖДЫЙ ТИК ----------Tick-----=",Tick); x3=Tick; } } このプログラムは、すべてのティックをチェックするのではなく、各分ローソクの最初のティックだけをチェックすれば、コードの実行に費やす時間はずっと短くなるように思えたのです。 void OnTick() { Tick++; if (Minute()!=x3)//&&Seconds()==0 { Print("---------------------КАЖДЫЙ ТИК ----------Tick-----=",Tick, " Bid ", Bid, " LoY ", LoY); x3=Minute(); } } しかし、プログラムは6秒を 費やした。219msec.です。このことから、60秒に1回だけ括弧内の式をチェックするようにプログラムしているにもかかわらず、1目盛りごとにこの式をチェックし、前のコードとほぼ同じ時間を実行に費やしているという結論に達しました。 そして、モデルをVALUABLE VALUESに 変更し、2番目のバリアントを実行しました。しかし、プログラムの 実行時間は同じ6 秒だった。219ミリ秒。 QUESTION .MT4でALL TICKモデルで プログラムを作ることは可能ですか、すべてのティックではなく、新しい分キャンドルの最初のティックをチェックし、それはコードの実行にはるかに少ない時間を費やすだろう。可能であれば、どのような機能、言語構成が考えられるか。 ありがとうございます。 Aleksei Stepanenko 2021.04.18 17:50 #14509 datetime current, last; void OnTick() { current=iTime(symbol,frame,0); if(last==current) return; last=current; } ANDREY 2021.04.18 19:42 #14510 Aleksei Stepanenko: 私のコードをあなたのコードと一致するように変更しました。 datetime current, last; void OnTick() { Tick++; current=iTime( NULL,0,0); if(last==current) return; last=current; { Print("---------------------КАЖДЫЙ ТИК ----------Tick-----=",Tick); } } プログラムがコードを実行するのにかかった時間......。6 , 235, すなわち、私のコード(6.375)より少ないが、数倍 少ないわけではない. プログラムは各分ローソクのオープニングで一度だけティック値をチェックする必要があるので、それは数倍 少ないはずだと思われます。 どちらが悪いのか......そんな気がします。 1...144414451446144714481449145014511452145314541455145614571458...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
こんにちは、よろしくお願いします...
MathMax は、2 つの数値の最大 値を返します。つまり、2 つの同じ配列 high[rates_total] から、差分が -1 と -2 のバーの最大数値を返します?
簡単に言うと、最初の配列が12345で、2番目の配列が1234の場合、この関数は5を返すのでしょうか?
いいえ、この関数は12345を返します。
こんにちは、よろしくお願いします...
MathMax は、2 つの数値の最大 値を返します。つまり、2 つの同じ配列 high[rates_total] から、差分が -1 と -2 のバーの最大値を返します?
簡単に言うと、最初の配列が12345で、2番目の配列が1234の場合、この関数は5を返すのでしょうか?
high[rates_total-1]とhigh[rates_total-2]の2つの最大値が返されることになります。
アドレスhigh[rates_total-1]に値12345があり、アドレスhigh[rates_total-2]に値1234がある場合、これら2つの値のうちどちらが大きいか?
12345は1234より明らかに一桁大きい。high[rates_total-1]の値12345が返されます。
high[rates_total-1]とhigh[rates_total-2]の2つの最大値が返されます。
high[rates_total-1]に値12345、high[rates_total-2]に値1234が含まれる場合、この二つの値のうちどちらが大きいか。
12345は1234より明らかに一桁大きい。high[rates_total-1]の値12345が返されます。
ありがとうございます...しかし、high[rates_total-1]がhigh[rates_total-2]よりも既に1本大きい場合、文字列の合理性に疑問がある。
それとも、ここでは別の意味があるのでしょうか?
ありがとうございます。
ありがとうございます...が、これは、high[rates_total-1] が high[rates_total-2] よりも既に1本多い場合、文字列の合理性に疑問を投げかけるものである。
それとも、ここに何か意味があるのでしょうか?
ありがとうございます。
バーと何か関係があるのでしょうか?
同じ配列の2つのバーの高い 値を比較しています。rates_total-1 と rates_total-2 は、比較する 2 本のバーのどの値かを示しています。
rate_total-1とrate_total-2にあるバーのHigh値を比較しているのであって、インデックスの値を比較しているわけではありません。
MathMax(rates_total-1, rates_total-2) - ここで rates_total-1 が常に返されます。
本文中のすべての値を合計する方法を教えてください。このコードでは、作成するだけです。
バランス・マイナス・エクイティ・バリューを取得したいのですか?
バーと何か関係があるのでしょうか?
Highの 値を比較しているのですが、これはオンになっている...
皆さん、ごきげんよう。
MT4で、ALL TIKESというモデルで、ローソク足の分足で、Expert Advisorをテストしています。私の仕事は、コードの実行にかける時間をできるだけ少なくするプログラムを作ることです。しかし、驚いたのは!!!!
このコードでは、プログラムはティックごとにチェックし、コード実行に6秒を費やしています。375ミリ秒。
このプログラムは、すべてのティックをチェックするのではなく、各分ローソクの最初のティックだけをチェックすれば、コードの実行に費やす時間はずっと短くなるように思えたのです。
しかし、プログラムは6秒を 費やした。219msec.です。このことから、60秒に1回だけ括弧内の式をチェックするようにプログラムしているにもかかわらず、1目盛りごとにこの式をチェックし、前のコードとほぼ同じ時間を実行に費やしているという結論に達しました。
そして、モデルをVALUABLE VALUESに 変更し、2番目のバリアントを実行しました。しかし、プログラムの 実行時間は同じ6 秒だった。219ミリ秒。
QUESTION .MT4でALL TICKモデルで プログラムを作ることは可能ですか、すべてのティックではなく、新しい分キャンドルの最初のティックをチェックし、それはコードの実行にはるかに少ない時間を費やすだろう。可能であれば、どのような機能、言語構成が考えられるか。
ありがとうございます。
私のコードをあなたのコードと一致するように変更しました。
プログラムがコードを実行するのにかかった時間......。6 , 235, すなわち、私のコード(6.375)より少ないが、数倍 少ないわけではない
. プログラムは各分ローソクのオープニングで一度だけティック値をチェックする必要があるので、それは数倍 少ないはずだと思われます。
どちらが悪いのか......そんな気がします。