Hatalar, hatalar, sorular - sayfa 555

 
sergey1294 :
Alpari'de piyasa işlemlerinin yürütülmesi, piyasa durduğunda hemen yerleştiremezsiniz, önce bir pozisyon açmanız ve ardından değiştirmeniz gerekir.
Lütfen açıklığa kavuşturun: Alpari'de tek bir OrderSend komutu ile stoplu sipariş vermek mümkün değil mi? Yoksa mevcut bir sipariş için durakları ayarlamadan önce PositionSelect'i aramanız gerektiği gerçeğinden mi bahsediyoruz?
 
Yapış :

Метатестер пилит диск HDD

Sürüm 527.

Eğer sürece bakarsanız, monitör sürekli böyle saçmalıktır.

Buluta bağlı olmayan ağ etkinliği yok. Terminal ve meta test cihazı çalışmıyor. Dosyalar değiştirilmez.

Sağlanan ekran görüntüsünde dosya adları hakkında bilgi yoktur.

Metin formuna daha ayrıntılı bir günlük ekleyin, lütfen.

 
idispatch :

MQL4'te stoplarla anında sipariş oluşturmak mümkündü, ancak MQL5'te bu mümkün değil - sipariş oluşturduktan sonra stopları ayarlamanız gerekiyor.

Yavaşlıyor muyum (lütfen bir örnek kod verin) yoksa amaçlandı mı?

Hemen bir stop ve kar ile yapabilirsiniz.

bir isteğin var

request.sl=SL;

request.tp=TP;

Bu hata. SL ve TP seviyeleri piyasa fiyatlarından uzakta ayarlanmalıdır, bu nedenle bu çizgiler şöyle görünmelidir:

satın alma pozisyonu için:

request.sl = SymbolInfoDouble(Symbol(),SYMBOL_BID) - SL * SymbolInfoDouble(Symbol(), SYMBOL_POINT );

request.tp = SymbolInfoDouble(Symbol(),SYMBOL_ASK) + TP * SymbolInfoDouble(Symbol(),SYMBOL_POINT);

bir satış pozisyonu için, tersi:

request.sl = SymbolInfoDouble(Symbol(),SYMBOL_ASK) + SL * SymbolInfoDouble(Symbol(),SYMBOL_POINT);

request.tp = SymbolInfoDouble(Symbol(),SYMBOL_BID) - TP * SymbolInfoDouble(Symbol(),SYMBOL_POINT);

Umarım bir hata yapmamışımdır...

 
idispatch :
Lütfen açıklığa kavuşturun: Alpari'de tek bir OrderSend komutu ile stoplu sipariş vermek mümkün değil mi? Yoksa mevcut bir sipariş için durakları ayarlamadan önce PositionSelect'i aramanız gerektiği gerçeğinden mi bahsediyoruz?

Mümkün, neden olmasın?

Hangi modda sipariş veriyorsunuz?

 
ShurikAn :

Hemen bir stop ve kar ile yapabilirsiniz.

bir isteğin var

request.sl=SL;

request.tp=TP;

Bu hata. SL ve TP seviyeleri piyasa fiyatlarından uzakta ayarlanmalıdır, bu nedenle bu çizgiler şöyle görünmelidir:

Tabii ki SL ve TP sizin için olduğu gibi benim için de tanımlıdır. üstelik yukarda yazmıştım eğer eklersen

m_request.action = TRADE_ACTION_SLTP ;
OrderSend(m_request, m_result);

daha sonra duraklar, verilen SL ve TP'ye göre başarıyla ayarlanır; bu, yanlış olsalardı olmazdı.

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций - Документация по MQL5
 
Renat :

Mümkün, neden olmasın?

Hangi modda sipariş veriyorsunuz?

MqlTradeRequest m_request;
MqlTradeResult m_result;

m_request.action = TRADE_ACTION_DEAL;
m_request.symbol = Sembol();
m_request.type = ORDER_TYPE_BUY;

m_request.price = Fiyat; // önceden hesaplanmış ve doğru :)

m_request.sl = SL; // önceden hesaplanmış ve doğru :)
m_request.tp = TP; // önceden hesaplanmış ve doğru :)

m_request.volume = Hacim;

m_request.type_filling = ORDER_FILLING_FOK;
m_request.sapma = 10;
m_request.type_time = 0;
m_request.expiration = 0;
m_request.magic = 0;
m_request.comment = "";

OrderSend(m_request, m_result);
 
idispatch :
Lütfen açıklığa kavuşturun: Alpari'de tek bir OrderSend komutu ile stoplu sipariş vermek mümkün değil mi? Yoksa mevcut bir sipariş için durakları ayarlamadan önce PositionSelect'i aramanız gerektiğinden mi bahsediyoruz?

