1 Satır 7, satır 1'den yüksekse, satır 1 satır 6'dan daha yüksekse, 2 o zaman 3'te, Lot_Typ hacmiyle, kapanış fiyatında SL ve TP olmadan 5 piplik olası bir kayma olan bir satın alma emri açılır.
1 Bu hesabın potansiyel karı 50 dolardan fazla ise, 2 o zaman 3, sahip oldukları özelliklere (hacim, alım/satım, ...) bakılmaksızın tüm siparişleri kapatır.
Mantıksal zincir doğru bir şekilde oluşturulmuştur, ancak mantıksal zincirdeki kod değildir.
OrderClose ( Symbol (), 5 , Ask , 0 );
Hata burada yatıyor. Yukarıdaki koda göre mantıksal bir zincir oluşturursak, şunu elde ederiz: Kapanış fiyatı ve olası 0 piplik bir kayma ile 5 lotluk bir emrin kapatılması.
1 Satır 7, satır 1'den yüksekse, satır 1 satır 6'dan daha yüksekse, 2 o zaman 3'te, Lot_Typ hacmiyle, kapanış fiyatında SL ve TP olmadan 5 piplik olası bir kayma olan bir satın alma emri açılır.
1 Bu hesabın potansiyel karı 50 dolardan fazla ise, 2 o zaman 3, sahip oldukları özelliklere (hacim, alım/satım, ...) bakılmaksızın tüm siparişleri kapatır.
Mantıksal zincir doğru bir şekilde oluşturulmuştur, ancak mantıksal zincirdeki kod değildir.
Hata burada yatıyor. Yukarıdaki koda göre mantıksal bir zincir oluşturursak, şunu elde ederiz: Kapanış fiyatı ve olası 0 piplik bir kayma ile 5 lotluk bir emrin kapatılması.
Nasıl düzeltilir? Tavsiye lütfen.
Sevgili, Belgeleri dikkatlice okuyun,
özellikle
bool SiparişKapat (
int bilet, çift lot, çift fiyat, int kayma, renk Renk=CLR_NONE)
Bir pozisyonu kapatmak. İşlev başarıyla tamamlandığında TRUE döndürür. İşlev başarısız olduğunda YANLIŞ döndürür. Bir hata hakkında bilgi almak için GetLastError() işlevini çağırmanız gerekir.
Seçenekler:
bilet
-
Siparişin benzersiz seri numarası.
çok
-
Kapatılacak lot sayısı.
fiyat
-
Kapanış fiyatı.
kayma sayfası
-
Puan cinsinden maksimum kaymanın değeri.
renk
-
Grafikteki kapat okunun rengi. Parametre yoksa veya değeri CLR_NONE'a eşitse, ok grafikte görüntülenmez.
int bilet, çift lot, çift fiyat, int kayma, renk Renk=CLR_NONE)
Bir pozisyonu kapatmak. İşlev başarıyla tamamlandığında TRUE döndürür. İşlev başarısız olduğunda YANLIŞ döndürür. Bir hata hakkında bilgi almak için GetLastError() işlevini çağırmanız gerekir.
Seçenekler:
bilet
-
Siparişin benzersiz seri numarası.
çok
-
Kapatılacak lot sayısı.
fiyat
-
Kapanış fiyatı.
kayma sayfası
-
Puan cinsinden maksimum kaymanın değeri.
renk
-
Grafikteki kapat okunun rengi. Parametre yoksa veya değeri CLR_NONE'a eşitse, ok grafikte görüntülenmez.
Misal:
Bütün bunlar biliyorum. Özellikleri ne olursa olsun tüm siparişlerin kapanması için nasıl yapılır?
x sayısını ve ondan istenen y yüzdesini iletiyoruz, çıktıda x sayısının y yüzdesini alıyoruz
neye ihtiyacın var, çok teşekkür ederim ... her şeyin ne kadar kolay olduğu ortaya çıktı, ama lanet olası yarım gün kafamı kırıyorum !! tekrar teşekkürler!
Örneğimde: rastgele sipariş numarası, hacim - 5, kapanış fiyatı , kayma 0, ok yok. Dokümantasyon örneğinde: sipariş numarasının order_id, hacim 1, kapanış fiyatına göre hesaplanması, kayma 3 ile ok kırmızıdır.
1 sipariş numarası hesaplaması var - sipariş numarası hesaplaması yok 2 cilt (1) - cilt (5) 3 kayma (3) - kayma (0) 4 kırmızı ok - ok yok
Farklılıklar bulundu. Şimdi göreve dönelim.
Görev 1 İstisnasız tüm açık siparişleri kapatacak bir kod yazın.
Benim mantığım. Böyle bir kod yazmak mümkündür, ancak soru ortaya çıkar: "Nasıl?". 1 - tüm açık siparişleri (toplam hacim, sipariş küme numarası, alış/satış, izin verilen kayma) izleyen bir kod oluşturulur. 2 - Siparişleri açan ve tüm bu siparişleri izleyen koda veri gönderen bir kod oluşturulur (bir çeşit veri tabanı oluşturulur). 3 - Belirli koşullar altında tüm siparişleri kapatan ve yalnızca "özel bir veritabanından" kullanılmayan verileri alan bir kod oluşturulur. Veriler yeniden kullanılmaz.
Bunu yapabilirsiniz, ancak bence daha az hantal bir seçenek daha var. Bu yüzden soruyorum: "Nasıl?".
insanlar lütfen bana MQL4'te yüzdeleri nasıl hesaplayacağımı söyleyin
örneğin x=10+3% programlı olarak nasıl yazılır?
Kılavuzda hiçbir şey bulamıyorum.
x=10*1.03
x=10*1.03
TAMAM! ama onları her seferinde yeniden hesaplamayacağım, yüzdeleri hesaplayan bir fonksiyona ihtiyacım var
y=3; // chilo her tik ile sürekli değişir
x=10+yP; // P yerine yüzdelere ihtiyacımız var. ama onları mql olarak yazamıyorum
1 Satır 7, satır 1'den yüksekse, satır 1 satır 6'dan daha yüksekse,
2 o zaman
3'te, Lot_Typ hacmiyle, kapanış fiyatında SL ve TP olmadan 5 piplik olası bir kayma olan bir satın alma emri açılır.
1 Bu hesabın potansiyel karı 50 dolardan fazla ise,
2 o zaman
3, sahip oldukları özelliklere (hacim, alım/satım, ...) bakılmaksızın tüm siparişleri kapatır.
Mantıksal zincir doğru bir şekilde oluşturulmuştur, ancak mantıksal zincirdeki kod değildir.
Hata burada yatıyor.
Yukarıdaki koda göre mantıksal bir zincir oluşturursak, şunu elde ederiz:
Kapanış fiyatı ve olası 0 piplik bir kayma ile 5 lotluk bir emrin kapatılması.
Nasıl düzeltilir? Tavsiye lütfen.
TAMAM! ama onları her seferinde yeniden hesaplamayacağım, yüzdeleri hesaplayan bir fonksiyona ihtiyacım var
y=3; // chilo her tikte değişmeye devam ediyor
x=10+yP; // P yerine yüzdelere ihtiyacımız var . ama onları mql olarak yazamıyorum
TAMAM! ama onları her seferinde yeniden hesaplamayacağım, yüzdeleri hesaplayan bir fonksiyona ihtiyacım var
y=3; // chilo her tikte değişmeye devam ediyor
x=10+yP; // P yerine yüzdelere ihtiyacımız var. ama onları mql olarak yazamıyorum
x - sayı, y - istenen yüzde
x sayısını ve ondan gereken y yüzdesini iletiyoruz, çıktıda x sayısının y yüzdesini alıyoruz
Mantıksal kod zinciri:
1 Satır 7, satır 1'den yüksekse, satır 1 satır 6'dan daha yüksekse,
2 o zaman
3'te, Lot_Typ hacmiyle, kapanış fiyatında SL ve TP olmadan 5 piplik olası bir kayma olan bir satın alma emri açılır.
1 Bu hesabın potansiyel karı 50 dolardan fazla ise,
2 o zaman
3, sahip oldukları özelliklere (hacim, alım/satım, ...) bakılmaksızın tüm siparişleri kapatır.
Mantıksal zincir doğru bir şekilde oluşturulmuştur, ancak mantıksal zincirdeki kod değildir.
Hata burada yatıyor.
Yukarıdaki koda göre mantıksal bir zincir oluşturursak, şunu elde ederiz:
Kapanış fiyatı ve olası 0 piplik bir kayma ile 5 lotluk bir emrin kapatılması.
Nasıl düzeltilir? Tavsiye lütfen.
Sevgili, Belgeleri dikkatlice okuyun,
özellikle
if(iRSI(NULL,0,14,PRICE_CLOSE,0)>75) { OrderClose(order_id,1,Sor,3,Kırmızı); dönüş(0); }Sevgili, Belgeleri dikkatlice okuyun,
özellikle
Özellikleri ne olursa olsun tüm siparişlerin kapanması için nasıl yapılır?
Bütün bunlar biliyorum.
Özellikleri ne olursa olsun tüm siparişlerin kapanması için nasıl yapılır?
Bilirsin, aferin
x - sayı, y - istenen yüzde
x sayısını ve ondan istenen y yüzdesini iletiyoruz, çıktıda x sayısının y yüzdesini alıyoruz
neye ihtiyacın var, çok teşekkür ederim ... her şeyin ne kadar kolay olduğu ortaya çıktı, ama lanet olası yarım gün kafamı kırıyorum !! tekrar teşekkürler!
Bilirsin, aferin
Örneğimde: rastgele sipariş numarası, hacim - 5, kapanış fiyatı , kayma 0, ok yok.
Dokümantasyon örneğinde: sipariş numarasının order_id, hacim 1, kapanış fiyatına göre hesaplanması, kayma 3 ile ok kırmızıdır.
1 sipariş numarası hesaplaması var - sipariş numarası hesaplaması yok
2 cilt (1) - cilt (5)
3 kayma (3) - kayma (0)
4 kırmızı ok - ok yok
Farklılıklar bulundu.
Şimdi göreve dönelim.
Görev 1
İstisnasız tüm açık siparişleri kapatacak bir kod yazın.
Benim mantığım.
Böyle bir kod yazmak mümkündür, ancak soru ortaya çıkar: "Nasıl?".
1 - tüm açık siparişleri (toplam hacim, sipariş küme numarası, alış/satış, izin verilen kayma) izleyen bir kod oluşturulur.
2 - Siparişleri açan ve tüm bu siparişleri izleyen koda veri gönderen bir kod oluşturulur (bir çeşit veri tabanı oluşturulur).
3 - Belirli koşullar altında tüm siparişleri kapatan ve yalnızca "özel bir veritabanından" kullanılmayan verileri alan bir kod oluşturulur.
Veriler yeniden kullanılmaz.
Bunu yapabilirsiniz, ancak bence daha az hantal bir seçenek daha var.
Bu yüzden soruyorum: "Nasıl?".