[ARŞİV!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 4. - sayfa 622
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret 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
Başka bir teorik soru.
Expert Advisor'da tanımlandıklarında değişkenler sıfır değerine sahiptir. EA'nın bir hafta çalıştığını, değişkenlerin değerlerini değiştirdiğini ve şimdi EA kodunda değişiklik yapmam gerektiğini varsayalım. Değişiklikler yapıyorum, yeniden derliyorum, ticarete başlıyorum. Soru şu: global değişkenler hangi değerlere sahip olacak? Sıfır mı yoksa derlemeden öncekiler mi?
İşlevleri kullanırken, derlemeden öncekiler. değerlerini değiştirmek için terminaldeki servis sekmesine gitmeniz gerekir.Orada, global değişkenler sekmesine gidin ve değişkenlerin değerlerini ihtiyacınız olanlarla manuel olarak değiştirin (0)
rigonik
Harika! Sonunda ihtiyacım olanı aldım!
Hepinize ve hatta Taras'a teşekkürler! )))
MİSTİK!!!
Bugün nasılsın?
-------------------------------------------------- ----------------------------
pp_sell=(-(FiyatOpenLastClosePos()-PriceCloseLastPos())*100000); // EUR para birimleri için
print(pp_sell);
-------------------------------------------------- ----------------------------------
Son SATIŞ anlaşmasının karı 10 olduğundan, beklendiği gibi -10 yazdırılır
AMA BASKI VE değişkenler ARASINDA DEĞİŞMEYEN BAZI KOŞULLAR EDERSENİZ, örneğin bunun gibi
-------------------------------------------------- --------------------------
pp_sell=(-(FiyatOpenLastClosePos()-PriceCloseLastPos())*100000); // EUR para birimleri için
if ( Hour()>=10 && Hour()<20)
{
if (Stoch_1>Stoch_2) return(0);
başka {
if ( OrdersTotal()==0 )
{ PlaySound("ok.wav");
if ( GetTypeLastClosePos()==1) Yazdır (pp_sell);
}
Yazdır("___");
}
}
dönüş(0);
}
-------------------------------------------------- ----------------------------------
o zaman her şey çalışır, ancak -9 yazdırır !!!!
sır ne?
evet bu anı çok iyi biliyorum...
lütfen tarihin son anlaşmasının bileti için bir istek içeren bir parça yazın ... ve ben mantığını ondan yakalayacağım ...
MİSTİK!!!
Bugün nasılsın?
-------------------------------------------------- ----------------------------
pp_sell=(-(FiyatOpenLastClosePos()-PriceCloseLastPos())*100000); // EUR para birimleri için
print(pp_sell);
-------------------------------------------------- ----------------------------------
Olması gerektiği gibi -10 yazdırır, çünkü son SATIŞ işleminin karı 10
AMA BASKI VE değişkenler ARASINDA DEĞİŞMEYEN BAZI KOŞULLAR EDERSENİZ, örneğin bunun gibi
-------------------------------------------------- --------------------------
pp_sell=(-(FiyatOpenLastClosePos()-PriceCloseLastPos())*100000); // EUR para birimleri için
if ( Hour()>=10 && Hour()<20)
{
if (Stoch_1>Stoch_2) return(0);
başka {
if (OrdersTotal()==0)
{ PlaySound("ok.wav");
if ( GetTypeLastClosePos()==1) Yazdır (pp_sell);
}
Yazdır("___");
}
}
dönüş(0);
}
-------------------------------------------------- ----------------------------------
o zaman her şey çalışır, ancak -9 yazdırır !!!!
sır ne?
Normalleştirilmemiş çiftlerle çalışıyorsunuz. bu gibi durumlarda, hesaplama hataları birikir ve sonunda önemli hale gelebilir. HİÇBİR ŞEYİ DEĞİŞTİRMEYEN KOŞULLAR girdiğinizi düşündüğünüz için aslında bilgisayarı gereksiz hesaplamalar yapmaya zorluyorsunuz ve koşullarınız HİÇBİR ŞEY DEĞİŞMEZ .
Ve PriceOpenLastClosePos() ve PriceCloseLastPos() işlevlerinin aynı konum için değerler döndürdüğünden emin misiniz?
{
if(OrderCloseTime()>time) ile başlayarak... o zaman neyin geldiği belli değil... ama neyse...
bir bilet yazdırır, ancak yalnızca sonuncusu. Ve sondan bir önceki ile ne yapmalı? İkinci biletin bundan nasıl çıktığını anlamıyorum?
ilk önce Print LastClosetPoz() yazıyorum
2. (i) al? OrderSelect(2,SELECT_BY_POS,MODE_HISTORY)....??
LastClosetPoz(2) yazdır ?? açıkçası bir hata, ama mantıklı olurdu :)))
Ticket=OrderTicket(); satırında OrderTicket yerine deniyorum. kapatılan anlaşmanın diğer parametrelerini koyun ( tei ayağının kapanışını açma fiyatı ) - vermez. baskı birimi
Normalleştirilmemiş çiftlerle çalışıyorsunuz. bu gibi durumlarda, hesaplama hataları birikir ve sonunda önemli hale gelebilir. HİÇBİR ŞEYİ DEĞİŞTİRMEYEN KOŞULLAR girdiğinizi düşündüğünüz için aslında bilgisayarı gereksiz hesaplamalar yapmaya zorluyorsunuz ve koşullarınız HİÇBİR ŞEY DEĞİŞMEZ .
Bir bilgisayarın %10'luk hatayı 4 satırda toplaması şişman değil mi??? :))))))))))) (büyük sayılarda - %10'dan az)
1) kapalı düzen sabitse ve tüm parametreleri "yüzmez"se kaydedilecek ne var?
2) koşulların, çıktı parametresinin hesaplanmasıyla hiçbir ilgisi yoktu. Onlar sadece bir engeldi - içeri girmesine izin ver, içeri girmesine izin verme ...
3) ve o zaman neden sonuç bir danışmanın çalışması içinde değil de birinden diğerine kayar?
if(OrderCloseTime()>time) ile başlayarak... o zaman neyin geldiği belli değil... ama neyse...
bir bilet yazdırır, ancak yalnızca sonuncusu. Ve sondan bir önceki ile ne yapmalı? İkinci bilet takip edildiğinde bunun nasıl olduğunu anlamıyorum?
2. (i) al? OrderSelect(2,SELECT_BY_POS,MODE_HISTORY)....??
1. Lütfen tarihten son anlaşmanın bileti için bir istek içeren bir parça yazın.. --Sorunuz.
2. Sondan bir önceki olanı bulmak için, sonuncunun biletini hatırlamanız (örneğin, bir değişkende, diyelim ki A), döngüyü tekrar çalıştırmanız ve bu sırayı "atlamanız" gerekir. çizgi
if(OrderSymbol()==Symbol()) öğesini if(OrderSymbol()==Symbol()&& OrderTicket()!=A ) öğesine ekleyin veya if( Ticket()!=A)continue;
Piyasa ve bekleyen emirler birlikte dikkate alındığından ve ikincisinin bir kapanış fiyatı olmadığından, emrin endeksinin her zaman kapatıldığı ile eşleşmeyeceğini zaten açıkladım. kapalı sipariş, tüm siparişler arasında döngü yapılır ve en uzun kapanış süresine sahip sipariş aranır, yani, son kapatılanın bir indeksi olabilir, örneğin, 3 ve sondan bir önceki - 7.