Oldukça doğru. duraklar ile sadece anlık modda mümkündür

Yürütme türleri

İstemci terminalinde uygulanan dört sipariş yürütme modu vardır:

  • Anında infaz
    Bu modda, komisyoncuya teklif edilen fiyat üzerinden bir piyasa emri gerçekleştirilir. Yürütme için bir talep gönderirken, terminal otomatik olarak mevcut fiyatları siparişe ekler. Broker fiyatları kabul ederse, emir yürütülür. Eğer komisyoncu talep edilen fiyatı kabul etmezse, o zaman "Tekrar Fiyatlandırma" meydana gelir - komisyoncu bu emrin uygulanabileceği fiyatları döndürür.
  • Yürütme İste
    Bu modda, komisyoncudan daha önce alınan fiyat üzerinden bir piyasa emri gerçekleştirilir. Bir piyasa emrini göndermeden önce, komisyoncuya bu emrin ifasının bedeli sorulur. Bunları aldıktan sonra, siparişin belirli bir fiyattan yürütülmesi onaylanabilir veya reddedilebilir.
  • Piyasa Uygulaması
    Bu piyasa emri yürütme modunda, işlem fiyatına ilişkin karar, tüccar ile ek bir anlaşma olmaksızın komisyoncu tarafından verilir. Bu modda bir piyasa emri göndermek, gerçekleştirileceği fiyatla erken bir anlaşma anlamına gelir.

"Piyasadan Sat" veya "Piyasadan Al" butonlarına basılarak, aracı kurumun belirlediği fiyattan alım veya satım işlemi gerçekleştirmesi için aracıya emir oluşturulur.

  • "Piyasaya göre" yürütme modunda, "Zarar Durdur" ve "Kâr Al" seviyeleri, yalnızca zaten açık olan bir pozisyon değiştirilerek ayarlanabilir.
  • Siparişin yorumu komisyoncu veya sunucu tarafından değiştirilebilir. Örneğin Zarar Durdur veya Kâr Al ile kapatma durumunda ilgili bilgileri içerecektir.
  • "Yürütme" alanı etkin değilse, sunucuda bunu değiştirme yeteneği engellenir.
  • Pozisyon açma penceresinde farenin sol tuşuna çift tıklamak keneyi açar/gizler
  • Değişim Yürütme
    Bu modda, müşteri terminalinde gerçekleştirilen alım satım işlemleri, harici bir alım satım sistemine (değişim) gönderilir. Alım satım işlemleri, mevcut piyasa tekliflerinin fiyatları üzerinden gerçekleştirilir.

Her bir finansal araç için uygulama şekli seçimi aracı kurum tarafından gerçekleştirilir.


Genel olarak, bununla ilgili her şey terminal yardımında yazılmıştır. Sadece kimse okumuyor.

Ne tür bir yürütme olduğunu öğrenmek için işlevi kullanarak bir özellik istemeniz gerekir. SYMBOL_TRADE_EXEMODE tanımlayıcılı SymbolInfoInteger ()

SYMBOL_TRADE_EXEMODE

İşlem Modu

ENUM_SYMBOL_TRADE_EXECUTION




ENUM_SYMBOL_TRADE_EXECUTION

tanımlayıcı

Tanım

SYMBOL_TRADE_EXECUTION_REQUEST

Talep üzerine ticaret

SYMBOL_TRADE_EXECUTION_INSTANT

Canlı fiyat ticareti

SYMBOL_TRADE_EXECUTION_MARKET

Piyasa yürütme

SYMBOL_TRADE_EXECUTION_CHANGE

Exchange yürütme


 

Çok teşekkürler, şimdi anlaşıldı.

Ve yardımı okudum, bulamadığım şey benim hatam + yardımda çapraz referansların yetersiz detaylandırılması veya buna benzer bir şeydi :)

 

Cerrahın danışmanını test ederken https://www.mql5.com/en/code/611

değiştirilmiş

[alıntı]

Teste başlamak için 84. satırda şunu değiştirin:
double Limit=SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_LIMIT);
üzerinde
çift Limit= 5;

[/alıntı]

Normal bir demo hesabında, Araçlar bölümünde Ticaret sekmesi etkinken, test bittikten sonra terminal görünümü değişir.

Dosyalar:
Error01.JPG  382 kb
Error02.JPG  346 kb
 

Bir demo hesabında böyle bir hata var:

Tüm zamanlar başa sıfırlanır.

Ve XAUUSD'de F9'a ve buraya basarsınız

"piyasa gözlemi"nde sipariş penceresini açmak için çift tıklayamazsınız.

Not: XAUUSD ile işlem yapmamayı biliyorum.)