エラー、バグ、質問 - ページ 1780 1...177317741775177617771778177917801781178217831784178517861787...3185 新しいコメント 削除済み 2017.02.02 17:44 #17791 SymbolInfoTick() が無関係なデータを返すエラー - tickのオーバーシュート。Build 1525 x64。インジケータからのテスト、Expert Advisorでのテストはしていません。#property version "1.00"#property indicator_chart_window#property indicator_plots 0//+------------------------------------------------------------------+//| Custom indicator initialization function |//+------------------------------------------------------------------+int OnInit() {//--- indicator buffers mapping //--- return(INIT_SUCCEEDED); }//+------------------------------------------------------------------+//| Custom indicator iteration function |//+------------------------------------------------------------------+int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) {//--- static long prevMs = 0; //--- MqlTick tick; if( SymbolInfoTick( _Symbol, tick ) ) { if( prevMs != 0 && tick.time_msc < prevMs ) { Print( __FUNCTION__,": ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick() вернуло не последнее значение!" ); Print( __FUNCTION__,": Текущее время мс = ",tick.time_msc," ("+TimeToString( tick.time, TIME_DATE|TIME_SECONDS )+"), предыдущее = ",prevMs ); } //--- prevMs = tick.time_msc; } else Print( __FUNCTION__,": ОШИБКА #",GetLastError(),". Значение текущего тика не получено!" );//--- return value of prev_calculated for next call return(rates_total); }//+------------------------------------------------------------------+結果2017.02.02 21:54:20.450 test_SymbolInfoTick_20170202 (VTBR-3.17,M1) OnCalculate: ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick() вернуло не последнее значение!2017.02.02 21:54:20.450 test_SymbolInfoTick_20170202 (VTBR-3.17,M1) OnCalculate: Текущее время мс = 1486065260384 (2017.02.02 19:54:20), предыдущее = 14860652603872017.02.02 22:11:31.025 test_SymbolInfoTick_20170202 (GOLD-3.17,M3) OnCalculate: ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick() вернуло не последнее значение!2017.02.02 22:11:31.025 test_SymbolInfoTick_20170202 (GOLD-3.17,M3) OnCalculate: Текущее время мс = 1486066290963 (2017.02.02 20:11:30), предыдущее = 14860662909662017.02.02 22:12:44.939 test_SymbolInfoTick_20170202 (BR-3.17,M1) OnCalculate: ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick() вернуло не последнее значение!2017.02.02 22:12:44.939 test_SymbolInfoTick_20170202 (BR-3.17,M1) OnCalculate: Текущее время мс = 1486066364884 (2017.02.02 20:12:44), предыдущее = 14860663648902017.02.02 22:29:36.358 test_SymbolInfoTick_20170202 (Si-3.17,M1) OnCalculate: ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick() вернуло не последнее значение!2017.02.02 22:29:36.358 test_SymbolInfoTick_20170202 (Si-3.17,M1) OnCalculate: Текущее время мс = 1486067376304 (2017.02.02 20:29:36), предыдущее = 14860673763072017.02.02 22:31:26.462 test_SymbolInfoTick_20170202 (Si-3.17,M1) OnCalculate: ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick() вернуло не последнее значение!2017.02.02 22:31:26.462 test_SymbolInfoTick_20170202 (Si-3.17,M1) OnCalculate: Текущее время мс = 1486067486339 (2017.02.02 20:31:26), предыдущее = 14860674863442017.02.02 22:32:14.441 test_SymbolInfoTick_20170202 (Si-3.17,M1) OnCalculate: ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick() вернуло не последнее значение!2017.02.02 22:32:14.441 test_SymbolInfoTick_20170202 (Si-3.17,M1) OnCalculate: Текущее время мс = 1486067534360 (2017.02.02 20:32:14), предыдущее = 14860675343632017.02.02 22:36:07.509 test_SymbolInfoTick_20170202 (Si-3.17,M1) OnCalculate: ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick() вернуло не последнее значение!2017.02.02 22:36:07.510 test_SymbolInfoTick_20170202 (Si-3.17,M1) OnCalculate: Текущее время мс = 1486067767443 (2017.02.02 20:36:07), предыдущее = 14860677674632017.02.02 22:39:29.606 test_SymbolInfoTick_20170202 (Si-3.17,M1) OnCalculate: ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick() вернуло не последнее значение!2017.02.02 22:39:29.606 test_SymbolInfoTick_20170202 (Si-3.17,M1) OnCalculate: Текущее время мс = 1486067969557 (2017.02.02 20:39:29), предыдущее = 1486067969558リアル、オープニング、アクセスサーバーV。悲報!問題点に注目してください。また、申請番号1598238の 問題(10ページ目から、2017.01.26 09:43の投稿)にもです。開発者の皆さん、ダニを直しましょう!コードが提供され、それがここにある - 問題、何も探す必要はありません、ただ反応して、それを解決してください Errors, bugs, questions MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 事前計算された 削除済み 2017.02.02 17:51 #17792 あ、あとターミナルのパネルももう直してくださいね。バグは取るに足らないものですが、頻繁に窓パネルを絞ったり伸ばしたりする必要がある場合は、所定の位置に立っていない迷惑なものです!。Build 1525 x64。 Alexander 2017.02.03 06:05 #17793 調べてみよう。 Alexey Da 2017.02.03 07:33 #17794 Alexey Kozitsyn:SymbolInfoTick() が無関係なデータを返すエラー - tickのオーバーシュート。Build 1525 x64。インジケータからのテスト、Expert Advisorでのテストはしていません。開発者の皆さん、ダニを直しましょう!コードは提供されています、ここにあります - 問題、あなたはそれを探す必要はありません、ちょうど反応し、それを修正します メッセージは、servicedeskへのリクエストにしてください。 削除済み 2017.02.03 07:35 #17795 Alexey Da: Servicedeskアプリケーションでメッセージを形成してください。#1664077 A100 2017.02.03 16:55 #17796 コンパイルエラーstatic string text1 = "ABC" "DEF"; //нормальноstatic string text2 =#ifndef MACRO "ABC"#endif "DEF"; //Error: 'DEF' - some operator expected A100 2017.02.03 19:38 #17797 チャート周期変更時の関数呼び出し順が正しくない。Indicator location path: \IndicatorsTest_i.ex5Expertの場所: {ExpertsTest.ex5アクションのシーケンス。Expert Advisor 'Test.ex5' をM5チャート(シンボルはGBPUSD)にアタッチします。チャート期間をM15に変更チャート周期をM30に変更チャートからExpert Advisorを削除します。結果#ステップ1:参加 I::I->M5 OnInit->M5#ステップ2:ピリオド変更 M5 ->M15 I::I->M15 OnInit->M15#ステップ3:期間変更 M15->M30 I::I->M30 OnInit->M30 OnDeinit->M15:3 I::~I->M15#ステップ4:削除 OnDeinit->M5:1 ##この行は、このようにステップ#2で期待されたものです。OnDeinit->M5:3 I::~I->M5 ##この文字列はステップ#2で予想されたものです。 OnDeinit->M30:1 I::~I->M30マークされた行は、ステップ#2で出力され、さらにピリオド変更(REASON_CHARTCHANGE:3)によって初期化されますが、チャートから削除(REASON_REMOVE:1)されないことが予想されました。つまり、ステップ②はステップ③と同様の効果が期待されたのです//Test_i.mq5 //Индикаторvoid Prn( string f, int i = -1 ) { Print( f, "->", StringSubstr( EnumToString( Period()), 7 ), (i == -1 ? "" : ":" + i )); }struct I { I() { Prn( __FUNCTION__ ); } ~I() { Prn( __FUNCTION__ ); }};static const I i;void OnInit() { Prn( __FUNCTION__ ); }void OnDeinit( const int reason ) { Prn( __FUNCTION__, reason ); }int OnCalculate( const int, const int, const int, const double& [] ) { return 0; }//Test.mq5 //Эксперт struct B { B(); ~B(); const int h; static const string name;};const string B::name = "Test_i"; B::B() : h( iCustom( NULL, 0, name )){ if ( !ChartIndicatorAdd( 0, 0, h ) ) Print( "-1:", GetLastError());} B::~B(){ if ( !ChartIndicatorDelete( 0, 0, name ) ) Print( "-2:", GetLastError()); if ( !IndicatorRelease( h ) ) Print( "-3:", GetLastError());}static const B b;void OnInit() export {} Errors, bugs, questions [解決済み] 異なる作業時間枠のインディケータから呼び出され作成された場合、インディケータが適切にインスタンス化されない。 changing extern input setting Vladimir Gribachev 2017.02.03 21:11 #17798 Bill Williamsインジケーター装着時の不具合についてフラクタルを入れてみました。AOを設定する - ADXを設定するビルド1031 Alexandr Bryzgalov 2017.02.03 21:25 #17799 Vladimir Gribachev:Bill Williamsインジケーター装着時の不具合についてフラクタルを入れてみました。AOを設定する - ADXを設定するビルド1031このインジケーターを取り付けるときだけでなく、他のインジケーターも随時取り付けてください。端末を再起動すると直ります。は、テスト後に起動することに気づきました。 Aleksey Vyazmikin 2017.02.05 08:52 #17800 MT5 bild 1525のZigZag配信インジケータが断続的に点滅する(リフラッシュなし)。 1...177317741775177617771778177917801781178217831784178517861787...3185 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
SymbolInfoTick() が無関係なデータを返すエラー - tickのオーバーシュート。Build 1525 x64。インジケータからのテスト、Expert Advisorでのテストはしていません。
#property indicator_chart_window
#property indicator_plots 0
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//--- indicator buffers mapping
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
//---
static long prevMs = 0;
//---
MqlTick tick;
if( SymbolInfoTick( _Symbol, tick ) )
{
if( prevMs != 0 && tick.time_msc < prevMs )
{
Print( __FUNCTION__,": ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick() вернуло не последнее значение!" );
Print( __FUNCTION__,": Текущее время мс = ",tick.time_msc," ("+TimeToString( tick.time, TIME_DATE|TIME_SECONDS )+"), предыдущее = ",prevMs );
}
//---
prevMs = tick.time_msc;
}
else
Print( __FUNCTION__,": ОШИБКА #",GetLastError(),". Значение текущего тика не получено!" );
//--- return value of prev_calculated for next call
return(rates_total);
}
//+------------------------------------------------------------------+
結果
2017.02.02 21:54:20.450 test_SymbolInfoTick_20170202 (VTBR-3.17,M1) OnCalculate: Текущее время мс = 1486065260384 (2017.02.02 19:54:20), предыдущее = 1486065260387
2017.02.02 22:11:31.025 test_SymbolInfoTick_20170202 (GOLD-3.17,M3) OnCalculate: ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick() вернуло не последнее значение!
2017.02.02 22:11:31.025 test_SymbolInfoTick_20170202 (GOLD-3.17,M3) OnCalculate: Текущее время мс = 1486066290963 (2017.02.02 20:11:30), предыдущее = 1486066290966
2017.02.02 22:12:44.939 test_SymbolInfoTick_20170202 (BR-3.17,M1) OnCalculate: ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick() вернуло не последнее значение!
2017.02.02 22:12:44.939 test_SymbolInfoTick_20170202 (BR-3.17,M1) OnCalculate: Текущее время мс = 1486066364884 (2017.02.02 20:12:44), предыдущее = 1486066364890
2017.02.02 22:29:36.358 test_SymbolInfoTick_20170202 (Si-3.17,M1) OnCalculate: ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick() вернуло не последнее значение!
2017.02.02 22:29:36.358 test_SymbolInfoTick_20170202 (Si-3.17,M1) OnCalculate: Текущее время мс = 1486067376304 (2017.02.02 20:29:36), предыдущее = 1486067376307
2017.02.02 22:31:26.462 test_SymbolInfoTick_20170202 (Si-3.17,M1) OnCalculate: ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick() вернуло не последнее значение!
2017.02.02 22:31:26.462 test_SymbolInfoTick_20170202 (Si-3.17,M1) OnCalculate: Текущее время мс = 1486067486339 (2017.02.02 20:31:26), предыдущее = 1486067486344
2017.02.02 22:32:14.441 test_SymbolInfoTick_20170202 (Si-3.17,M1) OnCalculate: ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick() вернуло не последнее значение!
2017.02.02 22:32:14.441 test_SymbolInfoTick_20170202 (Si-3.17,M1) OnCalculate: Текущее время мс = 1486067534360 (2017.02.02 20:32:14), предыдущее = 1486067534363
2017.02.02 22:36:07.509 test_SymbolInfoTick_20170202 (Si-3.17,M1) OnCalculate: ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick() вернуло не последнее значение!
2017.02.02 22:36:07.510 test_SymbolInfoTick_20170202 (Si-3.17,M1) OnCalculate: Текущее время мс = 1486067767443 (2017.02.02 20:36:07), предыдущее = 1486067767463
2017.02.02 22:39:29.606 test_SymbolInfoTick_20170202 (Si-3.17,M1) OnCalculate: ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick() вернуло не последнее значение!
2017.02.02 22:39:29.606 test_SymbolInfoTick_20170202 (Si-3.17,M1) OnCalculate: Текущее время мс = 1486067969557 (2017.02.02 20:39:29), предыдущее = 1486067969558
リアル、オープニング、アクセスサーバーV。悲報!問題点に注目してください。また、申請番号1598238の 問題(10ページ目から、2017.01.26 09:43の投稿)にもです。
開発者の皆さん、ダニを直しましょう!コードが提供され、それがここにある - 問題、何も探す必要はありません、ただ反応して、それを解決してください
SymbolInfoTick() が無関係なデータを返すエラー - tickのオーバーシュート。Build 1525 x64。インジケータからのテスト、Expert Advisorでのテストはしていません。
開発者の皆さん、ダニを直しましょう!コードは提供されています、ここにあります - 問題、あなたはそれを探す必要はありません、ちょうど反応し、それを修正します
Servicedeskアプリケーションでメッセージを形成してください。
コンパイルエラー
"ABC"
"DEF"; //нормально
static string text2 =
#ifndef MACRO
"ABC"
#endif
"DEF"; //Error: 'DEF' - some operator expected
チャート周期変更時の関数呼び出し順が正しくない。
アクションのシーケンス。
結果
#ステップ1:参加
I::I->M5
OnInit->M5
#ステップ2:ピリオド変更 M5 ->M15
I::I->M15
OnInit->M15
#ステップ3:期間変更 M15->M30
I::I->M30
OnInit->M30
OnDeinit->M15:3
I::~I->M15
#ステップ4:削除
OnDeinit->M5:1 ##この行は、このようにステップ#2で期待されたものです。OnDeinit->M5:3
I::~I->M5 ##この文字列はステップ#2で予想されたものです。
OnDeinit->M30:1
I::~I->M30
マークされた行は、ステップ#2で出力され、さらにピリオド変更(REASON_CHARTCHANGE:3)によって初期化されますが、チャートから削除(REASON_REMOVE:1)されないことが予想されました。つまり、ステップ②はステップ③と同様の効果が期待されたのです
void Prn( string f, int i = -1 ) { Print( f, "->", StringSubstr( EnumToString( Period()), 7 ), (i == -1 ? "" : ":" + i )); }
struct I {
I() { Prn( __FUNCTION__ ); }
~I() { Prn( __FUNCTION__ ); }
};
static const I i;
void OnInit() { Prn( __FUNCTION__ ); }
void OnDeinit( const int reason ) { Prn( __FUNCTION__, reason ); }
int OnCalculate( const int, const int, const int, const double& [] ) { return 0; }
struct B {
B();
~B();
const int h;
static const string name;
};
const string B::name = "Test_i";
B::B() : h( iCustom( NULL, 0, name ))
{
if ( !ChartIndicatorAdd( 0, 0, h ) ) Print( "-1:", GetLastError());
}
B::~B()
{
if ( !ChartIndicatorDelete( 0, 0, name ) ) Print( "-2:", GetLastError());
if ( !IndicatorRelease( h ) ) Print( "-3:", GetLastError());
}
static const B b;
void OnInit() export {}
Bill Williamsインジケーター装着時の不具合について
フラクタルを入れてみました。
AOを設定する - ADXを設定する
ビルド1031
Bill Williamsインジケーター装着時の不具合について
フラクタルを入れてみました。
AOを設定する - ADXを設定する
ビルド1031
このインジケーターを取り付けるときだけでなく、他のインジケーターも随時取り付けてください。
端末を再起動すると直ります。
は、テスト後に起動することに気づきました。
MT5 bild 1525のZigZag配信インジケータが断続的に点滅する(リフラッシュなし)。