void OnStart()
{
datetime from=0;
datetime to=TimeCurrent();
//--- tüm geçmişi iste
HistorySelect(from,to);
//--- emir özelliklerinin değerlerini döndürmek için değişkenler
ulong ticket;
double open_price;
double initial_volume;
datetime time_setup;
datetime time_done;
string symbol;
string type;
long order_magic;
long positionID;
//--- mevcut bekleyen emirlerin sayısı
uint total=HistoryOrdersTotal();
//--- döngü içinde incele
for(uint i=0;i<total;i++)
{
//--- listedeki konumuna göre emir fişine dönüş yap
if((ticket=HistoryOrderGetTicket(i))>0)
{
//--- emir özelliklerini döndür
open_price =HistoryOrderGetDouble(ticket,ORDER_PRICE_OPEN);
time_setup =(datetime)HistoryOrderGetInteger(ticket,ORDER_TIME_SETUP);
time_done =(datetime)HistoryOrderGetInteger(ticket,ORDER_TIME_DONE);
symbol =HistoryOrderGetString(ticket,ORDER_SYMBOL);
order_magic =HistoryOrderGetInteger(ticket,ORDER_MAGIC);
positionID =HistoryOrderGetInteger(ticket,ORDER_POSITION_ID);
initial_volume=HistoryOrderGetDouble(ticket,ORDER_VOLUME_INITIAL);
type =GetOrderType(HistoryOrderGetInteger(ticket,ORDER_TYPE));
//--- emir bilgisini hazırla ve göster
printf("#fiş %d %s %G %s %G değerleriyle %s anında işlenmiş => %s anında tamamlanmış, pozisyon tanımlayıcı=%d",
ticket, // emir fişi
type, // tip
initial_volume, // hacim
symbol, // sembol
open_price, // belirtilen açılış fiyatı
TimeToString(time_setup),// emir işleme zamanı
TimeToString(time_done), // emrin gerçekleşmesinin ve silinmesinin zamanı
positionID // işleme konu olan pozisyonun tanımlayıcısı
);
}
}
//---
}
//+------------------------------------------------------------------+
//| Emir tipinin ismine dizgi şeklinde dönüş yapar |
//+------------------------------------------------------------------+
string GetOrderType(long type)
{
string str_type="bilinmeyen işlem";
switch(type)
{
case (ORDER_TYPE_BUY): return("buy");
case (ORDER_TYPE_SELL): return("sell");
case (ORDER_TYPE_BUY_LIMIT): return("buy limit");
case (ORDER_TYPE_SELL_LIMIT): return("sell limit");
case (ORDER_TYPE_BUY_STOP): return("buy stop");
case (ORDER_TYPE_SELL_STOP): return("sell stop");
case (ORDER_TYPE_BUY_STOP_LIMIT): return("buy stop limit");
case (ORDER_TYPE_SELL_STOP_LIMIT):return("sell stop limit");
}
return(str_type);
}
|