Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 1428
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
Alexei Viktorov bir züppe, ama hemen anladı. 😆
Vitaly, bir insanı tanımıyorsun ama şimdiden onu yargılamaya çalışıyorsun. Bu çok yanlış. Her insanın kendi prensipleri vardır. Bu kadar, hikayenin sonu!
Saygılarımla, Vladimir.
Görevi doğru tanımlamıyorsunuz! "Her 20 saniyede bir" değil, her saniye bir süre önce geçmiş olan değerleri kontrol etmektir. "Neden" sorusuna gelince - bu, bu tartışma için bir soru değil. (Ve 20 saniye sadece bir örnektir).
İlk mumun ikinci mumla karşılaştırıldığı hareketli bir ortalama gibi. Sadece mevcut (sıfır) dakikalık mumun içindeki her şeyi hesaplamam gerekiyor. (Veya daha da iyisi - bir çizgi grafikte. Sonuçta, 20 saniye ilk muma akabilir).
Algoritmanızı yanlış, yani hatalı tanımladınız ve bu, herkes tarafından net bir şekilde anlaşılmadığı gerçeğinden kaynaklanıyor. Biri bu şekilde anladı, yanlış olduğu ortaya çıktı, diğeri farklı anladı, size göre doğru olduğu ortaya çıktı. Bu, algoritmanın yanlış ve açık olmayan bir tanımının bir sonucudur. Bu arada, tikleri kopyalayan böyle bir kod 4k'da çalışmayacaktır. 4ka tikleri ezberlemez, bunları kendiniz ezberlemeniz gerekir.)))))
Tüm bu saçmalıkları okumaktan o kadar sıkıldım ki... Sonuçta kod sadece DÖRT satır ve tartışmalar 3 sayfa uzunluğunda.
20.000 milisaniye 20 saniyedir.
Ardından, delta değişkeninin boyutuna bir koşul koyun daha fazla/küçük, sol/sağ veya kuzey/yuh....
Acımasız kod) Her tikte kopyalayın))))))
...
bu kod kopyalama tikleriyle 4k'da çalışmayacaktır.
...
Konunun başlığını okuyun.
Konunun başlığını okuyun.
))))) tartışamazsınız)
Merhabalar, Uzman Danışman'da açık pozisyonları kontrol etmek için bir kod yazıyorum.
#include <Trade\PositionInfo.mqh>
#include <Trade\Trade.mqh>
#include <Trade\SymbolInfo.mqh>
#include <Trade\AccountInfo.mqh>
#include <Trade\DealInfo.mqh>
#include <Trade\OrderInfo.mqh>
CPositionInfo m_position; // trade position object
CTrade m_trade; // trading object
CSymbolInfo m_symbol; // symbol info object
CAccountInfo m_account; // account info wrapper
CDealInfo m_deal; // deals object
COrderInfo m_order; // pending orders object
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
bool ExistBuy(long magic_number)
{
for (int i = PositionsTotal() - 1; i >= 0; i--)
{
if (m_position.SelectByIndex(i))
{
if (m_position.PositionType() == POSITION_TYPE_BUY && m_position.Magic() == magic_number && m_position.Symbol() == Symbol())
{
return (true);
}
}
}
return (false);
}
Aynı kod satış pozisyonları için de mevcuttur. Her şey çalışıyor. Ancak bir komisyoncu var (belki biraz daha fazlası var) kontrole rağmen gerçek bir hesapta yinelenen pozisyonlar açabilir. Ve bunu her zaman yapmıyor. Yani, hata (çift pozisyon açma) test cihazında yakalanmıyor - orada her şey yolunda, gerçek hesapta yakalanıyor, ancak her zaman değil.
Neler oluyor? Neden böyle oluyor?
Aynı kod satış pozisyonları için de kullanılabilir. Her şey çalışıyor. Ancak bir komisyoncu var (belki biraz daha fazlası var), kontrole rağmen gerçek bir hesapta yinelenen pozisyonlar açabiliyor. Ve bunu her zaman yapmıyor. Yani, hata (çift pozisyon açma) test cihazında yakalanmıyor - orada her şey yolunda, gerçek hesapta yakalanıyor, ancak her zaman değil.
Neler oluyor? Neden böyle oluyor?
Merhaba! Uzun ve/veya kısa pozisyon açmak için koşullarınız nelerdir? Zaten açık bir AL ve/veya SAT pozisyonu olup olmadığını kontrol ediyor musunuz?
Saygılarımla, Vladimir.
Merhaba! Uzun ve/veya kısa pozisyon açmak için koşullarınız nelerdir? Orada zaten açık bir AL ve/veya SAT pozisyonu olup olmadığını kontrol ediyor musunuz?
Saygılarımla, Vladimir.
Bu, "Nasıl yazılmaması gerektiğini" gösteren bir koddur...