Hatalar, hatalar, sorular - sayfa 2829

 
Yeni standart özellikler.
 int OrderExist( const string symbol, ENUM_ORDER_TYPE type, ulong magic, ulong &tickets[] );

int PositionExist( const string symbol, ENUM_POSITION_TYPE type, ulong magic, ulong &tickets[] );
 

Selamlar. Lütfen tavsiyede bulunun veya nereye gideceğinize dair bir bağlantı sağlayın.

VPS WinServer 2012 R2, MT4 başlar, bir noktada kaldırır, yeniden başlatmanız gerekir.

Nereye bakılır vs...

Şimdiden teşekkür ederim.

 

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

Mql5 dilinin özellikleri, incelikleri ve çalışma yöntemleri

fxsaber , 2020.08.20 18:52

RannForex-Server demo hesabında aşağıdaki kod ile bu Expert Advisor'ı çalıştırırsanız hemen bu durumu yeniden oluşturabilirsiniz.

 // Воспроизведение ситуации наличия позиции и отложенного ордера с одинаковыми тикетами.

#define Ask SymbolInfoDouble ( _Symbol , SYMBOL_ASK )

MqlTradeResult Result = { 0 };
MqlTradeRequest Request = { 0 };

int OnInit ()
{

        Request.action = TRADE_ACTION_PENDING ;
        Request.symbol = _Symbol ;
        Request.volume = 100 ;
        Request.price = Ask;
        Request.type = ORDER_TYPE_BUY_LIMIT ;
        
         return (! OrderSend (Request, Result)); // Выставили лимитник по текущей цене.
}

#define TOSTRING(A) #A + " = " + DoubleToString (A, _Digits )

void OnTradeTransaction ( const MqlTradeTransaction &, const MqlTradeRequest &, const MqlTradeResult & )
{
   if ( OrderSelect (Result.order) && ( OrderGetInteger ( ORDER_STATE ) == ORDER_STATE_PARTIAL )) // Если наш лимитник исполнился частично
  {
     if (Ask - OrderGetDouble ( ORDER_PRICE_OPEN ) < 100 * _Point )                             // и находится близко от текущей цены
    {
        Request.action = TRADE_ACTION_MODIFY ;
        Request.order = Result.order;
        Request.price = Ask - 1000 * _Point ;

       // тогда передвигаем его подальше.
       if ( OrderSend (Request, Result)) // Если синхронный OrderSend выполнился успешно, то торговое окружение должно соответствовать.
      {
         // Проверка соответствия торгового окружения.
         if ( OrderSelect (Request.order) &&                                                                 // Если получилось взять данные нашего ордера
             NormalizeDouble ( OrderGetDouble ( ORDER_PRICE_OPEN ) - Request.price, _Digits ))                   // и цена ордера не равна цене успешного OrderSend
           Alert ( "Bug:" + TOSTRING( OrderGetDouble ( ORDER_PRICE_OPEN )) + " != " + TOSTRING(Request.price)); // сообщаем о баге MT5.
      }
    }
     else
       ExpertRemove ();
  }     
}


Yol boyunca, komut dosyası (her zaman ilk kez değil) eşzamanlı bir OrderSend'in yürütülmesinde bir hata gösterir.

 Alert : Bug: OrderGetDouble ( ORDER_PRICE_OPEN ) = 0.89837 != Request.price = 0.88837

OrderSend'i birkaç on/yüz milisaniye boyunca yürüttükten sonra, sipariş fiyatı eskidir ve OrderSend'in başarıyla yerleştirdiği fiyat değildir.

 

aramaya gönder - kendim bulamadım

SQLite'da bir tabloda birden çok alana sahip benzersiz satırlar nasıl elde edilir ?

Not: Birisi bir örnek verebilirse - şimdiden teşekkürler!

 

"Forum" sekmesini başlık listesinin en üstüne taşıma fikri kimden çıktı?

Kötü fikir, kimseye söyleme.

 
Veritabanındaki kodların vurgulanması bir haftadan uzun süredir çalışmıyor, ekleri değiştirmek de bir hata
 
Igor Makanu :

aramaya gönder - kendim bulamadım

SQLite'da bir tabloda birden çok alana sahip benzersiz satırlar nasıl elde edilir?

Not: Birisi bir örnek verebilirse - şimdiden teşekkürler!

Birkaç alan için benzersiz bir anahtar oluşturun (aynı zamanda, mevcut verilere sahip satırlar, oluşturulan benzersizlikle eşleşmelidir, aksi takdirde bir hata oluşur).

ALTER TABLE `t1` ADD UNIQUE (
`id` ,
`name` ,
`account`
);
 
Andrey Khatimlianskii :

Birkaç alan için benzersiz bir anahtar oluşturun (aynı zamanda, mevcut verilere sahip satırlar, oluşturulan benzersizlikle eşleşmelidir, aksi takdirde bir hata oluşur).

Tamam deneyeceğim ama muhtemelen SQL üzerine bir kitap okumam gerekecek, yeterli bilgim yok

teşekkür etmek!

 
Andrey Dik :

"Forum" sekmesini başlık listesinin en üstüne taşıma fikri kimden çıktı?

Kötü fikir, kimseye söyleme.

Kabul ediyorum.

 
Andrey Dik :

"Forum" sekmesini başlık listesinin en üstüne taşıma fikri kimden çıktı?

Kötü fikir, kimseye söyleme.

Sorun ne? reflekslerde mi?

Ama yine de "Forum" u "Belgeler" den daha sık tıklıyoruz - en azından sitede ...