[Arşivle!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 2. - sayfa 465
![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Kodu çözmeme yardım et. Durumu doğru bir şekilde nasıl tarif edeceğimi bilmiyorum.
İşte danışmanın bir parçası.
if(total<1)
{
while (d_mn_1>d_pl_1 && (d_mn_0-d_pl_0)>=2) //Пока это условие выполняется открывать только селл при таком условии (iRSI(NULL,0,rsi_period,PRICE_CLOSE,2)>0.7)&&(iRSI(NULL,0,rsi_period,PRICE_CLOSE,0)<0.7)) -какой оператор использовать и как его оформить?
{
OrderSend(Symbol(), OP_SELL, lots, NormalizeDouble(Bid, Digits), 3, /*Ask+10*Point*/0, /*Bid-10*Point*/0, "ADX sell", magic, 0, CLR_NONE);
}
while (d_pl_1>d_mn_1 && (d_pl_0-d_mn_0)>=2) // Пока это условие выполняется открывать только Бай при таком условии (iRSI(NULL,0,rsi_period,PRICE_CLOSE,2)<0.3)&&(iRSI(NULL,0,rsi_period,PRICE_CLOSE,0)>0.3)) - какой оператор использовать и как его оформить?
{
OrderSend(Symbol(), OP_BUY, lots, NormalizeDouble(Ask, Digits), 3, /*Bid-10*Point*/0, /*Ask+10*Point*/0, "ADX buy", magic, 0, CLR_NONE);
}
}
}
}
Psikolojik faktörün beni rahatsız ettiğini anlıyorum... Açgözlülük.. 300 r. bile kaybetme korkusu.. Ne yapayım?... Unutun gerçek hesap?..
Yönü değiştirirseniz ne olur? "Kazanmak için çabalamak" değil, "kaybetmemek için çabalamak".
Anlamama yardım et!
Fikrin özü: iMACD büyürken - düşmeye başlar başlamaz AL'ı basılı tutun - AL'ı kapatın ve SATIN'ı açın. Karşılaştırma, mevcut değer hariç son üç değere dayanmaktadır.
Kod sorunu: Anladığım kadarıyla iMACD değerleri +-0 olan çok sayıda sipariş açılıyor. Normalizedouble() yardımcı olmuyor.
İşte kod:
Kodu çözmeme yardım et. Durumu doğru bir şekilde nasıl tarif edeceğimi bilmiyorum.
İşte danışmanın bir parçası.
total=OrdersTotal();
if(total<1)
{
while (d_mn_1>d_pl_1 && (d_mn_0-d_pl_0)>=2) //Пока это условие выполняется открывать только селл при таком условии (iRSI(NULL,0,rsi_period,PRICE_CLOSE,2)>0.7)&&(iRSI(NULL,0,rsi_period,PRICE_CLOSE,0)<0.7)) -какой оператор использовать и как его оформить?
{
OrderSend(Symbol(), OP_SELL, lots, NormalizeDouble(Bid, Digits), 3, /*Ask+10*Point*/0, /*Bid-10*Point*/0, "ADX sell", magic, 0, CLR_NONE);
}
while (d_pl_1>d_mn_1 && (d_pl_0-d_mn_0)>=2) // Пока это условие выполняется открывать только Бай при таком условии (iRSI(NULL,0,rsi_period,PRICE_CLOSE,2)<0.3)&&(iRSI(NULL,0,rsi_period,PRICE_CLOSE,0)>0.3)) - какой оператор использовать и как его оформить?
{
OrderSend(Symbol(), OP_BUY, lots, NormalizeDouble(Ask, Digits), 3, /*Bid-10*Point*/0, /*Ask+10*Point*/0, "ADX buy", magic, 0, CLR_NONE);
}
}
}
}
Yani çalışmıyor, değil mi?
işe yaramazsa hayır.
Dolayısıyla, (d_mn_1>d_pl_1 && (d_mn_0-d_pl_0)>=2 koşulu doğru olsa da, iRSI(NULL,0,rsi_period,PRICE_CLOSE,2)>0.7 && iRSI(NULL,0,rsi_period , PRICE_CLOSE,0<0.7)
Aynı şekilde tam tersi.
Bunu bir şekilde while veya bool kullanarak yapmak mümkün mü? Programlamada tam bir vinç. Mantıksal zinciri anlıyorum ama elleri koda çevirmek çarpık.
işe yaramazsa hayır.
Bu nedenle, (d_mn_1>d_pl_1 && (d_mn_0-d_pl_0)>=2 koşulu doğruyken, yalnızca iRSI(NULL,0,rsi_period,PRICE_CLOSE,2)>0.7 && iRSI(NULL,0) şartıyla açık satış emirleri açmak gerekir. ,rsi_period ,PRICE_CLOSE,0<0.7)
Aynı şekilde tam tersi.
Bunu bir şekilde while veya bool kullanarak yapmak mümkün mü? Programlamada tam bir vinç. Mantıksal zinciri anlıyorum ama elleri koda çevirmek çarpık.
Merhaba! StopOut'a (ve bazen) ulaşmak istemiyorum. Partiyi, en kötü koşullarda StopOut'u "yakalamayacak" bir değerle sınırlamaya karar verdim. Uzun zamandır deneme yanılma ile uğraşıyorum. Belki birinin bir çözümü vardır?
İlk veri:
- döviz çifti - mutlaka EURUSD değil
- fiyat (alış/satış fiyatı)
- puan olarak belirtilen StopLoss (En kötü koşulların StopLoss seviyesine ulaşıldığında bile StopOut'u yakalamamak olduğu varsayılır)
- partinin set değeri
- MT4 fonksiyonlarını kullanarak diğer değerleri çıkarın: 1 lot büyüklüğü, kaldıraç, çapraz oran
Bir kod istiyorum.
Teorik olarak, gerekli olduğunu anlıyorum: StopLoss seviyesindeki bakiye eksi olası kaybı marj ile bölün. Ve bu değer StopOut'tan (yüzde olarak) büyük olmalıdır.
Anlamama yardım et!
Fikrin özü: iMACD büyürken - düşmeye başlar başlamaz AL'ı basılı tutun - AL'ı kapatın ve SATIN'ı açın. Karşılaştırma, mevcut değer hariç son üç değere dayanmaktadır.
Kod sorunu: Anladığım kadarıyla iMACD değerleri +-0 olan çok sayıda sipariş açılıyor. Normalizedouble() yardımcı olmuyor.
İşte kod:
belkide sorun buydu
para bitene kadar aç? veya bar başına 1 kez açık mı? veya kene başına 1 kez mi?
Her yeni çubukta durum kontrol edilir. Bu durumda, zaman çerçevesi bir saattir. Bu durum her saat başında kontrol edilir.
belkide sorun buydu
Hayır .. Önerdiğiniz gibi yaptım - aynı kalır.
Ayrıca kodu, şartlara göre ayrı ayrı açma ve kapama bloklarına ayırarak değiştirdim. Hepsi bir. Ne yapacağımı bilmiyorum zaten.
İşte fragmandaki test uzmanı danışmanı olan test cihazından bir ekran görüntüsü: