MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 644

 
Artyom Trishkin:

datetime は ulong です。

ありがとうございました。
 
Vitaly Gorbunov:

この人はコンパイラの基本的なキーを理解していないだけで、普通のコードを書くには、これらの微妙な点を知り、ドキュメントを使う必要があるのです!あなたは彼のコードをすぐに修正すべきではありませんでした。

私はビデオの古さを指摘し、彼がビデオの通りにコピーすれば成功するのではと思いました。しかし、その投稿を不快に思い、クレームをつけた結果、削除されてしまったのです。一方、彼自身は調べる気もないのでしょう

それは、まったく無駄なことではなかったのです。提出されたコードの違いを理解しようともしていないし、そのような仕組みにもなっていない。

一般的に、私もコード修正の催促は好きではありません。しかし、ここで「そうではない」ことが判明した。私は以前から図書館に興味があり、自分の図書館を持っていたこともあります。しかし、Expert AdvisorやIndicatorのコードと一緒にライブラリ全体を渡して、そこに何を置くかを説明しなければならないことは理解したのですが...。誰もが一度に理解できるわけではない、あきらめることにした。これは、レトルトに対する答えである

そして、それを解決するためには、整理して、忘れていたことを思い出す必要があったのです。その結果、完成したコードが残った。
 
Sergey Maksiutenko:

気にしないでください。

助けられないことは理解しています。

私は#property strictを削除しました、私は#propertylibrary 以外のすべてのプロパティを削除しました。

は役に立ちません。

私のデザインを差し込んでみて、エラーを発見してください。

をクリックし、正しいコードを投稿してください。

すぐに使えるコードがある。
 
ははは、問題がわかりましたよ。どうして私には何でもうまくいって、彼にはダメなんだろう!もし彼が、どのファイルが⽯の中にあるのかを⾒せてくれたら、サービスデスクにエラーを報告することもできるかもしれませんね。
 
Sergey Maksiutenko まあ、右のフォルダの中身を掲載する用意はありますよ!そうでなければ、荒らしと見なしますよ。なぜなら、私はこの問題を再現することができたので、何が問題なのかがわかるからです
 

私はXP、MT4 1090に座っているので、アップデートはないだろうというのが、その理由です。

MT4で時間スケールを変更するとチャートが常に左または右に移動します。大きなスケールから小さなスケールに切り替えると(例:日足から時間足)、画面上のデータは半年前の ものになっています。小さいスケールから大きいスケールに切り替えると、直近の10本のローソク足しか表示されない。チャートを許容範囲内に見せるために、常にジェスチャーを行わなければならず、煩わしい。

ご参考までに、キーボードでスケールを切り替えて、チャートを端にずらすコードを書いておきます。


void OnChartEvent(const int id,

const long &lparam,

const double &dparam,

const string &sparam)

{

string Key1_Value="1";

文字列 Key2_Value="2";

string Key3_Value="3";


if(StringGetChar(Key1_Value,0)==lparam)とする。

ChartSetSymbolPeriod(0,NULL,5)。

if(StringGetChar(Key2_Value,0)==lparam)とする。

ChartSetSymbolPeriod(0,NULL,60)。

if(StringGetChar(Key3_Value,0)==lparam)とする。

ChartSetSymbolPeriod(0,NULL,1440)。

ChartNavigate(0,CHART_END,0)。

}


すべてうまくいくのですが、ChartNavigateはチャートをその場で "フリーズ "させ、左にスクロールさせないのです。どうすれば直るのか?

 
psyman:

私はXP、MT4 1090に座っているので、アップデートはないだろうというのが、その理由です。

MT4で時間スケールを変更するとチャートが常に左または右に移動します。大きなスケールから小さなスケールに切り替えると(例:日足から時間足)、画面上のデータは半年前の ものになっています。小さいスケールから大きいスケールに切り替えると、直近の10本のローソク足しか表示されない。チャートを許容範囲に見せるために、常にジェスチャーを行わなければならず、煩わしい。

便宜上、キーボードでスケールを切り替え、チャートを端にずらすコードを書きました。

そこには、チャートを自分で移動させるためのボタンがあります。

1

 


トレンドラインを引きたい場合、オートスクロールではチャートを左方向にスクロールすることができません。

特に、新しいダニが入ってきたときだけしか効果がないので。

 
psyman:


自動スクロールは、例えばトレンドラインをプロットする必要がある場合、チャートが左にスクロールするのを防ぎます。

特に、新しいダニが入ってきたときだけしか効果がないので。

すると、このように

void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
{
if (id==CHARTEVENT_KEYDOWN)
   {
   if(lparam=='1')
      ChartSetSymbolPeriod(0,_Symbol,PERIOD_M5);

   if(lparam=='2')
      ChartSetSymbolPeriod(0,_Symbol,PERIOD_H1);

   if(lparam=='3')
      ChartSetSymbolPeriod(0,_Symbol,PERIOD_D1);

    ChartNavigate(0,CHART_END,0);
   }
}
 
ありがとうございました。