初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 1446 1...143914401441144214431444144514461447144814491450145114521453...1503 新しいコメント Evgeny Dyuka 2023.02.15 08:46 #14451 Alexey Viktorov #:1.ベースハンドルを受け取らない場合は、ベースを閉じる必要はない。2.INVALID_HANDLEを受信した場合、なぜプログラムの実行を続けるのか?この場合、中断してリターンした方が良いと思います。私は今、存在しないデータベースを開いたり閉じたりを繰り返していますが、エラーのプリントアウトを得ることができません。このプリントアウトは、オープンできなかったベースへのクエリを作成する瞬間に表示されるのだと思います。 1秒ごとにデータベースのレコードを更新する最小限のテストExpert Advisorを作ってみます。10ペアで実行すれば、すべてが明らかになるだろう。それをここに掲載する。 Alexey Viktorov 2023.02.15 08:53 #14452 Evgeny Dyuka #: 1秒ごとにデータベースのレコードを更新する最小限のテスト用Expert Advisorを作成します。10ペアで実行すれば、すべてがクリアになる。ーここにー 興味深い。ー待ってますな。 Evgeny Dyuka 2023.02.15 11:12 #14453 Alexey Viktorov #:興味深い。待っているよ...。 これがエキスパートだ。これは(まだ存在していなければ)ベースを作成し、1秒に1回現在の時刻を書き込む。 コードにはPrint()はありません。 10組で実行したところ、エラーが出ました: CS 2 11:44:36.561 Test_DB (EURUSD,M10) database error, database is locked CS 2 11:55:27.018 Test_DB (BTCUSD,M10) database error, database is locked CS 2 11:55:28.026 Test_DB (BTCUSD,M10) database error, database is locked CS 2 11:55:49.177 Test_DB (TRXUSD,M10) database error, database is locked CS 2 11:55:51.183 Test_DB (EURUSD,M10) database error, database is locked CS 2 11:55:53.182 Test_DB (TRXUSD,M10) database error, database is locked エラーが発生するには、MT5を終了して再起動する必要があります。 1. 2.ベースが利用できない場合にキューに入れるテンプレートメカニズムを考案する。 UPDATE: ファイルを再アップロードしました。最初のものはエラーがありました。 ファイル: Test_DB_1.mq5 3 kb Alexey Viktorov 2023.02.15 13:16 #14454 Evgeny Dyuka #:これがエキスパートだ。これは(まだ存在していなければ)ベースを作成し、1秒に1回現在の時刻を書き込む。 コードにはPrint()はありません。 10組で実行しましたが、エラーが発生しました:エラーが発生した場合は、MT5を終了して再起動すると、すべてのExpert Advisorが同期して動作し始めます。 1. 2.ベースが利用できない場合にキューに入れるテンプレートメカニズムを考案する。UPDATE: ファイルを再アップロードしました。最初のものはエラーがありました。 残念ながら、私の知識は十分ではない。エラーが出力されていることに気づくのに十分なだけだ。 DatabaseExecute(db, sql); クエリーを作成する前に可用性をチェックすることはできません。 データベースは開きますが、クエリを作成することはできません。 Nikolai Kalinin 2023.02.16 01:21 #14455 サーバー上で注文が開いておらず、ストップとテイクがなく、アルゴ・モードが有効で、セットアップ・コマンドはパスしますが、ログはサイレントCTrade クラス です。テスターでは実際の取引は無音で動作します。何をチェックすべきでしょうか? Vladimir Deryagin 2023.02.16 05:59 #14456 mwwm CTrade クラス です。テスターでは実際の取引は無音で動作します。何を確認すればよいでしょうか? ターミナルログ Nikolai Kalinin 2023.02.17 00:57 #14457 Vladimir Deryagin #:ターミナルログ ログをオンにしたはずなのに、ロットが計算できない。なぜ実際の計算をしたくないのか理解できない。 void OpenBuy(const int index,double sl,double tp) { sl=m_symbol.NormalizePrice(sl); tp=m_symbol.NormalizePrice(tp); double long_lot=0.0; if(InpLotOrRisk==risk) { long_lot=m_money.CheckOpenLong(m_symbol.Ask(),sl); if(InpPrintLog) Print(__FILE__," ",__FUNCTION__,", OK: ","sl=",DoubleToString(sl,m_symbol.Digits()), ", CheckOpenLong: ",DoubleToString(long_lot,2), ", Balance: ", DoubleToString(m_account.Balance(),2), ", Equity: ", DoubleToString(m_account.Equity(),2), ", FreeMargin: ", DoubleToString(m_account.FreeMargin(),2)); if(long_lot==0.0) { ArrayRemove(SPosition,index,1); if(InpPrintLog) Print(__FILE__," ",__FUNCTION__,", ERROR: ","CMoneyFixedMargin.CheckOpenLong returned the value of 0.0"); return; } } Aleksandr Slavskii 2023.02.17 02:00 #14458 mwwm #:ログをオンにしても、ロットの計算ができないんだ。なぜ実際の計算をしたくないのか理解できない。 ログがないので、何倍もの推測が可能です。 ークロスをークするとき、ークロスのークオプションとしてーク市場概要にーク入金通貨でークロスのーク通貨をークオプションでークオプションのークロスをーク通貨をーク通貨をーク通貨を。 ー例えばーEURJPY、ー入金通貨USD、ー市場概要にーEURUSDとーUSDJPY。 Nikolai Kalinin 2023.02.17 02:54 #14459 Aleksandr Slavskii #:過去ログがないのだから、その何倍もの推測があり得る。オプションとして、クロスを取引するとき、市場概要で預金通貨とのペアが選択されていない場合は、取引されません。例えば、私たちはEURJPY、預金通貨USDを取引し、市場の概要にEURUSDとUSDJPYが存在する必要があります。 XAUUSDを取引するUSDプロセントのアカウント Vyacheslav Pronenko 2023.02.17 17:04 #14460 皆さん、こんにちは。MQL5でバッファを使用して最初のバーに1つの矢印を描くことができません。 MQL4では以下のようにしています: グローバル変数 double XX[] を宣言します; initに書き込みます: SetIndexBuffer(0,XX); SetIndexStyle(0,DRAW_ARROW); SetIndexArrow(0,108); Oncalculateではこう書く: XX[1]=High[1];と書くと、ローソク足1の上に矢印が描かれる。 MQL5でも同じことをする: グローバル変数double XX[]を宣言 する; init.Logに書き込む: SetIndexBuffer(0,XX,INDICATOR_DATA); PlotIndexSetInteger(0,PLOT_ARROW,108); Oncalculateでは こう書く: XX[1]=high[1];-描画されない。 XX[1]=iHigh(Symbol(),PERIOD_CURRENT,1);-これも描画されない。 もちろん、ヘッダでも指定されている: #プロパティ indicator_buffers 1 #プロパティ indicator_plots 1 #プロパティ indicator_type1 DRAW_ARROW #プロパティ indicator_color1 clrGreen #プロパティ indicator_width1 1 私は何を間違えているのでしょうか? Questions from Beginners MQL5 理論から実践へ コーディングの方法は? 1...143914401441144214431444144514461447144814491450145114521453...1503 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
1.ベースハンドルを受け取らない場合は、ベースを閉じる必要はない。
2.INVALID_HANDLEを受信した場合、なぜプログラムの実行を続けるのか?この場合、中断してリターンした方が良いと思います。
私は今、存在しないデータベースを開いたり閉じたりを繰り返していますが、エラーのプリントアウトを得ることができません。このプリントアウトは、オープンできなかったベースへのクエリを作成する瞬間に表示されるのだと思います。
1秒ごとにデータベースのレコードを更新する最小限のテスト用Expert Advisorを作成します。10ペアで実行すれば、すべてがクリアになる。ーここにー
興味深い。ー待ってますな。
興味深い。待っているよ...。
これがエキスパートだ。これは(まだ存在していなければ)ベースを作成し、1秒に1回現在の時刻を書き込む。
コードにはPrint()はありません。
10組で実行したところ、エラーが出ました:
エラーが発生するには、MT5を終了して再起動する必要があります。
1.
2.ベースが利用できない場合にキューに入れるテンプレートメカニズムを考案する。
UPDATE: ファイルを再アップロードしました。最初のものはエラーがありました。
これがエキスパートだ。これは(まだ存在していなければ)ベースを作成し、1秒に1回現在の時刻を書き込む。
コードにはPrint()はありません。
10組で実行しましたが、エラーが発生しました:
エラーが発生した場合は、MT5を終了して再起動すると、すべてのExpert Advisorが同期して動作し始めます。
1.
2.ベースが利用できない場合にキューに入れるテンプレートメカニズムを考案する。
UPDATE: ファイルを再アップロードしました。最初のものはエラーがありました。
残念ながら、私の知識は十分ではない。エラーが出力されていることに気づくのに十分なだけだ。
DatabaseExecute(db, sql);
クエリーを作成する前に可用性をチェックすることはできません。
データベースは開きますが、クエリを作成することはできません。
ターミナルログ
ターミナルログ
ログをオンにしたはずなのに、ロットが計算できない。なぜ実際の計算をしたくないのか理解できない。
ログをオンにしても、ロットの計算ができないんだ。なぜ実際の計算をしたくないのか理解できない。
ログがないので、何倍もの推測が可能です。
ークロスをークするとき、ークロスのークオプションとしてーク市場概要にーク入金通貨でークロスのーク通貨をークオプションでークオプションのークロスをーク通貨をーク通貨をーク通貨を。
ー例えばーEURJPY、ー入金通貨USD、ー市場概要にーEURUSDとーUSDJPY。
過去ログがないのだから、その何倍もの推測があり得る。
オプションとして、クロスを取引するとき、市場概要で預金通貨とのペアが選択されていない場合は、取引されません。
例えば、私たちはEURJPY、預金通貨USDを取引し、市場の概要にEURUSDとUSDJPYが存在する必要があります。
XAUUSDを取引するUSDプロセントのアカウント
皆さん、こんにちは。MQL5でバッファを使用して最初のバーに1つの矢印を描くことができません。
MQL4では以下のようにしています:
グローバル変数 double XX[] を宣言します;
initに書き込みます:
SetIndexBuffer(0,XX);
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0,108);
Oncalculateではこう書く:
XX[1]=High[1];と書くと、ローソク足1の上に矢印が描かれる。
MQL5でも同じことをする:
グローバル変数double XX[]を宣言 する;
init.Logに書き込む:
SetIndexBuffer(0,XX,INDICATOR_DATA);
PlotIndexSetInteger(0,PLOT_ARROW,108);
Oncalculateでは こう書く:
XX[1]=high[1];-描画されない。
XX[1]=iHigh(Symbol(),PERIOD_CURRENT,1);-これも描画されない。
もちろん、ヘッダでも指定されている:
#プロパティ indicator_buffers 1
#プロパティ indicator_plots 1
#プロパティ indicator_type1 DRAW_ARROW
#プロパティ indicator_color1 clrGreen
#プロパティ indicator_width1 1
私は何を間違えているのでしょうか?