[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 5. - sayfa 292
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
Merhaba.
Lütfen neyi yanlış yaptığımı anlamama yardım et.
Koşullu: Sor = 1.3000
PriceAsk = 1.3055 (Adım=50 ve Srpead=3 dahil)
boolSipariş=1,
if (Ask-PriceAsk+Step-Spread<=0 && BuyOrder== 0 ) bu koşul neden doğru kabul ediliyor?if ifadesinden hemen önce, koşulda bulunan tüm değişkenlerin değerlerini günlüğe kaydedin
if ifadesinden hemen önce, koşulda bulunan tüm değişkenlerin değerlerini günlüğe kaydedin
Kontrol edin, teşekkürler)
Ve şimdi sonuç
Nasıl çalıştığını anlamak istiyorum. Bu yüzden sordu.
GaryKa :
if ifadesinden hemen önce, koşulda bulunan tüm değişkenlerin değerlerini günlüğe kaydedin
ed3ss :
Kontrol edin, teşekkürler)
Teşekkürler, programda mantıksal bir hata buldum, şimdi her şey çalışıyor.
Merhaba.
Mevcut enstrüman Açık siparişlerin Kar/Zararı için grafikte bir yazıyı nasıl görüntüleyebilirim.
Bir Expert Advisor'da pozisyonların açılıp açılmadığını (terminali açıp kapatarak) kontrol etmek ve terminali kapatmadan önce son lot hacmini almak zordur.
Teşekkür ederim.
Bu fonksiyonla yeni karşılaştım:
Nasıl çalıştığını anlamak istiyorum. Bu yüzden sordu.Eğer yanılıyorsam, özür dilerim. MathLog(x), ln(x)'dir (doğal logaritma). Başka bir tabana dönüştürme formülü log_a(b)=ln(b)/ln(a) şeklindedir, bu durumda ln(x)/ln(10)=lg(x) ( ondalık logaritma ) elde ederiz. 10 tabanlı logaritmanın lg(1...9) tamsayı kısmı 0, lg(10...99) 1, lg(100...999) 2, lg(1000...9999) ise 3 ve benzeri, yani. birden büyük bir sayının logaritmasının değeri, bu sayıdaki basamak sayısından (ondalık noktadan önce, sonra saymayın) eksi bire eşittir. x 0 ile bir arasındaysa, lg(0.1...0.9)'un tamsayı kısmı -1, lg(0.01...0.09) -2, lg(0.001...0.009) -3'e eşittir ve böylece üzerinde, yani eksiye bakmazsanız, 0'dan bire kadar olan sayının ondalık logaritması, ilk anlamlı basamağa kadar olan toplam sıfır sayısına eşittir. MathCeil'in nasıl çalıştığını bilmiyorum, ancak bir sayının tamsayı kısmını döndürürse, o zaman teoride bu işlev, sayı 1'den büyükse, ondalık basamağa kadar olan sayıdaki basamak sayısını eksi bir döndürür ve sayı 0'dan bire kadar ise ilk anlamlı basamağa kadar sayıdaki sıfır sayısı. Bu işlevin minimumu 1...9'a eşit x aralığındadır. Ayrıca, 10...99 ve 0.1...0.9'da fonksiyon 1'e, 100...999'da ve 0.01...0.09'da 2'ye eşittir ve bu böyle devam eder. Teoride...
İyi günler, programda bir tür söve var, zaten kafamı kırdım, neyin yanlış olduğunu parmağınla dürt. Sadece modifi koşulunun neden çalışmadığını bilmek istiyorum. Koşul doğru olmasa bile yine de yerine getirilir ve buna göre değişiklik sırasında 1 veya 130 hata açılır, hepinize teşekkür ederim.
//----------------------TP için siparişleri değiştirme--------
for (i = OrdersTotal() - 1; i >= 0; i--) {
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol() || OrderMagicNumber() != Magic) devam ediyor;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) {
if (OrderType() == OP_BUY) {
if (OrderTakeProfit() == 0 || OrderTakeProfit() > OprTPB(TP)){
Yeniler();
OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),OprTPB(TP),0, CLR_NONE );
}
}
if ((OrderType() == OP_SELL)) {
if (OrderTakeProfit() == 0 || OrderTakeProfit() < OprTPS(TP)){
Yeniler();
OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),OprTPS(TP),0,CLR_NONE);
}
}
}
}
dönüş(0);
}
çift LastOpPrBuy(çift va=0)
{
for (i = OrdersTotal() - 1; i>= 0; i--)
{
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if (va == 0) va = OrderOpenPrice();
if (OrderSymbol() != Symbol() || OrderMagicNumber() != Magic) devam ediyor;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
if (OrderType() == OP_BUY && OrderOpenPrice()<va) va = OrderOpenPrice();
}
dönüş(va);
}
//------------------------------------------------ ----------------------------------
çift LastOpPrSell(çift va=0)
{
for (i = OrdersTotal() - 1; i>= 0; i--)
{
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if (va == 0) va = OrderOpenPrice();
if (OrderSymbol() != Symbol() || OrderMagicNumber() != Magic) devam ediyor;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
if (OrderType() == OP_SELL && OrderOpenPrice()>va) va = OrderOpenPrice();
}
dönüş(va);
}
//------------------------------------------------ ----------------------------------
çift OprTPB(int TP)
{
intj=0;
çift TPB=0;
for (i = OrdersTotal() - 1; i>= 0; i--)
{
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol() || OrderMagicNumber() != Magic) devam ediyor;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
if (OrderType() == OP_BUY)
{
TPB+=OrderOpenPrice();
j++;
}
}
eğer (j==0) {
j++;
TPB=Sor;
}
TPB=(TPB/j)+TP*Noktası;
dönüş(TPB);
}
//------------------------------------------------ ----------------------------------
çift OprTPS(int TP)
{
intj=0;
çift TPS=0;
for (i = OrdersTotal() - 1; i>= 0; i--)
{
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol() || OrderMagicNumber() != Magic) devam ediyor;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
if (OrderType() == OP_SEL)
{
TPS+=OrderOpenPrice();
j++;
}
}
eğer (j==0) {
j++;
TPS = Teklif;
}
TPS=(TPS/j)-TP*Noktası;
dönüş(TPS);
}
//------------------------------------
Evet, burada hepimiz yeniyiz! Basit şeyleri bilmediğimizi görmüyor musun? Başka nereden öğrenebiliriz! En azından bilmek istiyoruz, bazı insanların düşündükleri gibi değil, sadece kodu yapıştırmayı ve parayı hemen indirmeyi isteyecekler!
))) Ticaret mizahından:
- Bana karlı bir danışmanı nereden indireceğimi söyle!
- Konunun yukarısında bir yere bakın, oraya @MOZG@v4.12 adında bir robot koymuşlar.