Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
" MT5'te OrderSend ile Nasıl Çalışılır " konusunun sorusunun yanıtlanması
basit bir cevap var
Geliştiriciler hatayı düzeltene kadar
ulong order_ticket; //Тикет ордера
//---
if ( OrderSend (request,result))
{
if (result.retcode== TRADE_RETCODE_DONE )
{
pre_ticket=result.order;
}
}
//----------------------------------------------------------------+
//| TradeTransaction function |
//+------------------------------------------------------------------+
void OnTradeTransaction ( const MqlTradeTransaction &trans,
const MqlTradeRequest &request,
const MqlTradeResult &result)
{
switch (trans.type)
{
case TRADE_TRANSACTION_ORDER_UPDATE :
if ((pre_ticket> 0 ) && (trans.order==pre_ticket))
{
switch (trans.order_state)
{
case ORDER_STATE_PLACED :
order_ticket = pre_ticket;
break ;
}
}
break ;
}
}
Ve düzelttiklerinde
//---
if ( OrderSend (request,result))
{
if (result.retcode== TRADE_RETCODE_DONE )
{
order_ticket=result.order;
}
}
5'in ham-ham olduğuna dair genel bir izlenimim var ...
Hiç kimse hatalardan bağışık değildir.
Başka bir şey, hataların düzeltilmesinin uzun zaman almasıdır.
" MT5'te OrderSend ile Nasıl Çalışılır " konusunun sorusunun yanıtlanması
basit bir cevap var
Geliştiriciler hatayı düzeltene kadar, o zaman
ulong order_ticket; //Тикет ордера
//---
if ( OrderSend (request,result))
{
if (result.retcode== TRADE_RETCODE_DONE )
{
pre_ticket=result.order;
}
}
//----------------------------------------------------------------+
//| TradeTransaction function |
//+------------------------------------------------------------------+
void OnTradeTransaction ( const MqlTradeTransaction &trans,
const MqlTradeRequest &request,
const MqlTradeResult &result)
{
switch (trans.type)
{
case TRADE_TRANSACTION_ORDER_UPDATE :
if ((pre_ticket> 0 ) && (trans.order==pre_ticket))
{
switch (trans.order_state)
{
case ORDER_STATE_PLACED :
order_ticket = pre_ticket;
break ;
}
}
break ;
}
}
Ve bir paket OrderSend varsa?
Ve düzelttiklerinde
Ve eğer bir paket OrderSend?
PAKET sevenler için
ulong order_ticket_1 = 0 ; //Тикет ордера
ulong order_ticket_2 = 0 ; //Тикет ордера
ulong order_ticket_3 = 0 ; //Тикет ордера
ulong order_ticket_4 = 0 ; //Тикет ордера
ulong order_ticket_5 = 0 ; //Тикет ордера
uint num_order = 0 ;
//---
if ( OrderSend (request,result))
{
if (result.retcode== TRADE_RETCODE_DONE )
{
pre_ticket=result.order;
num_order++;
}
}
//----------------------------------------------------------------+
//| TradeTransaction function |
//+------------------------------------------------------------------+
void OnTradeTransaction ( const MqlTradeTransaction &trans,
const MqlTradeRequest &request,
const MqlTradeResult &result)
{
switch (trans.type)
{
case TRADE_TRANSACTION_ORDER_UPDATE :
if ((pre_ticket> 0 ) && (trans.order==pre_ticket))
{
switch (trans.order_state)
{
case ORDER_STATE_PLACED :
switch (num_order)
{
case 1 :
order_ticket_1 = pre_ticket;
pre_ticket = 0 ;
break ;
case 2 :
order_ticket_2 = pre_ticket;
pre_ticket = 0 ;
break ;
case 3 :
order_ticket_3 = pre_ticket;
pre_ticket = 0 ;
break ;
case 4 :
order_ticket_4 = pre_ticket;
pre_ticket = 0 ;
break ;
case 5 :
order_ticket_5 = pre_ticket;
pre_ticket = 0 ;
break ;
}
break ;
}
}
break ;
}
}
void OnTick ()
{
if (pre_ticket == 0 )
{
OrderSend (); ////////
}
}
ya da öyle
ulong pre_ticket = 0 ; //Претикет ордера
ulong order_ticket_1 = 0 ; //Тикет ордера
ulong order_ticket_2 = 0 ; //Тикет ордера
ulong order_ticket_3 = 0 ; //Тикет ордера
ulong order_ticket_4 = 0 ; //Тикет ордера
ulong order_ticket_5 = 0 ; //Тикет ордера
uint num_order = 0 ;
//---
if ( OrderSend (request,result))
{
if (result.retcode== TRADE_RETCODE_DONE )
{
pre_ticket=result.order;
num_order++;
}
}
//----------------------------------------------------------------+
//| TradeTransaction function |
//+------------------------------------------------------------------+
void OnTradeTransaction ( const MqlTradeTransaction &trans,
const MqlTradeRequest &request,
const MqlTradeResult &result)
{
switch (trans.type)
{
case TRADE_TRANSACTION_ORDER_UPDATE :
if ((pre_ticket> 0 ) && (trans.order==pre_ticket))
{
switch (trans.order_state)
{
case ORDER_STATE_PLACED :
switch (num_order)
{
case 1 :
order_ticket_1 = pre_ticket;
pre_ticket = 0 ;
OrderSend ();
break ;
case 2 :
order_ticket_2 = pre_ticket;
pre_ticket = 0 ;
OrderSend ();
break ;
case 3 :
order_ticket_3 = pre_ticket;
pre_ticket = 0 ;
OrderSend();
break ;case 4 :
order_ticket_4 = pre_ticket;
pre_ticket = 0 ;
OrderSend ();
break ;
case 5 :
order_ticket_5 = pre_ticket;
pre_ticket = 0 ;
break ;
}
break ;
}
}
break ;
}
}
Düzeltmeyecekler. Bu bir özelliktir.
Geliştiricilerin OrderSend () ile durum hakkında yorum yapmaması üzücü.
Bu bir "hile" mi yoksa düzeltecekler mi? ...
Düzeltmeyecekler. Bu bir özelliktir.
SD, bir sonraki derlemeden OrderSend()'in olması gerektiği gibi çalışacağını söyledi :)
açık pozisyonların geçmişinden bir anlaşma veya pozisyonun tam olarak oluşturulmuş bir yapısını almalı" sürecini eklemeye çalışıyorsunuz.
Yine de bana yukarıda yazdığımı cevapladılar.
Belki çok inandırıcı yazmadınız veya işlevin eksikliği hakkında tartışmadınız.