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

 
Vladimir Karputov :

Bunun gibi:


Bir diğer önemli şey de fiyatları nasıl güncellediğinizdir (ve hiç güncelliyor musunuz?). Yaymak - nasıl elde edersiniz?

     double point, price, ask, bid;
     ulong digits;

     if (! SymbolInfoDouble (symbol, SYMBOL_ASK , ask)) return ( true );
     if (! SymbolInfoDouble (symbol, SYMBOL_ASK , bid)) return ( true );
     if (! SymbolInfoInteger (symbol, SYMBOL_DIGITS , digits)) return ( true );
     if (! SymbolInfoDouble (symbol, SYMBOL_POINT , point)) return ( true );
 SymbolInfoInteger (symbol, SYMBOL_SPREAD );
 
Mikhail Sergeev :

Yani, gelecek için:

1. SymbolInfoÇift

Eğer fonksiyon son tik hakkında bilgi almak için kullanılıyorsa, SymbolInfoTick() kullanmak daha iyidir . Terminalin ticaret hesabına bağlandığı andan itibaren bu sembol için tek bir fiyat teklifi olmaması mümkündür. Bu durumda istenen değer tanımsız olacaktır.

2. Formayı Sor ve Bid arasındaki fark olarak almak daha iyidir

3. Donma seviyesi: Üç değerden ( SYMBOL_TRADE_FREEZE_LEVEL, SYMBOL_TRADE_STOPS_LEVEL ve hesaplanan spread ) maksimumunu arayın ve üç ile çarpın ve mutlu olacaksınız.

