İnsanlara yardımcı ol. Anlaşmanın açıldığı fiyatı almaya çalışıyorum. İlk başta CTrade üzerinden işlem yaptım ama trade.resultprice sıfıra eşitti. Bunu MqlTrade aracılığıyla yapmaya başladım, test cihazının sonucu.price normal olarak gösterdi, ancak canlıda sıfıra eşit oldu. OnTradeTransaction üzerinden yaptım ama canlı yayında, çok hızlı işlemlerde sıfırı gösteriyor ve otomatik alım satım durduğunda son işlemin fiyatını gösteriyor. Satın alma işleminin geçtiği fiyatı almanın yolları nelerdir?
mikhail_shmakov : İnsanlara yardımcı ol. Anlaşmanın açıldığı fiyatı almaya çalışıyorum. İlk başta CTrade üzerinden işlem yaptım ama trade.resultprice sıfıra eşitti. Bunu MqlTrade aracılığıyla yapmaya başladım, test cihazının sonucu.price normal olarak gösterdi, ancak canlıda sıfıra eşit oldu. OnTradeTransaction üzerinden yaptım ama canlı yayında, çok hızlı işlemlerde sıfırı gösteriyor ve otomatik alım satım durduğunda son işlemin fiyatını gösteriyor. Satın alma işleminin geçtiği fiyatı almanın yolları nelerdir?
structMqlTradeTransaction
{
ulong deal; // Тикет сделки ulong order; // Тикет ордера string symbol; // Имя торгового инструмента ENUM_TRADE_TRANSACTION_TYPE type; // Тип торговой транзакции ENUM_ORDER_TYPE order_type; // Тип ордера ENUM_ORDER_STATE order_state; // Состояние ордера ENUM_DEAL_TYPE deal_type; // Тип сделки ENUM_ORDER_TYPE_TIME time_type; // Тип ордера по времени действия datetime time_expiration; // Срок истечения ордера double price; // Цена double price_trigger; // Цена срабатывания стоп-лимитного ордера double price_sl; // Уровень Stop Loss double price_tp; // Уровень Take Profit double volume; // Объем в лотах ulong position; // Тикет позиции ulong position_by; // Тикет встречной позиции
};
"Çok hızlı işlemler" ne anlama geliyor? OnTradeTransaction her işlemde gerçekleştirilir. İşlem türünü ayırmanız ve fiyatı TRADE_TRANSACTION_DEAL_ADD'den almanız yeterlidir.
Например, при отсылке рыночного ордера на покупку он обрабатывается, для счета создается соответствующий ордер на покупку, происходит исполнение ордера, его удаление из списка открытых, добавление в историю ордеров, далее добавляется соответствующая сделка в историю и создается новая позиция. Все эти действия являются торговыми транзакциями...
//+------------------------------------------------------------------+ //| Получает текущее количество отложенных ордеров с указанным ORDER_MAGIC | //+------------------------------------------------------------------+ int GetOrdersTotalByMagic( longconst magic_number)
{
ulong order_ticket;
int total= 0 ;
//--- пройдем по всем отложенным ордерам for ( int i= 0 ;i< OrdersTotal ();i++)
if ((order_ticket= OrderGetTicket (i))> 0 )
if (magic_number== OrderGetInteger ( ORDER_MAGIC )) total++;
//--- return (total);
}
Merhaba sevgili programcılar. Lütfen bu işlevi değiştirmeme yardım edin. MQL5 referansından yukarıda sunulan fonksiyon Belirli bir Magic için tüm açık pozisyonların sayısını nasıl sayar?
Kolya32 : Merhaba sevgili programcılar. Lütfen bu işlevi değiştirmeme yardım edin. MQL5 referansından yukarıda sunulan fonksiyon Belirli bir Magic için tüm açık pozisyonların sayısını nasıl sayar?
En azından, Emirleri*** her yerde Pozisyonlar*** olarak değiştirin, ardından kontrol etmeniz gerekir.
Alexey Viktorov : En azından, Emirleri*** her yerde Pozisyonlar*** olarak değiştirin, ardından kontrol etmeniz gerekir.
Çalışıyor gibi görünüyor) bu işlevi MQL5 referans kitabına ekleyebilirsiniz )) Muhtemelen çok erken olmasına rağmen, hala test ediyorum)
//+------------------------------------------------------------------+ //| Получает текущее количество открытых позиций с указанным ORDER_MAGIC | //+------------------------------------------------------------------+ int GetPositionsTotalByMagic( longconst magic_number)
{
ulong position_ticket;
int total= 0 ;
//--- пройдем по всем открытым позициям for ( int i= 0 ;i< PositionsTotal ();i++)
if ((position_ticket= PositionGetTicket (i))> 0 )
if (magic_number== PositionGetInteger ( POSITION_MAGIC )) total++;
//--- return (total);
}
mikhail_shmakov : İnsanlara yardımcı ol. Anlaşmanın açıldığı fiyatı almaya çalışıyorum. İlk başta CTrade üzerinden işlem yaptım ama trade.resultprice sıfıra eşitti. Bunu MqlTrade üzerinden yapmaya başladım, test cihazında sonuç.fiyat normal olarak gösterildi, ancak canlıda sıfıra eşit oldu . OnTradeTransaction üzerinden yaptım ama canlı yayında, çok hızlı işlemlerde sıfırı gösteriyor ve otomatik alım satım durduğunda son işlemin fiyatını gösteriyor. Satın alma işleminin geçtiği fiyatı almanın yolları nelerdir?
OrderSend bir sipariş gönderir. Ardından, yürütülmesini ve ilgili işlemin tarihte görünmesini beklemeniz gerekir.
Tüm bunları doğru yapabilmek için ya OnTradeTransaction'a iyi hakim olmanız ya da OrderSend için bir kez oldukça ağır kod yazmanız gerekir.
İkinci durumda, CTrade de istediğiniz gibi çalışacaktır.
Seçilen grafik sembolünün fiyatını ölçmenin doğruluğunu belirleyen, ondalık noktadan sonraki ondalık basamak sayısını döndürecek Basamakların karşılığı nedir?
Seçilen grafik sembolünün fiyatını ölçmenin doğruluğunu belirleyen, ondalık noktadan sonraki ondalık basamak sayısını döndürecek Basamakların karşılığı nedir?
İnsanlara yardımcı ol. Anlaşmanın açıldığı fiyatı almaya çalışıyorum. İlk başta CTrade üzerinden işlem yaptım ama trade.resultprice sıfıra eşitti. Bunu MqlTrade aracılığıyla yapmaya başladım, test cihazının sonucu.price normal olarak gösterdi, ancak canlıda sıfıra eşit oldu. OnTradeTransaction üzerinden yaptım ama canlı yayında, çok hızlı işlemlerde sıfırı gösteriyor ve otomatik alım satım durduğunda son işlemin fiyatını gösteriyor. Satın alma işleminin geçtiği fiyatı almanın yolları nelerdir?
Merhaba sevgili programcılar. Lütfen bu işlevi değiştirmeme yardım edin. MQL5 referansından yukarıda sunulan fonksiyon Belirli bir Magic için tüm açık pozisyonların sayısını nasıl sayar?
En azından, Emirleri*** her yerde Pozisyonlar*** olarak değiştirin, ardından kontrol etmeniz gerekir.
Çalışıyor gibi görünüyor) bu işlevi MQL5 referans kitabına ekleyebilirsiniz )) Muhtemelen çok erken olmasına rağmen, hala test ediyorum)
Çalışıyor gibi görünüyor) bu işlevi MQL5 referansına ekleyebilirsiniz )) Muhtemelen çok erken olmasına rağmen, hala test ediyorum)
İnsanlara yardımcı ol. Anlaşmanın açıldığı fiyatı almaya çalışıyorum. İlk başta CTrade üzerinden işlem yaptım ama trade.resultprice sıfıra eşitti. Bunu MqlTrade üzerinden yapmaya başladım, test cihazında sonuç.fiyat normal olarak gösterildi, ancak canlıda sıfıra eşit oldu . OnTradeTransaction üzerinden yaptım ama canlı yayında, çok hızlı işlemlerde sıfırı gösteriyor ve otomatik alım satım durduğunda son işlemin fiyatını gösteriyor. Satın alma işleminin geçtiği fiyatı almanın yolları nelerdir?
OrderSend bir sipariş gönderir. Ardından, yürütülmesini ve ilgili işlemin tarihte görünmesini beklemeniz gerekir.
Tüm bunları doğru yapabilmek için ya OnTradeTransaction'a iyi hakim olmanız ya da OrderSend için bir kez oldukça ağır kod yazmanız gerekir.
İkinci durumda, CTrade de istediğiniz gibi çalışacaktır.
Seçilen grafik sembolünün fiyatını ölçmenin doğruluğunu belirleyen, ondalık noktadan sonraki ondalık basamak sayısını döndürecek Basamakların karşılığı nedir?
Seçilen grafik sembolünün fiyatını ölçmenin doğruluğunu belirleyen, ondalık noktadan sonraki ondalık basamak sayısını döndürecek Basamakların karşılığı nedir?
Teşekkür ederim!