order_check

Gerekli alım-satım işleminin gerçekleştirilmesi için fon yeterliliğini kontrol eder. Kontrol sonucu MqlTradeCheckResult yapısı olarak geri döndürülür.

order_check(
   request      // istek yapısı
   );

Parametreler

request

[in]  Gerekli alım-satım eylemini tanımlayan MqlTradeRequest tipi yapısı. Gerekli adsız parametre. Talebin doldurulması ve sayım içeriği için bir örnek aşağıda verilmiştir.

Geri dönüş değeri

Kontrol sonucu MqlTradeCheckResult yapısı olarak geri döndürülür. Yanıttaki request alanı, order_check()'e iletilen bir alım-satım talebinin yapısını içerir.

Not

Bir talebin başarılı bir şekilde gönderilmesi, talep edilen alım-satım işleminin başarıyla yürütüleceğinin kanıtı değildir. order_check fonksiyonu, OrderCheck'e benzerdir.

TRADE_REQUEST_ACTIONS

ID

Açıklama

TRADE_ACTION_DEAL

Belirtilen parametrelerle anında işlem için bir emir yerleştirir (bir piyasa emri yerleştirir)

TRADE_ACTION_PENDING

Belirtilen koşullarda bir işlem gerçekleştirmek için bir emir yerleştirir (bekleyen emir)

TRADE_ACTION_SLTP

Açık pozisyonun Kar Al ve Zararı Durdur seviyelerini değiştirir

TRADE_ACTION_MODIFY

Daha önce yerleştirilmiş olan alım-satım emrinin parametrelerini değiştirir

TRADE_ACTION_REMOVE

Daha önce yerleştirilmiş olan bekleyen emri kaldırır

TRADE_ACTION_CLOSE_BY

Bir pozisyonu zıt yönde bir pozisyonla kapatır

ORDER_TYPE_FILLING

ID

Açıklama

ORDER_FILLING_FOK

Bu gerçekleştirme politikası, bir emrin yalnızca belirtilen hacimde gerçekleştirilebileceği anlamına gelir. Finansal enstrüman için piyasada gerekli miktarda hacim mevcut değilse, emir yürütülmez. İstenen hacim mevcut birkaç teklif fiyatını içerebilir.

ORDER_FILLING_IOC

Bu politika emirde belirtilen hacim dahilinde piyasadaki kullanılabilir maksimum hacimde bir işlemin yapılmasına izin vermek anlamına gelir. Emir tam olarak yerine getirilemezse, kullanılabilir hacime sahip bir emir yürütülür ve kalan hacim iptal edilir.

ORDER_FILLING_RETURN

Bu politika yalnızca piyasa (ORDER_TYPE_BUY ve ORDER_TYPE_SELL), limit ve stop limit emirleri (ORDER_TYPE_BUY_LIMIT, ORDER_TYPE_SELL_LIMIT, ORDER_TYPE_BUY_STOP_LIMIT ve ORDER_TYPE_SELL_STOP_LIMIT) ve sadece Piyasa Fiyatından veya Exchange işlem gerçekleştirme modlarına sahip semboller için kullanılır. Kısmen yerine getirilirse, kalan hacme sahip piyasa veya limit emri iptal edilmez ve geçerliliğini korur.

ORDER_TYPE_BUY_STOP_LIMIT ve ORDER_TYPE_SELL_STOP_LIMIT emirlerinin aktifleştirilmesi sırasında, uygun bir ORDER_TYPE_BUY_LIMIT/ORDER_TYPE_SELL_LIMIT limit emri ORDER_FILLING_RETURN tipiyle oluşturulur.

ORDER_TYPE_TIME

ID

Açıklama

ORDER_TIME_GTC

Emir, elle iptal edilene kadar kuyrukta kalacak

ORDER_TIME_DAY

Emir sadece mevcut işlem günü içerisinde geçerli kalacak

ORDER_TIME_SPECIFIED

Emir belirtilen tarihe kadar geçerli kalacak

