[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 862

 
FOReignEXchange:

5分でいいんだろ?

それが本来の姿です。インジケータが使用する必要なパラメータをゼロにすると、5分ごとに再描画が行われます。


extern int timedraw=1; - これは1分です。

ティックに関しては、あまり規則的ではありませんが、それは重要ではありません、彼らは歴史上で使用されません - これは手動取引のためのスクリプトとインジケータです

3画面というか4画面

ZS: あなたのコード、確かにEAで使うインジケータを書く のに便利ですね。

 
FOReignEXchange:

ただし、今のように3分間刻みがないこともあります。GBPUSDのM1チャートを見ると、そこには3-4分足の刻みがありませんでした。 ヒストリーにTimeCurrent()を使用することはできません。あるいは、現在の時刻で、変化しないので、テスターでは使えません。

上記のコードから、メッセージ信号は5分ごとではなく、分単位の5本のバーごとになると言えます。


datetime TimeCurrent( )

サーバーの最終既知時刻(last quoted time)を、1970年1月1日00:00からの経過秒数で返します。

注:テストでは、最後の既知のサーバー時刻をシミュレートして います。

それにしても、シミュレートされているのでしょうか?そうですね......厳密には誤差があると思いますが、テストでの使用は可能です。わからないこと、理解できないことがあれば、説明していただけるとありがたいです。
 
usver:
それにしても、シミュレートされているのでしょうか?そうですね......誤差は少なからずあると思いますが、テストでの使用は可能です。わからないこと、理解できないことがあれば、説明していただけるとありがたいです。 。

あなたは間違っていると思います。ちょっと待てよ...

あ、そういえば、現在のグラフの履歴を再計算するときはTimeCurrent()は使えないんでしたね。

例えば、現在以下のようなコードが添付されている場合。

                                      while(i>0)
                                      {
if (iHigh(NULL,0,i)>X)     
   {
   t=TimeCurrent();
   }
                                      i--
                                      }                                 

は、iHigh(NULL,0,i)>X となるi番目のバーではなく、現在の実時間を記憶します。

そしてテスターでは......わからない。

 
FOReignEXchange:

あなたは間違っていると思います。ちょっと待てよ...

あ、そういえば、現在のグラフの履歴を再計算するときはTimeCurrent()は使えないんでしたね。

例えば、現在以下のようなコードが添付されている場合。

は、iHigh(NULL,0,i)>X となるi番目のバーではなく、現在の実時間を記憶します。

そしてテスターでは......わからない。

TimeCurrent() 最終のサーバー時刻(最後のクォート到着時刻)を秒数で返す、テスター、デモ、実機ともにi-barとは無関係
 
FOReignEXchange:

あなたは間違っていると思います。ちょっと待てよ...

あ、そういえば、現在のグラフの履歴を再計算するときはTimeCurrent()は使えないんでしたね。

例えば、現在以下のようなコードが添付されている場合。

は、iHigh(NULL,0,i)>X となるi番目のバーではなく、現在の実時間を記憶します。

そしてテスターでは......わからない。


はい、クリアです。ただ、TimeCurrent() はヒストリー上でもテスター上でも使えないという表現に戸惑いました。

以下のようなコードは不正確ではないでしょうか? 最後の見積もりの到着時刻をシミュレーションして、それを使っています。

int time;
if (time==0)
   time=iTime(NULL,1,0); // Точка отсчета
if (TimeCurrent()-time>=300) // Проверяем сколько времени прошло - равно ли 5 минутам
   {
      // Выполняем, что хотели
      ...
      ...
      ...
      time=0;
    }

あなたの解決策は、上記のものよりも優れているように思えました。

 
そして、私からもありがとうございました。何事もシンプルが一番と言います。
keekkenen:
 
そして、私からもありがとうございました。聡明なものはすべてシンプルである、と言われるように。
keekkenen:
 
すべてが天才的にシンプルであることがわかった。メモ帳ありがとうございます。
keekkenen:
 
usver:

以下のようなコードで間違いはないでしょうか?

int time;

   int start()
   {

if (time==0)  time=iTime(NULL,1,0);    // Точка отсчета

if ((TimeCurrent()-time)>=300)        // Проверяем сколько времени прошло - равно ли 5 минутам
   {
      // Выполняем, что хотели
      ...
      ...
      ...
      time=0;
    }

   }

int time; は、開始時間よりも高く設定する必要があり、そうでなければ time は常に 0 になります。そして、(TimeCurrent()-time)で括られる必要があります。

他のコードは問題ないようです。確認しなかった。

 

端末がハングアップ(停電)した場合に、重要なデータ/変数を保存する方法はありますか?

- 端末のグローバル変数? ファイルへ?

- どのくらいの頻度で保存する必要がありますか?(最後のエクイティ値とアドバイザーのいくつかのブールが重要です)

理由: