Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 83

 

Bir sorunla karşılaştım - belirli bir noktada test ederken, bilinmeyen bir nedenle "geçersiz duraklar" hatası oluşuyor, ancak duraklar doğru.

Algoritma önemsizdir - bir sipariş verilir

   MqlTradeResult result = { 0 };
   MqlTradeRequest request = { 0 };
   
   double price = SymbolInfoDouble ( _Symbol , isBuy ? SYMBOL_ASK : SYMBOL_BID );
   double sl = price - lvl * _Point ;
   double tp = price + lvl * _Point ;

   request.action = TRADE_ACTION_DEAL ;
   request.magic = magic;
   request.symbol = _Symbol ;
   request.volume = lot;
   request.price = price;
   request.deviation = deviation;
   request.type = isBuy ? ORDER_TYPE_BUY : ORDER_TYPE_SELL ;

   OrderSend (request, result);

   order = result.order;
   
   if (order)
   {   
       ZeroMemory (result);
       ZeroMemory (request);

      request.action = TRADE_ACTION_SLTP ;
      request.order = order;
      request.symbol = _Symbol ;
      request.sl = isBuy ? sl : tp;
      request.tp = isBuy ? tp : sl;

       if (! OrderSend (request, result))
      {
         Print ( " --- Can not modify order --- error = " + GetLastError () + " order = " + order +  " price = " + price);
      }
   }

kapandığında prosedürü tekrarlayın

