void CheckForOpen(void)
{
MqlRates rt[2];
//— go trading only for first ticks of new bar
if(CopyRates(_Symbol,_Period,0,2,rt)!=2)
{
Print(“CopyRates of “,_Symbol,” failed, no history”);
return;
}
if(rt[1].tick_volume>1)
return;
| 検索結果がありません。 |
| 検索結果がありません。 |
rt[0].tick_volumeは、1つ前のローソク足のデータを表しており、rt[1].tick_volumeは、現在の(最新の)ローソク足のデータを表しています。rt[0].tick_volumeに、条件を変更してバックテストした場合は取引が発生しない結果となりますので確認ができるかと存じます。
ご参考いただけますと幸いです。何卒よろしくお願い申し上げます。
MQL5のリファレンスで時系列と指標へのアクセス CopyRates を見て、以下の記述を見つけ、疑問は氷解しましたした。
ご返信ありがとうございました。
受け取り側の配列が as_series=true であるか as_series=false であるかは関係ありません。データは、一番古い要素が配列に割り当てられた物理メモリの先頭に配置されるように複製されます。この関数の呼び出し方は 3 つあり・・