MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1352 1...134513461347134813491350135113521353135413551356135713581359...1953 新しいコメント Valeriy Yastremskiy 2021.01.15 21:15 #13511 mt4でCopyBufferが 見つからない、mt5のみ mt4で見つからない? mt4でデータを取得するための簡単なバッファ配列の数値はあるのでしょうか? Igor Makanu 2021.01.16 08:14 #13512 Valeriy Yastremskiy: CopyBufferがmt4で見つからず、mt5にしかない mt4にはない? ノー MT4 では iCustom()https://docs.mql4.com/ru/indicators/icustom です。 昨年確認したところ、EAからのiCustom()呼び出しはキャッシュ可能で、同じtickで異なるバッファやインデックスに対して EAから何度もiCustom() を呼び出しても、インジケータ自体はこのtickで一度だけ再計算される、つまりパフォーマンスには何も問題は ないとのことでした。 ZS: なぜMT4なのか。もしMT5がすでに「解明」されているなら、生産性はもっと高く、テスターはもっと正確なのですが......。研究にとって良いことずくめだと思います。 Valeriy Yastremskiy 2021.01.16 11:02 #13513 Igor Makanu:ノーMT4 では iCustom()https://docs.mql4.com/ru/indicators/icustom です。昨年確認したところ、EAからのiCustom()呼び出しはキャッシュ可能で、同じtickで異なるバッファやインデックスに対して EAから何度もiCustom() を呼び出しても、インジケータ自体はこのtickで一度だけ再計算される、つまりパフォーマンスには何も問題は ないとのことでした。ZS: なぜMT4なのか。もしMT5がすでに「解明」されているなら、生産性はもっと高く、テスターはもっと正確なのですが......。全体として、研究にとって良いことだと思います。MT4でアイデアを出す方がやりやすい。シェルの方が簡単です)))いいえ、そうではありません。昔ながらの方法で、配列のループの中に))))を書いてみましょう。私はまだこれらの段階に達していません))) MT5では、MT4が動作しなくなったときにスケーリングすることに意味があります))) これは遅すぎるか、データ量が多すぎるかのどちらかです。 を追加しました。そして、そのアイデアが許容できる誤差になるまで練り上げられたとき。 DanilaMactep 2021.01.18 07:11 #13514 皆さん、こんにちは。グレイルマシンはほぼ完成しているのですが、コンパイルすると「OrderSend」の戻り値をチェックするようにという警告が50~60個ほど出てきます TREND+ _V_1,1.mq4 1626 11 注文の開始をチェックなしで書くので、私が理解する限りでは、次のようになります。 //--- АО БАЙ-- /*УСЛОВИЕ 1*/ if(flag_screen1==en_vbIkl_screen1 &&flag_screen2==en_vbIkl_screen2) { // НАЧАЛО УСЛОВИЕ 1 if(ao_buy!=EMPTY_VALUE && count_orders_market_buy ==0) { OrderSend(Symbol(),OP_BUY,lot,Ask,slippages,Bid-sl,Bid+tp ,comment_ao_buy); // ОТКРЫВАЕМ БАЙ ОРДЕР } } // КОНЕЦ УСЛОВИЕ1 Tretyakov Rostyslav 2021.01.18 07:23 #13515 DanilaMactep:皆さん、こんにちは。グレイルマシンはほぼ完成しているのですが、コンパイルすると「OrderSend」の戻り値をチェックするようにという警告が50~60個ほど出てきます TREND+ _V_1,1.mq4 1626 11 私はチェックなしで注文の開始を書くので、私が理解する限りでは - このように。 こう書く if(OrderSend(Symbol(),OP_BUY,lot,Ask,slippages,Bid-sl,Bid+tp ,comment_ao_buy)) Print(Buy Open); // ОТКРЫВАЕМ БАЙ ОРДЕР DanilaMactep 2021.01.18 09:50 #13516 MakarFX:これを書くこのコードの行は動作しません:( このようなエラーが一度に2つ表示されます。買い」 - 未提示の識別子 TREND+_1,1.mq4 860 98'Open' - 何らかのオペレータが予想される TREND+_V_1,1.mq4 860 102そして、コード自体は以下のようなものです。if(OrderSend(Symbol(),OP_BUY,lot,Ask,slippages,Bid-sl,Bid+tp ,comment_ao_market_buy)) Print(Buy Open); // ОТКРЫВАЕМ БАЙ ОРДЕР アドバイス通りに全て書きましたが、唯一違うのは、コメントの変数名を変えて、成行注文と保留注文の コメントを分けたことです。私は何を間違えているのだろう? Vladislav Andruschenko 2021.01.18 09:55 #13517 Print("Buy Open"); Tretyakov Rostyslav 2021.01.18 10:27 #13518 DanilaMactep:このコードの行は動作しません:( このようなエラーが一度に2つ表示されます。買い」 - 未提示の識別子 TREND+_1,1.mq4 860 98'Open' - 何らかのオペレータが予想される TREND+_V_1,1.mq4 860 102で、コード自体は以下のようなものです。 アドバイス通りに全て書きましたが、唯一違うのは、コメントの変数名を変えて、成行注文と保留注文の コメントを分けたことです。私は何を間違えているのだろう? 見逃した "" ウラジスラフ・アンドルシェンコ Print("Buy Open"); BillionerClub 2021.01.18 10:58 #13519 OnCalculate メソッドでインジケーターを最初に起動すると、CopyRatesが動作しません。 MqlRates rates[]; if (CopyRates(_Symbol, _Period, (datetime)SeriesInfoInteger(Symbol(), Period(), SERIES_SERVER_FIRSTDATE), 1, rates) == -1) { return(0); }ダミーは表示されますが、コピーされません。まるでターミナルにインジケータがないかのようです。 Vladimir Karputov 2021.01.18 11:02 #13520 BillionerClub: OnCalculateメソッドでインジケーターを最初に起動すると、CopyRatesが動作しません。 印刷物には表示されるが、コピーされない。まるで端末にインジケータがないかのように。 ヘルプ:CopyRates 備考 要求されたデータの間隔がサーバ上で完全に範囲外であった場合、この関数は-1を返す。TERMINAL_MAXBARS(チャート内の最大バー数)の範囲外で データを要求した場合、この関数は-1も返します。 インジケータにデータを要求する際、要求されたタイムシリーズがまだビルドされていないか、サーバからダウンロードする必要がある場合、この関数はすぐに-1を返しますが、ダウンロード/ビルドのプロセスが開始されます。 Expert Advisor またはスクリプトからデータを要求すると、端末がローカルにこれらのデータを持っていない場合はサーバーからの読み込みが 開始され、ローカル履歴からデータを構築できる場合は必要な時系列の構築が開始されますが、まだ準備ができていない場合があります。この関数は、タイムアウト時間までに準備できる量のデータを返しますが、履歴の読み込みは継続され、次の同様のリクエストではより多くのデータが返されます。 開始日と必要個数でデータを要求した場合、指定した日付より小さい(早い)か等しいデータのみが返されます。同時に、間隔を秒単位で指定し、考慮する。これは、値が返される任意のバーの開始日(ボリューム、スプレッド、インジケータバッファの値、価格オープン、ハイ、ロー、クローズまたはオープン時間タイム)が、常に指定したものと同じかそれ未満であることを意味します。 指定された日付範囲のデータを要求する場合、要求された間隔に該当するデータのみが返され、間隔は秒単位で指定され考慮される。つまり、値が返されるバーの開始時間(ボリューム、スプレッド、インジケーターバッファの値、価格オープン、ハイ、ロー、クローズ、オープンタイム時間)は、常に要求された間隔内にあることを意味します。 したがって、現在の 曜日が土曜日の場合、start_time=Last Tuesdayとstop_time=Last Fridayを指定して週足タイムフレームのデータをコピーしようと すると、週足タイムフレームの開始時刻は常に日曜日であり、指定した範囲に入る週足はないため、関数は0を返す ことになるのです。 現在の未完成のバーに対応する値を取得したい 場合は、start_pos=0とcount= 1を指定して、最初の呼び出し形式を使用 することができます。 Документация по MQL5: Доступ к таймсериям и индикаторам / CopyRates www.mql5.com CopyRates - Доступ к таймсериям и индикаторам - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 1...134513461347134813491350135113521353135413551356135713581359...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
CopyBufferがmt4で見つからず、mt5にしかない mt4にはない?
ノー
MT4 では iCustom()https://docs.mql4.com/ru/indicators/icustom です。
昨年確認したところ、EAからのiCustom()呼び出しはキャッシュ可能で、同じtickで異なるバッファやインデックスに対して EAから何度もiCustom() を呼び出しても、インジケータ自体はこのtickで一度だけ再計算される、つまりパフォーマンスには何も問題は ないとのことでした。
ZS: なぜMT4なのか。もしMT5がすでに「解明」されているなら、生産性はもっと高く、テスターはもっと正確なのですが......。研究にとって良いことずくめだと思います。
ノー
MT4 では iCustom()https://docs.mql4.com/ru/indicators/icustom です。
昨年確認したところ、EAからのiCustom()呼び出しはキャッシュ可能で、同じtickで異なるバッファやインデックスに対して EAから何度もiCustom() を呼び出しても、インジケータ自体はこのtickで一度だけ再計算される、つまりパフォーマンスには何も問題は ないとのことでした。
ZS: なぜMT4なのか。もしMT5がすでに「解明」されているなら、生産性はもっと高く、テスターはもっと正確なのですが......。全体として、研究にとって良いことだと思います。
MT4でアイデアを出す方がやりやすい。シェルの方が簡単です)))いいえ、そうではありません。昔ながらの方法で、配列のループの中に))))を書いてみましょう。私はまだこれらの段階に達していません))) MT5では、MT4が動作しなくなったときにスケーリングすることに意味があります))) これは遅すぎるか、データ量が多すぎるかのどちらかです。
を追加しました。そして、そのアイデアが許容できる誤差になるまで練り上げられたとき。皆さん、こんにちは。グレイルマシンはほぼ完成しているのですが、コンパイルすると「OrderSend」の戻り値をチェックするようにという警告が50~60個ほど出てきます TREND+ _V_1,1.mq4 1626 11
注文の開始をチェックなしで書くので、私が理解する限りでは、次のようになります。
皆さん、こんにちは。グレイルマシンはほぼ完成しているのですが、コンパイルすると「OrderSend」の戻り値をチェックするようにという警告が50~60個ほど出てきます TREND+ _V_1,1.mq4 1626 11
私はチェックなしで注文の開始を書くので、私が理解する限りでは - このように。
こう書く
これを書く
このコードの行は動作しません:( このようなエラーが一度に2つ表示されます。
買い」 - 未提示の識別子 TREND+_1,1.mq4 860 98
'Open' - 何らかのオペレータが予想される TREND+_V_1,1.mq4 860 102
そして、コード自体は以下のようなものです。
アドバイス通りに全て書きましたが、唯一違うのは、コメントの変数名を変えて、成行注文と保留注文の コメントを分けたことです。私は何を間違えているのだろう?Print("Buy Open");このコードの行は動作しません:( このようなエラーが一度に2つ表示されます。
買い」 - 未提示の識別子 TREND+_1,1.mq4 860 98
'Open' - 何らかのオペレータが予想される TREND+_V_1,1.mq4 860 102
で、コード自体は以下のようなものです。
アドバイス通りに全て書きましたが、唯一違うのは、コメントの変数名を変えて、成行注文と保留注文の コメントを分けたことです。私は何を間違えているのだろう?見逃した ""
ウラジスラフ・アンドルシェンコ
Print("Buy Open");ダミーは表示されますが、コピーされません。まるでターミナルにインジケータがないかのようです。
OnCalculateメソッドでインジケーターを最初に起動すると、CopyRatesが動作しません。
印刷物には表示されるが、コピーされない。まるで端末にインジケータがないかのように。
ヘルプ:CopyRates
備考