MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1405 1...139813991400140114021403140414051406140714081409141014111412...1953 新しいコメント 削除済み 2021.03.01 16:54 #14041 ifitstrue: に関する質問過去のH1にトレンドラインを引くとしたら、最初のM1バーの指数はどうなるのでしょうか?そして、ラインの開始時間と終了時間によって、それをどのように見つけるかは明確ではありません。説明不足でしたら、申し訳ありません。私にとっては難しいことです。 インデックス以外にも、時間... Николай Никитюк 2021.03.01 17:46 #14042 //--- for(int j=0;j<OrdersTotal();j++) { if(OrderSelect(j,SELECT_BY_POS,MODE_TRADES)==false) break; if(OrderMagicNumber()!=MAGICZZ || OrderSymbol()!=Symbol()) continue; //--- check order type if(OrderType()==OP_BUY) { //if(OrderProfit()>0.0) //{//Print("OrderProfitB()=",OrderProfit()); if(iClose(NULL,PERIOD_CURRENT,1)-iOpen(NULL,PERIOD_CURRENT,1)>0.0) {if(iOpen(NULL,PERIOD_CURRENT,0)-iClose(NULL,PERIOD_CURRENT,0)>0.0) {Print("iCloseB()=",iClose(NULL,PERIOD_CURRENT,0)); if(!OrderClose(OrderTicket(),OrderLots(),Bid,3,White)) Print("OrderClose error ",GetLastError()); } } } if(OrderType()==OP_SELL) { //if(OrderProfit()>0.0) //{//Print("OrderProfitS()=",OrderProfit()); if(iOpen(NULL,PERIOD_CURRENT,1)-iClose(NULL,PERIOD_CURRENT,1)>0.0) {if(iClose(NULL,PERIOD_CURRENT,0)-iOpen(NULL,PERIOD_CURRENT,0)>0.0) {Print("iCloseS()=",iClose(NULL,PERIOD_CURRENT,0)); if(!OrderClose(OrderTicket(),OrderLots(),Ask,3,White)) Print("OrderClose error ",GetLastError()); } } こんにちは!2021.03.01_19:49GMT+3です。トレーディングシステムの成績を向上させたい。しかし、iOpen()とiClose()はうまくいかなかったようです。ストラテジーテスターで、Expert Advisorを確認したところ、175トレードのうち、上記コードの条件により決済されたのは81トレードのみだったようです。このコードは動作しません。そのためにどうすればいいのか。MetaQuotesのプログラマーに聞いてみるのはどうでしょうか?では、ストラテジーテスターのログを見て、これらの機能がどの程度稀に動作するかを投稿してみます。見つけた。20210228.log . 時間 13:53:02.192, open #155, iCloseB()=1.3434.ログファイルを添付します。さて、これらのiClose()とiOpen()関数を動作させるにはどうしたらいいのか、誰か教えてくれないかな。取引システムの効率が悪いから。以上、今回はこの辺で。2021.03.01_20:12 GMT+3. ファイル: 20210228.log 277 kb Yevhenii Levchenko 2021.03.01 18:01 #14043 mt5では、ある時間枠で、そろそろ新しいバーが 表示される(相場が来るようだ)というのに、まだ来ないということが起こります。何ですか?価格設定の具体的な内容は? Artyom Trishkin 2021.03.01 18:34 #14044 ifitstrue: に関する質問過去のH1にトレンドラインを引くとしたら、最初のM1バーの指数はどうなるのでしょうか?そして、ラインの開始時間と終了時間によって、それをどのように見つけるかは明確ではありません。説明不足でしたら、申し訳ありません。私にとっては難しいことです。 H1にはバーが開いている時間が あり、それはiTime()です。 M1上のこの時間のバーのインデックスを理解するために、iBarShift()があります。 あとはiHighest()とiLowest()を使ってM1の最小と最大のバーを知るだけです。 Николай Никитюк 2021.03.01 18:39 #14045 またまたこんにちは。2021.03.01_20:24 GMT+3.このフォーラムの1304ページのスレッドで、私のバージョン4のテスターが 遅いと書きました。そして、ヴィタリー・ムジチェンコは私を誤解していた。コメントを書き終えた時刻を書き込んでいます。そして、私は誰も急がせてはいないのです。答えがない中で、偶然にも答えを見つけることができました。私は今、ストラテジーテスターで何をしているのでしょうか?Expert Advisor をテストする前に、「最適化」にチェックを入れています。最適化するんです。とはいえ、今のところ最適化は必要ないのですが。約1秒で最適化します。そして、チェックボックスの「最適化」をクリアします。Expert Advisorの動作確認をしています。すると、ストラテジーテスターの動作が速くなる。40分でも1時間でもない。書かずにはいられなくなったのです。もしかしたら、誰かの役に立つかもしれない。私のブローカーはターミナルのバージョン4にルーブル口座を持ち、バージョン5にはないため、私はターミナルの第4バージョンでExpert Advisorを記述しています。米ドルには手を出したくない。巨額の国家債務の上限があるし、私のブローカーは私のドルを非市場でルーブルに変換している。20:39 GMT+3。 Tretyakov Rostyslav 2021.03.01 18:49 #14046 Николай Никитюк: こんにちは!2021.03.01_19:49 GMT+3です。トレーディングシステムの成績を向上させたい。しかし、iOpen()とiClose()関数が動作しないようです。ストラテジーテスターで、Expert Advisorを確認したところ、175トレードのうち、上記コードの条件で決済されたのは81トレードだけだったようです。このコードは動作しません。そのためにどうすればいいのか。MetaQuotesのプログラマーに聞いてみるのはどうでしょうか?では、ストラテジーテスターのログを見て、これらの機能がどの程度稀に動作するかを投稿してみます。見つけた。20210228.log . 時間 13:53:02.192, open #155, iCloseB()=1.3434.ログファイルを添付します。さて、これらのiClose()とiOpen()関数を動作させるにはどうしたらいいのか、誰か教えてくれないかな。取引システムの効率が悪いから。以上、今回はこの辺で。2021.03.01_20:12 GMT+3. コードは問題ないようですが、スリッページに戸惑います...非常に小さいので、もっと スリッページを入れて 確認してください Александр 2021.03.02 07:32 #14047 Alexey Viktorov: やれやれ何か欲しいものがあったのだろうか?何か頼んだっけ?私を誰だと思ってるの? 人違いです、申し訳ありません。) Александр 2021.03.02 07:46 #14048 Николай Никитюк: こんにちは!2021.03.01_19:49GMT+3です。トレーディングシステムの成績を向上させたい。しかし、iOpen()とiClose()関数が動作しないようです。ストラテジーテスターで、Expert Advisorをテストしたところ、175トレードのうち、81トレードだけが上記コードの条件でクローズされたようです。このコードは動作しません。そのためにどうすればいいのか。MetaQuotesのプログラマーに聞いてみるのはどうでしょうか?では、ストラテジーテスターのログを見て、これらの機能がどの程度稀に動作するかを投稿してみます。見つけた。20210228.log . 時間 13:53:02.192, open #155, iCloseB()=1.3434.ログファイルを添付します。さて、これらのiClose()とiOpen()関数を動作させるにはどうしたらいいのか、誰か教えてくれないかな。取引システムの効率が悪いから。以上、今回はこの辺で。2021.03.01_20:12 GMT+3. 同じことだから、そう書き換えてみてください。 if(Close[1]-Open[1]>0.0) { if(Close[0]-Open[0]>0.0) というか、そういう書き方をしています。 if(Close[1]>Open[1]) { if(Close[0]>Open[0]) { Александр 2021.03.02 07:48 #14049 klub2003: 皆さんこんにちは! ここで問題です! 価格がMAを下か上にクロスしています。 後でクロスしたポイントの数を計算するために、それを記憶しておく必要があります。 私はこのように理解しています。 double FixPrice; // 変数 bool Fix=false; // マーカ if ( Fix==false ) {。 if ( Close[0] > MA_lo ) FixPrice = Close[0];}// 価格がMAを越えるまで計測する if ( Close[0] < MA_lo ) Fix=true; if ( Fix==true) FixPrice_L = FixPrice ; そして、ここが次の難関です - 価格は記憶されていません! ぜひとも よろしくお願いします。 //+------------------------------------------------------------------+ //| Test.mq4 | //| Copyright 2019, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2019, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" #property strict //--- double FixPrice; // переменная ТАК БУДЕТ ЗАПОМИНАТЬСЯ. ГЛОБАЛЬНАЯ ПЕРЕМЕННАЯ bool Fix = false; // маркер //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //--- if(Fix == false) { if(Close[0] > MA_lo) FixPrice = Close[0]; } // делаем замер пока цена не пересечет МА if(Close[0] < MA_lo) Fix = true; if(Fix == true) FixPrice_L = FixPrice ; //+------------------------------------------------------------------+ } //+------------------------------------------------------------------+ このように暗記させるのです。 しかし、キャンドルの開口部では、留意してください。 Close[0]=Open[0] и Close[0]=High [0] и Close[0]=Low[0] したがって、瞬時のリアルタイムのデータが必要な場合は double Bidd=NormalizeDouble(Bid,Digits); если цена сверху или double Askk=NormalizeDouble(Askk,Digits); если цена снизу МА double MA_lo=NormalizeDouble(MA_lo,Digits); その際、比較される価格はすべて標準化した方がよいので、驚かれることはありません :) fxbo 2021.03.02 12:11 #14050 MakarFX: Чтобы перевернуть ФИБО поменяй местами р1 и р2 С алертом я не помогу( MakarFX:FIBO を反転させるには、p1 と p2 を入れ替える。アラートはどうしようもないですね( どうも、ありがとうございます。2つの異なる解決策を得ましたが、あなたのものが一番簡単 です。 1...139813991400140114021403140414051406140714081409141014111412...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
に関する質問
過去のH1にトレンドラインを引くとしたら、最初のM1バーの指数はどうなるのでしょうか?
そして、ラインの開始時間と終了時間によって、それをどのように見つけるかは明確ではありません。
説明不足でしたら、申し訳ありません。
私にとっては難しいことです。
インデックス以外にも、時間...
に関する質問
過去のH1にトレンドラインを引くとしたら、最初のM1バーの指数はどうなるのでしょうか?
そして、ラインの開始時間と終了時間によって、それをどのように見つけるかは明確ではありません。
説明不足でしたら、申し訳ありません。
私にとっては難しいことです。
H1にはバーが開いている時間が あり、それはiTime()です。
M1上のこの時間のバーのインデックスを理解するために、iBarShift()があります。
あとはiHighest()とiLowest()を使ってM1の最小と最大のバーを知るだけです。
こんにちは!2021.03.01_19:49 GMT+3です。トレーディングシステムの成績を向上させたい。しかし、iOpen()とiClose()関数が動作しないようです。ストラテジーテスターで、Expert Advisorを確認したところ、175トレードのうち、上記コードの条件で決済されたのは81トレードだけだったようです。このコードは動作しません。そのためにどうすればいいのか。MetaQuotesのプログラマーに聞いてみるのはどうでしょうか?では、ストラテジーテスターのログを見て、これらの機能がどの程度稀に動作するかを投稿してみます。見つけた。20210228.log . 時間 13:53:02.192, open #155, iCloseB()=1.3434.ログファイルを添付します。さて、これらのiClose()とiOpen()関数を動作させるにはどうしたらいいのか、誰か教えてくれないかな。取引システムの効率が悪いから。以上、今回はこの辺で。2021.03.01_20:12 GMT+3.
コードは問題ないようですが、スリッページに戸惑います...非常に小さいので、もっと スリッページを入れて 確認してください
やれやれ何か欲しいものがあったのだろうか?何か頼んだっけ?私を誰だと思ってるの?
こんにちは!2021.03.01_19:49GMT+3です。トレーディングシステムの成績を向上させたい。しかし、iOpen()とiClose()関数が動作しないようです。ストラテジーテスターで、Expert Advisorをテストしたところ、175トレードのうち、81トレードだけが上記コードの条件でクローズされたようです。このコードは動作しません。そのためにどうすればいいのか。MetaQuotesのプログラマーに聞いてみるのはどうでしょうか?では、ストラテジーテスターのログを見て、これらの機能がどの程度稀に動作するかを投稿してみます。見つけた。20210228.log . 時間 13:53:02.192, open #155, iCloseB()=1.3434.ログファイルを添付します。さて、これらのiClose()とiOpen()関数を動作させるにはどうしたらいいのか、誰か教えてくれないかな。取引システムの効率が悪いから。以上、今回はこの辺で。2021.03.01_20:12 GMT+3.
同じことだから、そう書き換えてみてください。
というか、そういう書き方をしています。
皆さんこんにちは!
ここで問題です!
価格がMAを下か上にクロスしています。
後でクロスしたポイントの数を計算するために、それを記憶しておく必要があります。
私はこのように理解しています。
double FixPrice; // 変数
bool Fix=false; // マーカ
if ( Fix==false ) {。
if ( Close[0] > MA_lo ) FixPrice = Close[0];
}// 価格がMAを越えるまで計測する
if ( Close[0] < MA_lo ) Fix=true;
if ( Fix==true) FixPrice_L = FixPrice ;
そして、ここが次の難関です - 価格は記憶されていません!
このように暗記させるのです。
しかし、キャンドルの開口部では、留意してください。
したがって、瞬時のリアルタイムのデータが必要な場合は
その際、比較される価格はすべて標準化した方がよいので、驚かれることはありません :)
Чтобы перевернуть ФИБО поменяй местами р1 и р2
С алертом я не помогу(
FIBO を反転させるには、p1 と p2 を入れ替える。
アラートはどうしようもないですね(
どうも、ありがとうございます。2つの異なる解決策を得ましたが、あなたのものが一番簡単 です。