ORDER_TIME_SPECIFIED_DAY

Emir, belirtilen günün 23:59:59'una kadar geçerli kalacak. Eğer bu zaman işlem oturumunun dışındaysa, emir sona erme tarihine en yakın işlem saatinde gerçekleştirilir.

Örnek:

import MetaTrader5 as mt5
# MetaTrader 5 paketi ile ilgili verileri görüntüle
print("MetaTrader5 package author: ",mt5.__author__)
print("MetaTrader5 package version: ",mt5.__version__)
 
# MetaTrader 5 terminaline bağlantı kur
if not mt5.initialize():
    print("initialize() failed, error code =",mt5.last_error())
    quit()
 
# hesap para birimini elde et
account_currency=mt5.account_info().currency
print("Account сurrency:",account_currency)
 
# istek yapısını hazırla
symbol="USDJPY"
symbol_info = mt5.symbol_info(symbol)
if symbol_info is None:
    print(symbol, "not found, can not call order_check()")
    mt5.shutdown()
    quit()
 
# sembol MarketWatch'te yoksa, ekle
if not symbol_info.visible:
    print(symbol, "is not visible, trying to switch on")
    if not mt5.symbol_select(symbol,True):
        print("symbol_select({}}) failed, exit",symbol)
        mt5.shutdown()
        quit()
 
# talebi hazırla
point=mt5.symbol_info(symbol).point
request = {
    "action"mt5.TRADE_ACTION_DEAL,
    "symbol": symbol,
    "volume": 1.0,
    "type"mt5.ORDER_TYPE_BUY,
    "price"mt5.symbol_info_tick(symbol).ask,
    "sl"mt5.symbol_info_tick(symbol).ask-100*point,
    "tp"mt5.symbol_info_tick(symbol).ask+100*point,
    "deviation": 10,
    "magic": 234000,
    "comment""python script",
    "type_time"mt5.ORDER_TIME_GTC,
    "type_filling"mt5.ORDER_FILLING_RETURN,
}
 
# kontrolü yap ve sonucu 'olduğu gibi' görüntüle
result = mt5.order_check(request)
print(result);
# sonucu sözlük olarak talep et ve tek tek görüntüle
result_dict=result._asdict()
for field in result_dict.keys():
    print("   {}={}".format(field,result_dict[field]))
    # eğer bu bir alım-satım talebi yapısı ise, onu da tek tek görüntüle
    if field=="request":
        traderequest_dict=result_dict[field]._asdict()
        for tradereq_filed in traderequest_dict:
            print("       traderequest: {}={}".format(tradereq_filed,traderequest_dict[tradereq_filed]))
 
# MetaTrader 5 terminaline olan bağlantıyı kapat
mt5.shutdown()
 
 
Sonuç:
MetaTrader5 package author:  MetaQuotes Software Corp.
MetaTrader5 package version:  5.0.29
 
Account сurrency: USD
   retcode=0
   balance=101300.53
   equity=68319.53
   profit=-32981.0
   margin=51193.67
   margin_free=17125.86
   margin_level=133.45308121101692
   comment=Done
   request=TradeRequest(action=1, magic=234000, order=0, symbol='USDJPY', volume=1.0, ...
       traderequest: action=1
       traderequest: magic=234000
       traderequest: order=0
       traderequest: symbol=USDJPY
       traderequest: volume=1.0
       traderequest: price=108.081
       traderequest: stoplimit=0.0
       traderequest: sl=107.98100000000001
       traderequest: tp=108.181
       traderequest: deviation=10
       traderequest: type=0
       traderequest: type_filling=2
       traderequest: type_time=0
       traderequest: expiration=0
       traderequest: comment=python script
       traderequest: position=0
       traderequest: position_by=0

Ayrıca bakınız

order_send,OrderCheck, Alım-satım işlem tipleri, Alım-satım isteği yapısı, Sonuç kontrolü isteğinin yapısı, Alım-satım isteği sonucunun yapısı