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
Bir molaya ihtiyacınız olduğunda durum böyle değilsiniz.
Küresel olarak 2 yol vardır:
1) ortamın analizi (işlemlerin geçmişini emmek, açık bir pozisyonu veya pozisyon hacmini kontrol etmek);
2) işlemlerin analizi.
Birincisi daha yavaş. Ama daha güvenilir. Uzlaşmaya ihtiyacımız var. Muhtemelen burada stratejiye bakmanız ve ondan dans etmeniz gerekiyor ...
Evet, FORTS'ta tam teşekküllü bir sipariş defteri var, bu yüzden kenelerle değil, BookEvent olayı ile çalışmanız gerekiyor.
Vasily Sokolov'un konuyla ilgili konuşmaması garip. İlginç bir bakış açısı...
Genel olarak, IMHO, sonuç budur.
Küresel olarak 2 yol vardır:
1) ortamın analizi (işlemlerin geçmişini emmek, açık bir pozisyonu veya pozisyon hacmini kontrol etmek);
2) işlemlerin analizi.
Birincisi daha yavaş. Ama daha güvenilir. Uzlaşmaya ihtiyacımız var. Muhtemelen burada stratejiye bakmanız ve ondan dans etmeniz gerekiyor ...
Evet, FORTS'ta tam teşekküllü bir sipariş defteri var, bu yüzden kenelerle değil, BookEvent olayı ile çalışmanız gerekiyor.
Vasily Sokolov'un konuyla ilgili konuşmaması garip. İlginç bir bakış açısı...
Genel olarak, IMHO, sonuç budur.
Küresel olarak 2 yol vardır:
1) ortamın analizi (işlemlerin geçmişini emmek, açık bir pozisyonu veya pozisyon hacmini kontrol etmek);
2) işlemlerin analizi.
Birincisi daha yavaş. Ama daha güvenilir. Uzlaşmaya ihtiyacımız var. Muhtemelen burada stratejiye bakmanız ve ondan dans etmeniz gerekiyor ...
Evet, FORTS'ta tam teşekküllü bir sipariş defteri var, bu yüzden kenelerle değil, BookEvent olayı ile çalışmanız gerekiyor.
Vasily Sokolov'un konuyla ilgili konuşmaması garip. İlginç bir bakış açısı...
onlar. stratejinizi tamamen oraya taşımak mı?
Bir keresinde bu sipariş üzerinde çalıştım, CiOnTrade sınıfını yazdım:
Yani, bulduğum en uygun çözüm durumları işlemekti. Ve çok fazla vardı:
{
TRADE_STATE_NONE= 0 , // "ничего"
TRADE_STATE_ORDERS= 1 , // "только ордера"
TRADE_STATE_POSITION= 2 , // "только позиция"
TRADE_STATE_ALL= 3 , // "все"
};
2) "Yalnızca siparişler" - bu, siparişlerin verildiği durumdur.
3) "Yalnızca pozisyon", emirlerin tamamen doldurulduğu durumdur.
4) "Tümü" - bu, emirlerin tam olarak yerine getirilmediği ve piyasada zaten bir pozisyon olduğu durumdur.
Burada her bir durumun işlenmesi gerekiyordu... evet bu arada ara durumlar da olduğunu kabul ediyorum. Böylece sınıfım geliştirilebilir.
Ve bu arada, soru ortaya çıktı, BookEvent olayını bir Tick veya Timer ile aynı şekilde kullanabilir misiniz?
onlar. stratejinizi tamamen oraya taşımak mı?
Yani evet! Ancak sipariş defterinin olayları daha sık oluşturduğunu unutmayın. Bu nedenle, gereksiz olanları filtrelemek için bazı filtrelere ihtiyaç vardır. Örneğin fiyatlar değişmedi, sadece bazı uygulamaların hacimleri değişti...
Genel olarak, IMHO, sonuç budur.
Küresel olarak 2 yol vardır:
1) ortamın analizi (işlemlerin geçmişini emmek, açık bir pozisyonu veya pozisyon hacmini kontrol etmek);
2) işlemlerin analizi.
Birincisi daha yavaştır . Ama daha güvenilir. Uzlaşmaya ihtiyacımız var. Muhtemelen burada stratejiye bakmanız ve ondan dans etmeniz gerekiyor ...
Anlaşmayla ilgili bilgilerin henüz ulaşmadığını varsayıyorum. Burada ( kırmızı ile vurgulanmıştır) Şansa güveniyorsunuz. Ve o kaprisli bir bayan :-))
{
MqlTradeRequest Request;
MqlTradeResult Results;
ZeroMemory (Request);
ZeroMemory (Results);
Request.price= SymbolInfoDouble ( _Symbol , SYMBOL_BID );
Request.action= TRADE_ACTION_DEAL ;
Request.type= ORDER_TYPE_SELL ;
Request.symbol=symbol;
Request.volume=volume;
Request.deviation=deviation;
Request.comment=comment;
Request.type_filling=filling;
bool res= false ;
res= OrderSend (Request,Results);
if (res)
{
if (Results.deal> 0 ) return ( true );
else return ( false );
}
return ( false );
}
ORDER_STATE_FILLED ile bile, Results.order sorunlu olabilir - Results.deal null. FXOpen-MT5 sunucusunda bu durumun %100 yeniden üretilmesi sağlanır.
Farklı sunucularda bir çok demo açmanızı ve koddan tam performans almanızı tavsiye ederim. MT4 İncil için yaptığım şey buydu. Bu nedenle konu ile ilgili herhangi bir problem bulunmamaktadır.
OrderSend+Sleep(0) seçeneği, OrderSend+OnTradeTransaction'dan daha yavaş değildir. Ölçülü. Bu nedenle, asenkron işlemler için değil ikinci seçeneği kullanmıyorum.
OrderSend+Sleep (0) seçeneği geçicidir, çünkü bu geliştiricilerin bir eksikliğidir (örnek olarak taklit etmeyin :)).
Kod düzeltilecek, sadece OrderSend kalacak