1、only one order in one candle.: set a global variable to record the time of every candle, open orders only when the value of the vairable changes.
2、Buy only at a close price：buying at a close price would be the same with buying at the next open price, the method mentioned above could solve this as well.
3、How to prevent my expert to open new order if other order was already closed on the same candle：
you need to build a function that returns the close time of the last closed order. then check if TimeCurrent() > last_close_time + periodseconds();
Please enable the necessary setting in your browser, otherwise you will not be able to log in.