当日の合計損益を計算する関数です。
一日に一定金額以上稼いだ場合に取引を終了したい場合や、一定以上の損失を出した場合に取引を終了させたい場合にご利用下さい。
double getTotalProfitDaily(int magic);
パラメータ
magic
計算の対象とするポジションのマジックナンバー
戻り値
当日のうちに決済された取引の合計損益。(保有中ポジションの含み損益は計算から除いています)
日付はサーバー時間を基準に計算されます。
計算中にエラーが発生した場合は結果が0となります。
double getTotalProfitDaily(int magic){
double profit = 0;
MqlDateTime server, trade;
TimeCurrent(server);
int year = server.year;
int month = server.mon;
int day = server.day;
for(int i = OrdersHistoryTotal() - 1; i >= 0; i--){
if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY) == false) return(0);
if(OrderMagicNumber() != magic) continue;
if(OrderSymbol() != Symbol()) continue;
if(OrderType() == OP_BUY || OrderType() == OP_SELL){
TimeToStruct(OrderCloseTime(), trade);
if(trade.year != year) continue;
if(trade.mon != month) continue;
if(trade.day != day) continue;
profit += OrderProfit();
}
}
return(profit);
}
検索結果がありません。 |
検索結果がありません。 |
さっそく引用させてもらいましたが、以下の部分コンパイルエラーになっていますよ。
⇒
ご指摘ありがとうございました。修正いたしました。