MT4テスターは、他のタイムフレームからの情報を提供しません。

 
MQL4の学習過程で、少なくとも私のテスターは他のTFからの情報(
)を与えないことがわかりました。このチェックコードは、どのExpert Advisorにも添付できます。私のテスターでは、
、TFの表示だけが変化し、他は同じ場所にとどまっています。
コメント (
"\n", " -----------1------ = ",iOpen(Symbol(),1,1)," - ",iClose(Symbol(),1,1),
"\n", "".-----------2------ = ",iOpen(Symbol(),5,1)," - ", iClose(Symbol(),5,1),
"\n", " -----------3------ = ",iOpen(Symbol(),15,1)," - ",iOpen(Symbol(),15,1)," - ",iOpen(Symbol(),5,1)," - ",iOpen(Symbol(),5,1),"- ",iClose(Symbol(),15,1),
"\n", " -----------4------ = ",iOpen(Symbol(),30,1)," - ",iClose(Symbol(),30,1),
"\Ί-Ί-= ",iOpen(Symbol(),60,1)," - ",iClose(Symbol(),60,1),
"\n", " -----------6------ = ""., iOpen(Symbol(),240,1)," - ", iClose(Symbol(),240,1),
"\n", " -----------7------ = ",iOpen(Symbol(),1440,1)," - "., iClose(Symbol(),1440,1),
"\n", " -----------8------ = ",iOpen(Symbol(),10080,1)," - ", iClose(Symbol(),10080,1),
"\
各TFで試してみましたが、同じ話です。読みが変わるのは、テストしたTF
だけです。インターネットではクリアできない状況です。

注意をありがとうございました。
 
というのは事実です。:(
そして、現在の値は立っている、つまりリアルタイムからのものです。
そして、新しいバーで 形成されたバーでテストすると、前のものが変わってしまいます...。:О)
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_style1 0
#property indicator_color1 Orange
#property indicator_width1 2
#property indicator_style2 0
#property indicator_color2 BlueViolet
#property indicator_width2 2
extern bool Test=false;
//03/04/10
//SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 2);

//---- buffers
double DMA[];string PARA;int hFile;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,DMA);
SetIndexShift(0,0);
SetIndexLabel(0,"inv");
PARA=Symbol();
if (Test) hFile=FileOpen("Dt"+Symbol()+Period()+".csv",FILE_CSV |FILE_WRITE,";");


//if (iClose(PARA,0,0)<0.00001) {Alert (PARA," - not presents...");deinit();
// return (-1);}
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
if (Test) FileClose(hFile);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{

//----
int counted_bars=IndicatorCounted();
int i,N;double Value;
N=Bars-counted_bars;

if(counted_bars<0) return(-1);
//---- last counted bar will be recounted

if (N==0) return(0);

if (Test){ FileWrite(hFile,"--1 ",StrTime(iTime(Symbol(),Period(),1)),iClose(PARA,0,1));
FileWrite(hFile,"--0 ",StrTime(iTime(Symbol(),Period(),0)),iClose(PARA,0,0));
}
for (i=N-1; i>=0; i--)
{
Value=iClose(PARA,0,i);

// Print (i,"=",Value);
DMA[i]=Value;
}

return(0);
}
//+------------------------------------------------------------------+
string StrTime(datetime IT){
return(StringConcatenate(TimeYear(IT),".",TimeMonth(IT),".",TimeDay(IT)
, "-",TimeHour(IT),"^",TimeMinute(IT),"^",TimeSeconds(IT)));
}
その結果、テスターで
0
2009.2.3-10^15^0
1.2849

1
2009.2.3-10^15^0
1.2844

0
2009.2.3-10^30^0
1.2845

1 2009.2.3-10^30^0 1.2852
0 2009.2.3-10^45^0 1.2852
1 2009.2.3-10^45^0 1.2841
0 2009.2.3-11^0^0 1.2841
1 2009.2.3-11^0^0 1.2834
0 2009.2.3-11^15^0 1.2833
1 2009.2.3-11^15^0 1.2814
0 2009.2.3-11^30^0 1.2814
1 2009.2.3-11^30^0 1.2813
0 2009.2.3-11^45^0 1.2813
1 2009.2.3-11^45^0 1.2823
0 2009.2.3-12^0^0 1.2822
1 2009.2.3-12^0^0 1.281
0 2009.2.3-12^15^0 1.281
1 2009.2.3-12^15^0 1.2824
0 2009.2.3-12^30^0 1.2823
1 2009.2.3-12^30^0 1.2829
0 2009.2.3-12^45^0 1.2829
1 2009.2.3-12^45^0 1.2824
0 2009.2.3-13^0^0 1.2824
1 2009.2.3-13^0^0 1.2835
0 2009.2.3-13^15^0 1.2835
1 2009.2.3-13^15^0 1.2838
0 2009.2.3-13^30^0 1.2838
1 2009.2.3-13^30^0 1.2836
0 2009.2.3-13^45^0 1.2836
 