3. Nokta, KodoBase ile çalışırken pratik olarak türetilmiştir (ve doğrulayıcı, hem KodoBase hem de Market'te aynıdır).
Документация по MQL5: Получение рыночной информации / SymbolInfoDouble
Документация по MQL5: Получение рыночной информации / SymbolInfoDouble
  • www.mql5.com
2. Возвращает true или false в зависимости от успешности выполнения функции.  В случае успеха значение свойства помещается в приемную переменную, передаваемую по ссылке последним параметром. Если функция используется для получения информации о последнем тике, то лучше использовать SymbolInfoTick(). Вполне возможно, что по данному символу с...
 
Vladimir Karputov :

Yani, gelecek için:

1. SymbolInfoÇift

Eğer fonksiyon son tik hakkında bilgi almak için kullanılıyorsa, SymbolInfoTick() kullanmak daha iyidir . Terminalin ticaret hesabına bağlandığı andan itibaren bu sembol için tek bir fiyat teklifi olmaması mümkündür. Bu durumda istenen değer tanımsız olacaktır.

2. Formayı Sor ve Bid arasındaki fark olarak almak daha iyidir

3. Donma seviyesi: Üç değerden ( SYMBOL_TRADE_FREEZE_LEVEL, SYMBOL_TRADE_STOPS_LEVEL ve hesaplanan spread ) maksimumunu arayın ve üç ile çarpın ve mutlu olacaksınız.

3. Nokta, KodoBase ile çalışırken pratik olarak türetilmiştir (ve doğrulayıcı, hem KodoBase hem de Market'te aynıdır).

Çok teşekkürler! Şimdi değişiklik yapıp deneyeceğim.

 
Mikhail Sergeev :

Çok teşekkürler! Şimdi değişiklik yapıp deneyeceğim.

Evet, sonuç ilginç olacak.

 
Vladimir Karputov :

Evet, sonuç ilginç olacak.

Sorun çözüldü! Her şeyin çok basit olduğu ortaya çıktı, bir siparişi silmek için doldurmanız gerekiyor: request.symbol

Ticaret işleminin türüne bağlı olarak talebe hangi verilerin iletilmesi gerektiğine dair herhangi bir yapılandırılmış bilgi bulamadım. Ve https://www.mql5.com/ru/docs/constants/tradingconstants/enum_trade_request_actions örneğini kullandım

Orada değil.


Dondurma ile birçok seçenek kontrol edildi. Benim durumumda, tek bir boyut yeterliydi.

Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Типы торговых операций
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Типы торговых операций
  • www.mql5.com
Торговля осуществляется посредством отправки с помощью функции OrderSend() приказов на открытие позиций, а также приказов на установку, модификацию и удаление отложенных ордеров. Каждый торговый приказ содержит указание на тип запрашиваемой торговой операции. Торговые операции описаны в перечислении ENUM_TRADE_REQUEST_ACTIONS...
 
Mikhail Sergeev :

Sorun çözüldü! Her şeyin çok basit olduğu ortaya çıktı, bir siparişi silmek için doldurmanız gerekiyor: request.symbol

Ticaret işleminin türüne bağlı olarak talebe hangi verilerin iletilmesi gerektiğine dair herhangi bir yapılandırılmış bilgi bulamadım. Ve https://www.mql5.com/ru/docs/constants/tradingconstants/enum_trade_request_actions örneğini kullandım

Orada değil.


Dondurma ile birçok seçenek kontrol edildi. Benim durumumda, tek bir boyut yeterliydi.

Neden bu tür zorluklar? CTrade ticaret sınıfını kullanın.

 
Vladimir Karputov :

Neden bu tür zorluklar? CTrade ticaret sınıfını kullanın.

Ne yazık ki, bu hala MT4 ile uzanıyor. Uyum sağlamak daha kolaydı.


CTrade gelince, gerçekten anlamadım, ama bir sembol belirtmeniz gereken her yerde, yönteme iletilen parametrelerde gibi görünüyor. Ve OrderDelete(const ulong bilet) yöntemi buna sahip değil, bu yüzden çalışmayacak. request.symbol'u önceden bir yerde doldurmak gerekir.

 
Mikhail Sergeev :

Ne yazık ki, bu hala MT4 ile uzanıyor. Uyum sağlamak daha kolaydı.


CTrade'e gelince, gerçekten anlamadım, ama bir sembol belirtmeniz gereken her yerde, yönteme iletilen parametrelerde gibi görünüyor. Ve OrderDelete(const ulong bilet) yöntemi buna sahip değil, bu yüzden çalışmayacak. request.symbol'u önceden bir yerde doldurmak gerekir.

Ne işe yaramaz? Bu bir ticaret sınıfıdır: BEKLEMEDEKİ SİPARİŞLERİ ayarlar, değiştirir ve siler , POZİSYONLARI açar, değiştirir ve kapatır.

Kesinlikle her şey çalışıyor. Ve her şey, herhangi bir ticaret komutunda tek satırda yazılır.


CTicaret

Документация по MQL5: Стандартная библиотека / Торговые классы / CTrade
Документация по MQL5: Стандартная библиотека / Торговые классы / CTrade
  • www.mql5.com
Стандартная библиотека / Торговые классы / CTrade - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Vladimir Karputov :

Ne işe yaramaz? Bu bir ticaret sınıfıdır: BEKLEMEDEKİ SİPARİŞLERİ ayarlar, değiştirir ve siler , POZİSYONLARI açar, değiştirir ve kapatır.

Kesinlikle her şey çalışıyor. Ve her şey, herhangi bir ticaret komutunda tek satırda yazılır.


CTicaret

 //+------------------------------------------------------------------+
//| Delete specified pending order                                   |
//+------------------------------------------------------------------+
bool CTrade::OrderDelete( const ulong ticket)
  {
//--- check stopped
   if ( IsStopped ( __FUNCTION__ ))
       return ( false );
//--- clean
   ClearStructures();
//--- setting request
   m_request.action    = TRADE_ACTION_REMOVE ;
   m_request.magic     =m_magic;
   m_request.order     =ticket;
//--- action and return the result
   return ( OrderSend (m_request,m_result));
  }

Bu yüzden m_request.symbol'un hangi noktada doldurulduğunu anlamıyorum

Neyse tamam sorun çözüldü. Bir kez daha, yardımınız için çok teşekkürler!

 
Mikhail Sergeev :

Bu yüzden m_request.symbol'un hangi noktada doldurulduğunu anlamıyorum

Neyse tamam sorun çözüldü. Bir kez daha, yardımınız için çok teşekkürler!

Hata ayıklayıcıyla CTrade'den geçin ve sembolün nerede kaybolduğunu görün :)