
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
Teşekkür ederim.
'SYMBOL_VOLUME_LIMIT' - bildirilmemiş tanımlayıcı.............
'SymbolInfoDouble' - aşırı yüklerin hiçbiri işlev çağrısına uygulanamaz.............
Sadece bana mı öyle geliyor?
'SYMBOL_VOLUME_LIMIT' - bildirilmemiş tanımlayıcı.............
'SymbolInfoDouble' - aşırı yüklerin hiçbiri işlev çağrısına uygulanamaz.............
Sorun sadece bende mi?
Bunu yapabilir misin?
SeriesInfoInteger() fonksiyonu hakkında bir soru daha.
"AccountInfo..." konusunu oluştururkenBilgi ilişkisi" konusunu oluştururken, "yazılım ortamında önbelleğe alınan" verileri kullanan işlevler olduğunu ve her zaman "gerçek verilere doğrudan erişimi olan" işlevler olduğunu öğrendim.
SeriesInfoInteger() fonksiyonu hangi fonksiyon kategorisine aittir?
CheckVolumeValue işlevinde aşağıdaki kod kullanılır:
int ratio=(int)MathRound(volume/volume_step);
if(MathAbs(ratio*volume_step-volume)>0.0000001)
{
description=StringFormat("Объем не является кратным минимальной градации SYMBOL_VOLUME_STEP=%.2f, ближайший корректный объем %.2f",
volume_step,ratio*volume_step);
return(false);
}
Ancak bu daha doğrudur:
int ratio = (int)MathRound((volume-min_volume)/volume_step);
if (MathAbs(ratio*volume_step+min_volume-volume)>0.0000001)
{
description=StringFormat("Объем не является кратным минимальной градации SYMBOL_VOLUME_STEP=%.2f, ближайший корректный объем %.2f",
volume_step,ratio*volume_step+min_volume);
return(false);
}
Çünkü hacim değişiminin minimum adımı minimum değerden sayılmalıdır.
Ve belki de kod parçacığı
//--- вычислим значение маржи
bool check=OrderCalcMargin(type,Symbol(),lots,last_tick.ask,margin);
ile değiştirilmelidir:
//--- вычислим значение маржи
double price = (type == ORDER_TYPE_BUY || type == ORDER_TYPE_BUY_LIMIT || type == ORDER_TYPE_BUY_STOP || type == ORDER_TYPE_BUY_STOP_LIMIT) ? last_tick.ask : last_tick.bid;
bool check=OrderCalcMargin(type,Symbol(),lots,price,margin);
MQL5'teki değişiklikler nedeniyle, artık bir sembol için izin verilen maksimum toplam hacim aşağıdaki gibi elde edilebilir:
Eski varyantı kullanmayın! Bu şekildeydi:
Makale düzeltilmiş ve yeni Check_Order_And_Volume_Limits.mq5 uzman kodu eklenmiştir.Sayın Yönetici
Bu işlevi kullanmaya çalışıyorum ancak her durumda 0 döndürüyor.
MT5 yapım 2280
double orders_volume_on_symbol=PendingsVolume(symbol);
hata veriyor, böyle bir işlev yok
Ve fonksiyonu bekleyen emirleri içermeyecek şekilde değiştirdikten sonra, 0 veriyor
Bunun nedeni max_volume'un 0 ve opened_volume'un 0 olmasıdır;
Açılmış pozisyon yoksa maksimum hacim neden 0?
Yapı 2715