[ARCHIVE]フォーラムを乱立させないために、どんなルーキーの質問でも。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 5. - ページ 412

 

Junkoさん、409ページ、一番下の投稿-データが更新される理由が書いてあります。iOpen()、iClose()が呼ばれるからで、それはRefreshRates()から証明されるわけです。初回はRefreshRates()なしでスクリプトを実行したが、iOpen()とiClose()関数が呼ばれ、ここから端末がデータを読み込む。2回目の実行ではデータがすでにあり、ゼロバーが最初にロードされることがわかっているので、印象としてはデータがすべてロードされているように見えますが、すべてロードされているわけではなく、処理中である可能性があります。

...それなのに、データロードを把握したことを証明するのか...。どのようなストリームとシンクロがあるのでしょうか?

 

テスト用に簡単なコードを書きました。

Ma_8= iMA(NULL,PERIOD_M5,8, 0,MODE_EMA,PRICE_CLOSE,0) ;

if ( Bid<Ma_8 ) { SetVLine(Blue,"",0,1,1);} 


void SetVLine(color cl, string nm="", datetime t1=0, int st=0, int wd=1) {
if (nm=="") nm=DoubleToStr(Time[0], 0);
if (t1<=0) t1=Time[0];
if (ObjectFind(nm)<0) ObjectCreate(nm, OBJ_VLINE, 0, 0,0);
ObjectSet(nm, OBJPROP_TIME1, t1);
ObjectSet(nm, OBJPROP_COLOR, cl);
ObjectSet(nm, OBJPROP_STYLE, st);
ObjectSet(nm, OBJPROP_WIDTH, wd);
}

で、その結果のスクリーンショットがこちら です。

赤丸の部分に青い線がないのはなぜか、教えてください。 BIDが平均より少なくなかったことに疑問を持つ人はいないと思うのですが・・・。

 
lottamer:

テスト用に簡単なコードを書きました。

で、その結果のスクリーンショットがこちら です。

赤丸の部分に青い線がないのはなぜか、教えてください。 BIDが本当に平均以下だったことを疑う人はいないと思うのですが.


BidをiClose(NULL,PERIOD_M5,0)、PERIOD_M5をNULLに置き換えてください。

これがビジュアルテストチャートの インジケーターなんでしょうね?

 
Integer:


BidをiClose(NULL,PERIOD_M5,0)、PERIOD_M5をNULLに置き換えてください。

これがビジュアルテストチャートのインジケーターなんでしょうね?


いいえ、テスターです。

あとiCloseはいらない、bidだけでいい。

NULLは必要ない、PERIOD_M5が 必要だ。

 
lottamer:


1.いいえ、テスターです。

あとiCloseはいらない、bidだけでいい。

NULLは必要ない、PERIOD_M5が必要だ。


テスターのこと、それは当然です。テスターの中身は? このEAはビジュアルモードでテストされているのか、それともビジュアルテストの ウィンドウの上にインジケータが投げられているのか?

形成バー(0)のiCloseが買値となります。

 
Integer:


テスターのこと、それは当然です。テスターでは、何? Expert Advisorがビジュアルモードでテストされているのか、それともビジュアルテストウィンドウの上にインジケータが投げ出されているのか?

形成バー(0)のiCloseが買値となります。



ビジュアルモードでテスト中です
 
lottamer:

はビジュアルモードでのテスト
テストモードとは 何ですか?オープニング価格ではないのですか?
 

この事例を取り上げて研究しています。チャート上に不正確な結果のバーが表示されたら、時間をかけてExpert Advisorに書き込みます。

if(Time[0]==StrToTime("time of this bar")){(時間[0]==StrToTime("このバーの時間")))

Print(...); // ログに何かを表示する

}

そして、ログファイルを見て、その理由を分析します。

 
Integer:
テストモードとは何ですか?オープニング価格ではありません。


本当に「始値」なんだ!どうしてそうなったのか、わからない。

本当にありがとうございました。:)

 
Integer:

この事例を取り上げて研究しています。チャート上に不正確な結果のバーが表示されたら、時間をかけてExpert Advisorに書き込みます。

if(Time[0]==StrToTime("time of this bar")){(時間[0]==StrToTime("このバーの時間")))

Print(...); // ログに何かを表示する

}

そして、ログファイルを見て、その理由を分析します。


ありがとうございます。これも重宝します。

また、時刻はどのような形式で入力すればよいのでしょうか。