エラー、バグ、質問 - ページ 1717

 

大丈夫です。

 

こんにちは。

不思議な問題があるんです。

前の2本のバーの終値の間に通常のトレンドラインを描きます(新しいバーの それぞれで)。

ObjectsDeleteAll(0," ",-1,-1);
ArrayInitialize(cclose,0);
ArrayInitialize(ttime,0);
CopyTime(Symbol(),0,1,2,ttime);
CopyClose(Symbol(),0,1,2,cclose);
price1=cclose[1];
time1=ttime[1];
price2=cclose[0];
time2=ttime[0];

Print("price1=",price1," time1=",time1," price2=",price2," time2=",time2);

//--- создадим трендовую линию по заданным координатам 
   if(!ObjectCreate(chart_ID,nname,OBJ_TREND,sub_window,time1,price1,time2,price2)) 
     { 
      Print(__FUNCTION__, 
            ": не удалось создать линию тренда! Код ошибки = ",GetLastError()); 
      return; 
     } 

すべてリアルタイムで正常に動作しています。しかし、テスターの可視化モードでは、線の左点が原点にくっついたまま、まったく動きません。何が問題なのか?

Z.U. MT4では、この問題は発生しないようです。

 
fxsaber:

スクリプト

結果

エラーなのでしょうか?ucharを期待していたのですが。

最小の演算型はint型なので、それより小さい型のオペランドはすべてint型に 暗黙のうちに変換される。

ヘルプhttps://www.mql5.com/ru/docs/basis/types/casting

char, uchar, short, ushort データ型は、演算において無条件に int に変換される。
Документация по MQL5: Основы языка / Типы данных / Приведение типов
Документация по MQL5: Основы языка / Типы данных / Приведение типов
  • www.mql5.com
Основы языка / Типы данных / Приведение типов - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Alexey Kravchenko:

こんにちは。

不思議な問題があるんです。

前の2本のバーの終値の間に通常のトレンドラインを描きます(新しいバーの それぞれで)。

すべてリアルタイムで正常に動作しています。しかし、テスターの可視化モードでは、線の左点がリファレンスの始まりにくっついたまま、全く動きません。何が問題なのか、どなたかご存知でしょうか?
コンパイルして実行できる最低限の動作例を教えてください。また、オペレーティングシステム、ビルド、端末の種類に関する情報も必要です(端末を再起動した後、「ログ」タブから最初の3行を取得します)。
 
Ilyas:

最小の演算型はintであり、それ以下の演算型のオペランドはすべて暗黙のうちにint型に キャストされる。

リファレンシング

ありがとうございます。MQL5のように、C++でゴーストを使わずにBATTERY演算を行うのは正しいのでしょうか?
 
fxsaber:
ありがとうございます。MQL5のように、C++でゴーストを使わずにBATTERY演算を行うのは正しいのでしょうか?
はい、まったく同じです。ピュアCでも。
 
Vladislav Andruschenko:

大丈夫です。

Thx、ブラウザを疑ってみようと思います。
 
Karputov Vladimir:
コンパイルして実行できる最小限の動作例を提示してください。また、オペレーティングシステム、ビルド、端末の種類に関する情報も必要です(端末を再起動した後、「ログ」タブから最初の3行を取得してください)。

例に問題がありますね。シェルボルト自体はいくつかのファイルを必要とします。今夜帰ったら、もっと簡単なのを作るよ。

WinXP SP3。ビルド1434

LE 0 14:55:39.873 ターミナル MetaTrader 5 build 1434 開始 (MetaQuotes Software Corp.社)
DI 0 14:55:39.889 ターミナル Microsoft Windows XP (X86 ベース PC), IE 08.00, Intel Pentium Dual E2200 @ 2.20GHz, RAM: 1150 / 2037 Mb, HDD: 74562 / 152625 Mb, GMT+07:00

LJ 0 14:55:39.889 ターミナル C:\Program FilesMetaTrader 5

ZY. いずれにせよ、上にあげたような操作をokrozme、それ以外は何もしていません。新しいバーが 検出されると、すべてが消去され、新しい線が描かれます。しかし、コンパイルのための完全な例を私は行います。

 
Slawa:
はい、まったく同じです。ピュアCでも。
ありがとうございます。歴史的な松葉づえもあるのが残念です。
 
Alexey Kravchenko:

例に問題がありますね。シェルボルト自体はいくつかのファイルを必要とします。今夜帰ったら、もっと簡単なのを作るよ。

WinXP SP3。ビルド1434

LE 0 14:55:39.873 ターミナル MetaTrader 5 build 1434 開始 (MetaQuotes Software Corp.社)
DI 0 14:55:39.889 ターミナル Microsoft Windows XP (X86 ベース PC), IE 08.00, Intel Pentium Dual E2200 @ 2.20GHz, RAM: 1150 / 2037 Mb, HDD: 74562 / 152625 Mb, GMT+07:00

LJ 0 14:55:39.889 ターミナル C:\Program FilesMetaTrader 5

Z.U. いずれにせよ、上にあげたような操作をオクロモ、それ以外は何もしない。新しいバーが 検出されると、すべてが消去され、新しい線が描かれます。しかし、コンパイルのための完全な例を私は行います。

例題があれば、問題点、例題、OSや端末のデータなど、すべてを1つの記事にまとめる予定です。