[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 3. - sayfa 214
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
Tünaydın. Sipariş açıldığında çubuk sayısını döndürmesi gereken bir fonksiyon yazdım:
int BarLastOpenPose()
{
tarihsaat t;
(int i=0; i<SiparişToplam(); i++) için
{
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
(OrderSymbol()!=Symbol()) devam ederse;
(OrderType()>1) devam ederse;
if (t<OrderOpenPrice()) t=OrderOpenPrice();
}
}
dönüş (iBarShift(Symbol(),Period(),t,true));
}
Ancak, her zaman -1 döndürür. Nerede hata yaptım? Şimdiden teşekkürler.
Tünaydın. Bir sipariş açıldığında çubuk sayısını döndürmesi gereken bir fonksiyon yazdım:
int BarLastOpenPose()
{
tarihsaat t;
(int i=0; i<SiparişToplam(); i++) için
{
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
(OrderSymbol()!=Symbol()) devam ederse;
(OrderType()>1) devam ederse;
if (t<OrderOpenPrice()) t=OrderOpenPrice();
}
}
dönüş (iBarShift(Symbol(),Period(),t,true));
}
Ancak, her zaman -1 döndürür. Nerede hata yaptım? Şimdiden teşekkürler.
Belki bu yüzden:
dönüş ( iBarShift (Symbol(),Period(),t)); yani gerçek olmadan.
Tünaydın. Bir sipariş açıldığında çubuk sayısını döndürmesi gereken bir fonksiyon yazdım:
int BarLastOpenPose()
{
tarihsaat t;
(int i=0; i<SiparişlerToplam(); i++) için
{
if (Sipariş Seçimi(i,SELECT_BY_POS,MODE_TRADES))
{
(OrderSymbol()!=Symbol()) devam ederse;
(OrderType()>1) devam ederse;
if (t<OrderOpenPrice()) t=OrderOpenPrice();
}
}
dönüş (iBarShift(Symbol(),Period(),t,true));
}
Ancak, her zaman -1 döndürür. Nerede hata yaptım? Şimdiden teşekkürler.
Bir tamsayı olarak bildirilmesine rağmen, t değişkenine açılış fiyatı atanır.
Bir tamsayı olarak bildirilmesine rağmen, t değişkenine açılış fiyatı atanır.
Böyle bir durum nasıl tarif edilir?
Lütfen bana söyle.
Geçerli günün ilk 5 dakikalık çubuğunun ekstremumu (örneğin, yüksek) o günün ekstremumuyla (günlük) çakışıyorsa, o zaman bir şeyler yaparız. Bu nasıl tarif edilir?
iyi insanlara yardım et!!!
Merhaba sevgili kaynak kullanıcıları!
Bir dosyaya gerçek bir sayı okumak / yazmakla karşılaşanlar lütfen yardım edin.
Görev, bakiyeyi dosyadan okumak, mevcut bakiye daha büyükse dosyanın üzerine yazmaktır.
Sorun, her zaman 0 (sıfır) vermesidir.
Tamsayıları yazarken/okurken böyle bir sorun bulamadım.
İşte kod:
çift denge;
int dosya_handle_bala;
file_handle_bala=FileOpen("file_bala.dat",FILE_BIN|FILE_READ);
//-boş bir dosya olması durumunda konumu kopyala - konum = 0
if (FileSize(file_handle_bala)>0)
{
denge=FileReadDouble(file_handle_bala,DOUBLE_VALUE);
uyarı(denge); ------------------------------------- İşte sıfırların gittiği yer orası, yazmam gerekse de daha önce kaydedilen bakiye
FileClose(file_handle_bala);
if (AccountBalance()>balance) ------------------------------ ve herhangi bir nedenle bu kural tetiklenmez çünkü uyarı aşağıda hiçbir şey göstermiyor
{
file_handle_bala=FileOpen("file_bala.dat",FILE_BIN|FILE_WRITE);
bakiye=HesapDenge();
uyarı(denge);
FileWriteInteger(file_handle_bala,denge,DOUBLE_VALUE);
FileClose(file_handle_bala);
}
}
else // dosya boşsa
{
FileClose(file_handle_bala); // önce açık dosyayı kapat
file_handle_bala=FileOpen("file_bala.dat",FILE_BIN|FILE_WRITE); // yazmak için aç
bakiye=HesapDenge();
FileWriteDouble(file_handle_bala,denge,DOUBLE_VALUE);
FileClose(file_handle_bala);
}
Herkese şimdiden çok teşekkürler!!!
Bu satıra dikkat
FileWriteInteger(file_handle_bala,denge,DOUBLE_VALUE);
1. Kodu daha saygılı ve dostça yayınlamak gerekir.
2. 8 baytlık bir tamsayı yazmaya çalışmak. MQL4'te böyle bir veri türü yoktur.
\Neyi yanlış yaptım? Neden bu kadar çok hata var? (Maksimum değeri bulmamız gerekiyor son 10 bar için gösterge değeri). şimdiden teşekkürler.
Hepinize iyi günler!
İlk botumu yazıyorum ve aynı zamanda MQL dili ile tanışıyorum. Test sırasında aşağıdaki sorun oluştu:
OP_BUYSTOP emri verildikten hemen sonra tetiklenir, ancak grafiğe bakılırsa fiyat hedef değere ulaşmıyor (aşağıya bakınız)
USD/JPY,M5 (görsel)
Tarih 2011.09.19
Zaman 02:15
açık 76.903
yüksek 76.909
düşük 76.890
kapat 76.890
Ses 66
Tüm keneleri test ediyorum.
Belki de OP_BUYSTOP siparişini yanlış anlıyorum? Fiyat belli bir değeri aşarsa satın alın, değil mi?
Sipariş veren bir kaynak kod parçası
int bilet=SiparişGönder(Sembre, OP_BUYSTOP, Parti, Fiyat, 0, SL, TP);
\Neyi yanlış yaptım? Neden bu kadar çok hata var? (Maksimum değeri bulmamız gerekiyor son 10 bar için gösterge değeri). şimdiden teşekkürler.
Bir Merhaba işlevi bildirirsiniz:
start() fonksiyonunun içinde