ティック時実行関数Tick()は、価格が更新されるティックの度に実行されます。ここで、新規にバーができたときだけ実行したい処理があるとします。その場合、共通ライブラリの[isNewBar()](<https://toyolab-fx.notion.site/isNewBar-2fd061f4369941b2b55d61f0e41c4b43>)という関数を使うことができます。

//ティック時実行関数
void Tick()
{
   if(isNewBar(_Symbol, 0))
   {
      int sig_entry = EntrySignal(); //仕掛けシグナル
      //成行売買
      MyOrderSendMarket(sig_entry, sig_entry, Lots);
   }
}

EAを実行しているチャート上で新規バーができたタイミングは、[isNewBar()](<https://toyolab-fx.notion.site/isNewBar-2fd061f4369941b2b55d61f0e41c4b43>)の引数に_Symbol0を代入することで判別できます。これをif文の条件式とすることで、新規バーができたときだけ{}内のコードを実行することができます。

//ティック時実行関数
void Tick()
{
   if(isNewBar(_Symbol, PERIOD_M1))
   {
      int sig_entry = EntrySignal(); //仕掛けシグナル
      //成行売買
      MyOrderSendMarket(sig_entry, sig_entry, Lots);
   }
}

[isNewBar()](<https://toyolab-fx.notion.site/isNewBar-2fd061f4369941b2b55d61f0e41c4b43>)の2番目の引数に0以外のタイムフレーム定数を代入することで、挿入したチャートとは別のタイムフレームの新規バーができたタイミングで取引を実行させることができます。上の例は、1分足の場合です。