Sonuç olarak, olan buydu (2010.05.01'de başladı):

 2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 21 : 59 : 00     --- Can not modify order --- error = 4756 order = 4720 price = 1.41795
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 21 : 59 : 00    failed modify sell 0.10 EURUSD sl: 0.00000 , tp: 0.00000 -> sl: 1.42095 , tp: 1.41495 [Invalid stops]
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 21 : 59 : 00    order performed sell 0.10 at 1.41795 [ # 4720 sell 0.10 EURUSD at 1.41795 ]
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 21 : 59 : 00    deal performed [ # 4720 sell 0.10 EURUSD at 1.41795 ]
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 21 : 59 : 00    deal # 4720 sell 0.10 EURUSD at 1.41795 done (based on order # 4720 )
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 21 : 59 : 00    exchange sell 0.10 EURUSD at 1.41795 ( 1.41795 / 1.42399 / 1.41795 )
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 21 : 59 : 00    order performed buy 0.10 at 1.42003 [ # 4719 buy 0.10 EURUSD at 1.42003 ]
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 21 : 59 : 00    deal performed [ # 4719 buy 0.10 EURUSD at 1.42003 ]
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 21 : 59 : 00    deal # 4719 buy 0.10 EURUSD at 1.42003 done (based on order # 4719 )
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 21 : 59 : 00    stop loss triggered sell 0.10 EURUSD 1.41703 sl: 1.42003 tp: 1.41403 [ # 4719 buy 0.10 EURUSD at 1.42003 ]
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 17 : 37 : 33    position modified [sell 0.10 EURUSD 1.41703 sl: 1.42003 tp: 1.41403 ]
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 17 : 37 : 33    order performed sell 0.10 at 1.41703 [ # 4718 sell 0.10 EURUSD at 1.41703 ]
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 17 : 37 : 33    deal performed [ # 4718 sell 0.10 EURUSD at 1.41703 ]
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 17 : 37 : 33    deal # 4718 sell 0.10 EURUSD at 1.41703 done (based on order # 4718 )
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 17 : 37 : 33    exchange sell 0.10 EURUSD at 1.41703 ( 1.41703 / 1.41711 / 1.41703 )
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 17 : 37 : 33    order performed buy 0.10 at 1.41711 [ # 4717 buy 0.10 EURUSD at 1.41711 ]
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 17 : 37 : 33    deal performed [ # 4717 buy 0.10 EURUSD at 1.41711 ]
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 17 : 37 : 33    deal # 4717 buy 0.10 EURUSD at 1.41711 done (based on order # 4717 )
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 17 : 37 : 33    stop loss triggered sell 0.10 EURUSD 1.41411 sl: 1.41711 tp: 1.41111 [ # 4717 buy 0.10 EURUSD at 1.41711 ]
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 13 : 29 : 27    position modified [sell 0.10 EURUSD 1.41411 sl: 1.41711 tp: 1.41111 ]
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 13 : 29 : 27    order performed sell 0.10 at 1.41411 [ # 4716 sell 0.10 EURUSD at 1.41411 ]
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 13 : 29 : 27    deal performed [ # 4716 sell 0.10 EURUSD at 1.41411 ]
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 13 : 29 : 27    deal # 4716 sell 0.10 EURUSD at 1.41411 done (based on order # 4716 )
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 13 : 29 : 27    exchange sell 0.10 EURUSD at 1.41411 ( 1.41411 / 1.41420 / 1.41411 )
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 13 : 29 : 27    order performed buy 0.10 at 1.41420 [ # 4715 buy 0.10 EURUSD at 1.41420 ]
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 13 : 29 : 27    deal performed [ # 4715 buy 0.10 EURUSD at 1.41420 ]
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 13 : 29 : 27    deal # 4715 buy 0.10 EURUSD at 1.41420 done (based on order # 4715 )
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 13 : 29 : 27    stop loss triggered sell 0.10 EURUSD 1.41120 sl: 1.41420 tp: 1.40820 [ # 4715 buy 0.10 EURUSD at 1.41420 ]
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 11 : 56 : 13    position modified [sell 0.10 EURUSD 1.41120 sl: 1.41420 tp: 1.40820 ]
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 11 : 56 : 13    order performed sell 0.10 at 1.41120 [ # 4714 sell 0.10 EURUSD at 1.41120 ]
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 11 : 56 : 13    deal performed [ # 4714 sell 0.10 EURUSD at 1.41120 ]
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 11 : 56 : 13    deal # 4714 sell 0.10 EURUSD at 1.41120 done (based on order # 4714 )
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 11 : 56 : 13    exchange sell 0.10 EURUSD at 1.41120 ( 1.41120 / 1.41126 / 1.41120 )
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 11 : 56 : 13    order performed buy 0.10 at 1.41126 [ # 4713 buy 0.10 EURUSD at 1.41126 ]
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 11 : 56 : 13    deal performed [ # 4713 buy 0.10 EURUSD at 1.41126 ]
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 11 : 56 : 13    deal # 4713 buy 0.10 EURUSD at 1.41126 done (based on order # 4713 )
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 11 : 56 : 13    stop loss triggered sell 0.10 EURUSD 1.40826 sl: 1.41126 tp: 1.40526 [ # 4713 buy 0.10 EURUSD at 1.41126 ]
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 11 : 00 : 28    position modified [sell 0.10 EURUSD 1.40826 sl: 1.41126 tp: 1.40526 ]
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 11 : 00 : 28    order performed sell 0.10 at 1.40826 [ # 4712 sell 0.10 EURUSD at 1.40826 ]
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 11 : 00 : 28    deal performed [ # 4712 sell 0.10 EURUSD at 1.40826 ]
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 11 : 00 : 28    deal # 4712 sell 0.10 EURUSD at 1.40826 done (based on order # 4712 )
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 11 : 00 : 28    exchange sell 0.10 EURUSD at 1.40826 ( 1.40826 / 1.40835 / 1.40826 )
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 11 : 00 : 28    order performed buy 0.10 at 1.40832 [ # 4711 buy 0.10 EURUSD at 1.40832 ]
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 11 : 00 : 28    deal performed [ # 4711 buy 0.10 EURUSD at 1.40832 ]
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 11 : 00 : 28    deal # 4711 buy 0.10 EURUSD at 1.40832 done (based on order # 4711 )
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 11 : 00 : 28    stop loss triggered sell 0.10 EURUSD 1.40532 sl: 1.40832 tp: 1.40232 [ # 4711 buy 0.10 EURUSD at 1.40832 ]
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 09 : 56 : 28    position modified [sell 0.10 EURUSD 1.40532 sl: 1.40832 tp: 1.40232 ]
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 09 : 56 : 28    order performed sell 0.10 at 1.40532 [ # 4710 sell 0.10 EURUSD at 1.40532 ]
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 09 : 56 : 28    deal performed [ # 4710 sell 0.10 EURUSD at 1.40532 ]
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 09 : 56 : 28    deal # 4710 sell 0.10 EURUSD at 1.40532 done (based on order # 4710 )
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 09 : 56 : 28    exchange sell 0.10 EURUSD at 1.40532 ( 1.40532 / 1.40542 / 1.40532 )
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 09 : 56 : 28    order performed buy 0.10 at 1.40543 [ # 4709 buy 0.10 EURUSD at 1.40543 ]
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 09 : 56 : 28    deal performed [ # 4709 buy 0.10 EURUSD at 1.40543 ]
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 09 : 56 : 28    deal # 4709 buy 0.10 EURUSD at 1.40543 done (based on order # 4709 )
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 09 : 56 : 28    take profit triggered sell 0.10 EURUSD 1.40843 sl: 1.41143 tp: 1.40543 [ # 4709 buy 0.10 EURUSD at 1.40543 ]
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 09 : 00 : 37    position modified [sell 0.10 EURUSD 1.40843 sl: 1.41143 tp: 1.40543 ]
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 09 : 00 : 37    order performed sell 0.10 at 1.40843 [ # 4708 sell 0.10 EURUSD at 1.40843 ]
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 09 : 00 : 37    deal performed [ # 4708 sell 0.10 EURUSD at 1.40843 ]
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 09 : 00 : 37    deal # 4708 sell 0.10 EURUSD at 1.40843 done (based on order # 4708 )
2013.01 . 16 13 : 22 : 16      Core 1    2011.03 . 18 09 : 00 : 37    exchange sell 0.10 EURUSD at 1.40843 ( 1.40843 / 1.40852 / 1.40843 )
...

Ne yanlış olabilir? (o zaman depozitonun %80'i ücretsizdi)

 
Forux : Bir sorunla karşılaştım - belirli bir noktada test yaparken, bilinmeyen bir nedenle "geçersiz duraklar" hatası oluşuyor, ancak duraklar doğru.

Sonuç olarak, olan buydu (2010.05.01'de başladı):

Ne yanlış olabilir? (o zaman depozitonun %80'i ücretsizdi)

Konum değişikliğine yanıt olarak bir hata mesajı açılır. Aynı zamanda, mevcut fiyattan sl/tp seviyelerinin izin verilen mesafesi için kodda bir kontrol yoktur. İki ticaret talebinin işlenmesi sırasında mevcut piyasa fiyatının sl veya tp seviyelerine sunucunun izin verdiğinden daha az bir mesafede yaklaşması olabilir. ORDER_STOPS_LEVEL Dizinine bakın
 
Yedelkin :
Konum değişikliğine yanıt olarak bir hata mesajı açılır. Aynı zamanda, mevcut fiyattan sl/tp seviyelerinin izin verilen mesafesi için kodda bir kontrol yoktur. İki ticaret talebinin işlenmesi sırasında, mevcut piyasa fiyatı, sunucu tarafından izin verilenden daha az bir mesafede sl veya tp seviyelerine yaklaşmış olabilir. ORDER_STOPS_LEVEL Dizinine bakın

Test etmek için kodda değişiklikler yapıldı:

price = SymbolInfoDouble ( _Symbol , isBuy ? SYMBOL_ASK : SYMBOL_BID );
Print(" --- Can not modify order --- error = " + GetLastError() + " order = " + order + " price = " + price);

sonuç olarak hata satırı değişmedi (yani fiyat değişmedi). Evet ve büyük olasılıkla olamazdı, bu iki buçuk yıl boyunca Alpari tarihi üzerine dakikalar üzerinde test yapıyor (tarihin %98 kalitesi).  

Daha çok metatrader'ın kendisinin bir tür hatası gibi görünüyor, çünkü tam olarak aynı şey daha önce de oldu, ancak hata yoktu.

 
Forux : Doğrulama için kodda değişiklikler yapıldı:
Peki, izin verilen bir girinti için de bir kontrol yaptınız mı?
 
Yedelkin :
Peki, izin verilen bir girinti için de bir kontrol yaptınız mı?
Yedelkin:
Peki, izin verilen bir girinti için de bir kontrol yaptınız mı?

Testte izin verilen mesafe 0'ı verir. Ve fiyat değişmedi, hatadan sonra değişiklikten önce bile siparişin oluşturulduğu fiyatla aynı.  

price = SymbolInfoDouble ( _Symbol , isBuy ? SYMBOL_ASK : SYMBOL_BID );
Print ( "SymbolInfoInteger(_Symbol, SYMBOL_TRADE_STOPS_LEVEL) == " + SymbolInfoInteger ( _Symbol , SYMBOL_TRADE_STOPS_LEVEL ));
Print ( " --- Can not modify order --- error = " + GetLastError () + " isBuy = " + isBuy + " order = " + order +   " price = " + price);

kayıt

 2013.01 . 16 14 : 32 : 28      Core 1    2011.03 . 18 21 : 59 : 00     --- Can not modify order --- error = 4756 isBuy = false order = 4720 price = 1.41795
2013.01 . 16 14 : 32 : 28      Core 1    2011.03 . 18 21 : 59 : 00    SymbolInfoInteger ( _Symbol , SYMBOL_TRADE_STOPS_LEVEL ) == 0
2013.01 . 16 14 : 32 : 28      Core 1    2011.03 . 18 21 : 59 : 00    failed modify sell 0.10 EURUSD sl: 0.00000 , tp: 0.00000 -> sl: 1.42095 , tp: 1.41495 [Invalid stops]
2013.01 . 16 14 : 32 : 28      Core 1    2011.03 . 18 21 : 59 : 00    order performed sell 0.10 at 1.41795 [ # 4720 sell 0.10 EURUSD at 1.41795 ]
2013.01 . 16 14 : 32 : 28      Core 1    2011.03 . 18 21 : 59 : 00    deal performed [ # 4720 sell 0.10 EURUSD at 1.41795 ]
2013.01 . 16 14 : 32 : 28      Core 1    2011.03 . 18 21 : 59 : 00    deal # 4720 sell 0.10 EURUSD at 1.41795 done (based on order # 4720 )
2013.01 . 16 14 : 32 : 28      Core 1    2011.03 . 18 21 : 59 : 00    exchange sell 0.10 EURUSD at 1.41795 ( 1.41795 / 1.42399 / 1.41795 )
...
 
Forux : Evet ve fiyat değişmedi, hatadan sonra değişiklikten önce bile siparişin oluşturulduğu ile aynı.  

Fiyatın kendisi (genel durumda) başlangıçta şu anda sunucunun izin verdiği seviyelere daha yakın olabilir. Bu nedenle, böyle bir durumu kontrol etmek her zaman arzu edilir.

Forum : Test 0'da geçerli mesafe verir

Evet, şimdi bu durumda girintiyi kontrol etmenin sorunu çözmediği açıktır. Bir Satış pozisyonu için sl/tp seviyelerinin Teklif fiyatına göre belirlendiğini doğru anladım mı?

 
Yedelkin :

Fiyatın kendisi (genel durumda) başlangıçta şu anda sunucunun izin verdiği seviyelere daha yakın olabilir. Bu nedenle, böyle bir durumu kontrol etmek her zaman arzu edilir.

Evet, şimdi bu durumda girintiyi kontrol etmenin sorunu çözmediği açıktır. Bir Satış pozisyonu için sl/tp seviyelerinin Teklif fiyatına göre belirlendiğini doğru anladım mı?

Evet ve giriş ve çıkış , sipariş türüne bağlı olarak talep veya teklif şeklindedir.
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 
Forux : Evet ve giriş ve çıkış , sipariş tipine bağlı olarak talep veya teklif şeklindedir.
Bir Satış pozisyonu için sl/tp seviyelerinin Teklif fiyatına göre belirlendiğini doğru anladım mı? Zor değilse, sorunlu alan için mevcut Ask, Bid, SL & TP'yi yazdırın
 
Yedelkin :
Bir Satış pozisyonu için sl/tp seviyelerinin Teklif fiyatına göre belirlendiğini doğru anladım mı? Zor değilse, sorunlu alan için mevcut Ask, Bid, SL & TP'yi yazdırın
 2013.01 . 16 15 : 55 : 57      Core 1    2011.03 . 18 21 : 59 : 00     --- Can not modify order --- error = 4756 isBuy = false order = 4720 price = 1.41795
2013.01 . 16 15 : 55 : 57      Core 1    2011.03 . 18 21 : 59 : 00    TP == 1.41495
2013.01 . 16 15 : 55 : 57      Core 1    2011.03 . 18 21 : 59 : 00    SL == 1.42095
2013.01 . 16 15 : 55 : 57      Core 1    2011.03 . 18 21 : 59 : 00    BID == 1.41795
2013.01 . 16 15 : 55 : 57      Core 1    2011.03 . 18 21 : 59 : 00    ASK == 1.42399
2013.01 . 16 15 : 55 : 57      Core 1    2011.03 . 18 21 : 59 : 00    SymbolInfoInteger ( _Symbol , SYMBOL_TRADE_STOPS_LEVEL ) == 0
2013.01 . 16 15 : 55 : 57      Core 1    2011.03 . 18 21 : 59 : 00    failed modify sell 0.10 EURUSD sl: 0.00000 , tp: 0.00000 -> sl: 1.42095 , tp: 1.41495 [Invalid stops]
2013.01 . 16 15 : 55 : 57      Core 1    2011.03 . 18 21 : 59 : 00    order performed sell 0.10 at 1.41795 [ # 4720 sell 0.10 EURUSD at 1.41795 ]
2013.01 . 16 15 : 55 : 57      Core 1    2011.03 . 18 21 : 59 : 00    deal performed [ # 4720 sell 0.10 EURUSD at 1.41795 ]
2013.01 . 16 15 : 55 : 57      Core 1    2011.03 . 18 21 : 59 : 00    deal # 4720 sell 0.10 EURUSD at 1.41795 done (based on order # 4720 )
2013.01 . 16 15 : 55 : 57      Core 1    2011.03 . 18 21 : 59 : 00    exchange sell 0.10 EURUSD at 1.41795 ( 1.41795 / 1.42399 / 1.41795 )
...
Soru kaldırıldı. (peki, yayılma o_O)
 

Merhaba! Daha önce MT-5 programında yoktu ama artık "sinyaller" bölümünde vermeye başladılar.

ihtiyacım olmayan bilgi. Mobil internet kullanıyorum ve her MB için ödeme yapıyorum.

Ve bu sinyaller internet tüketimini 3-4 kat artırdı.

Soru: Bu sinyallerin gelmemesi için neyi ve nerede kurulur? Sinyallerin hiçbirine abone olmadım.