vladv002 писал(а)>>
MQL4の学習過程で、少なくとも私のテスターは情報を与えないことがわかりました。
他のTFから以下はチェックコードで、どのExpert Advisorにも取り付け可能です。
どのExpert Advisorにも掛けることができますが、私のテスターではTFの表示のみが変化しています。
コメント (
"⑭", " -----------1------ = ",iOpen(Symbol(),1,1)," - ",iClose(Symbol(),1,1). "です。
"⑭", " -----------2------ = ",iOpen(Symbol(),5,1)," - ",iClose(Symbol(),5,1). "です。
"⑭", " -----------3------ = ",iOpen(Symbol(),15,1)," - ",iClose(Symbol(),15,1). "です。
"⑭", " -----------4------ = ",iOpen(Symbol(),30,1)," - ",iClose(Symbol(),30,1). "です。
"⑭", " -----------5------ = ",iOpen(Symbol(),60,1)," - ",iClose(Symbol(),60,1). "です。
"⑭", " -----------6------ = ",iOpen(Symbol(),240,1)," - ",iClose(Symbol(),240,1). "です。
"⑭", " -----------7------ = ",iOpen(Symbol(),1440,1)," - ", iClose(Symbol(),1440,1),
"⑭", " -----------8------ = ",iOpen(Symbol(),10080,1)," - ",iClose(Symbol(),10080,1). "です。
"ⅷ", " -----------9------ = ",iOpen(Symbol(),43200,1)," - ", iClose(Symbol(),43200,1))".
すべてのTFで試しましたが、同じ話です。TFだけ読みが変わります。
をテストしています。インネットワークではクリアできていない。
アドバイスお願いします!治療の対象なのか、そこではないことを聞いています。
ご感想をお寄せいただきありがとうございました。


正しいアプローチで、すべてがうまくいく。
 
Vinin >>:


При правильном подходе все работает нормально.


すみません、ここでもう少し詳しく教えてください。
 
vladv002 писал(а)>>


すみませんが、もう少し詳しく教えてください。


そして、解決すべき問題は何なのか。

 
Vinin >>:


А какую задачу нужно решить?

以下は、その内容です。

1 2009.7.10-22^45^0 1.39478
0 2009.7.10-23^0^0 1.39476
--0M 2009.7.10-23^0^0 1.3488
1 2009.7.10-23^0^0 1.39476
0 2009.7.10-23^15^0 1.39475
--0M 2009.7.10-23^15^0 1.3488
1 2009.7.10-23^15^0 1.39475
0 2009.7.10-23^30^0 1.39472
--0M 2009.7.10-23^30^0 1.3488
1 2009.7.10-23^30^0 1.39409
0 2009.7.10-23^45^0 1.39409
--0M 2009.7.10-23^45^0 1.3488
1 2009.7.10-23^45^0 1.39353
0 2009.7.13-1^0^0 1.39461
--0M 2009.7.13-1^0^0 1.3488
上記のコードで、出力ブロックを

if (Test){ FileWrite(hFile,"--1 ",StrTime(iTime(Symbol(),Period(),1)),iClose(PARA,0,1));
FileWrite(hFile,"--0 ",StrTime(iTime(Symbol(),Period(),0)),iClose(PARA,0,0));
FileWrite(hFile,"--0M ",StrTime(iTime(Symbol(),Period(),0)),iClose(PARA,1,0));
}

 
Vinin писал(а)>>


>>どのような問題を解決しなければならないのか?


はい、私も気になります。お客様からマルチタイムフレームの工作を注文されることも多く、ライブでしかテストができない...。
そして、支払いに何週間も待たされる。

iClose-iOpen関数を0以外のタイムフレームとテスト中のタイムフレームで動作させる方法を教えてください。 また、テスター用のコードと本番用のコードを一致させる方法を教えてください。
 
api >>:


Да, мне тоже интересно. Заказчики часто заказывают мультитаймфреймовые поделки, а тестировать можно только вживую...
И приходится ждать оплаты неделями.

Просветите, как заставить работать функции iClose-iOpen и пр. с таймфреймом отличным от нуля и от тестируемого таймфрейма. и чтобы код для тестера совпадал с кодом для реала.

そして、専門家は原則的にテストすることができません。

多通貨のザ...

 
Vinin >>:


А какую задачу нужно решить?

チャート上に9つのマスを描き、インジケーターの値に応じて陰影をつけるというシンプルなものです。
テストに使うのは、緑と赤のどちらかです。
ティックで動くものを詳しく理解しようとしているのですが、罠があるんです。
インターネット上にも情報はありますが、https://www.mql5.com/ru/articles/1385。 他の記事でも水はたくさん出てきますが
は同じではない。変数を代入して配列にしてみましたが、結果は0、いや、むしろ
結果はゼロ、より正確に言えば、データがないので結果はない。
状況を正しく把握し、プログラムを作成するためには、正確な情報を知る必要があります。
今、テスターで片方は本物でもう片方は間違っていることが判明しました。
ON-Lineのデモを確認する必要があります - まだ確認していません
昨日、異変に気づきました。

 

テスターはテスト開始時に最後の1000本だけを見ることができます。M1にExpert Advisorを設定した場合、1000分以上前(テスト開始時点)は表示されません。

この問題は、テスターの開始日をもっと早く設定し、Expert Advisor自体に必要な日付を規定することで解決しています。

 
sak120 >>:

Тестер видит только 1000 последних баров в начале тестирования. Если поставил эксперт на M1, то дальше 1000 минут назад не увидишь (в момент старта тестирования).

Решаю эту проблему постановкой даты старта тестера намного раньше, а в самом эксперте прописываю нужную дату.

刻みの生成には、分単位のデータが使用されているとされています。

しかし、私の例に見られるように、分の値そのもの、つまり現在の値は、分の履歴とは何の関係もないのです。

また、1000本という情報はどこから得たのでしょうか?

もしかしたら、そのように履歴のプロパティを設定したのでしょうか?

でも、私の場合はそうではないんです...。

----

テスト期間開始前に100本以上のバーがないのは事実です。

これも事実です。:(