MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 51
![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
Belki açıkça sormadım.
M1 dönemi grafiğinde olmak, M5 döneminde “Stokastik” gösterge çizgisi şimdi 55 seviyesinin üzerindeyse tamponu doldurmak istiyorum.
////////////////////////////////////////////////
for ( int i=limit; i>= 0 ; i--) {
int bar_sto2_0= iBarShift ( Symbol (),TimeFrame2, iTime ( Symbol (),TimeFrame2,i));
int bar_sto2_1= iBarShift ( Symbol (),TimeFrame2, iTime ( Symbol (),TimeFrame2,i+ 1 ));
double sto2_0= iStochastic ( Symbol (),TimeFrame2,kperiod2,dperiod2,slowing2, MODE_LWMA , STO_CLOSECLOSE , MODE_MAIN ,bar_sto2_0);
double sto2_1= iStochastic ( Symbol (),TimeFrame2,kperiod2,dperiod2,slowing2, MODE_LWMA , STO_CLOSECLOSE , MODE_MAIN ,bar_sto2_1);
if (sto2_0> 55.0 )
{
BufferUP[i]=low[i]-distance*MyPoint;
}
if (sto2_0< 44.0 )
{
BufferDN[i]=high[i]+distance*MyPoint;
}
Comment (sto2_0);
}
Yorumda, mevcut değer M5'ten doğrudur, ancak ok tarihine göre duruma göre değil, kaos koyar.
Ne yanlış olabilir?
M5 ile " bodrum " stokastiğinde
Yuvarlak oklar sinyalde değil
Biri satılık, diğeri satın almak için aynı anda 2 Durdurma Emri veren bir Uzman Danışman yazıyorum.
Bir Durdurma Emri tetiklendiğinde, ikincisinin (tersi) silineceği bir koşul nasıl reçete edilir?
Teşekkür ederim.
Biri satılık, diğeri satın almak için aynı anda 2 Durdurma Emri veren bir Uzman Danışman yazıyorum.
Bir Durdurma Emri tetiklendiğinde, ikincisinin (tersi) silineceği bir koşul nasıl reçete edilir?
Teşekkür ederim.
Durum basit. Bir emir tetiklendiğinde, piyasada bir pozisyon belirir, takip edilmesi gereken pozisyonun görünümüdür ve eğer varsa, karşı emri sileriz.
Bu, üzerinde düşünülmesi gereken bir kod parçasıdır)
bool b, s;
switch (op) {
case OP_BUY : b=ExistPositions(sy, OP_BUY , mn); break ;
case OP_SELL : s=ExistPositions(sy, OP_SELL , mn); break ;
}
if (b) {
DeleteOrders(sy, OP_SELLLIMIT , mn, cl);
DeleteOrders(sy, OP_SELLSTOP , mn, cl);
}
if (s) {
DeleteOrders(sy, OP_BUYLIMIT , mn, cl);
DeleteOrders(sy, OP_BUYSTOP , mn, cl);
}}
Vitaly Muzichenko, Anladığım kadarıyla şimdi bile ExistPositions ve DeleteOrders fonksiyonlarını kaydetmeniz gerekiyor.
Vitaly Muzichenko, Anladığım kadarıyla şimdi bile ExistPositions ve DeleteOrders fonksiyonlarını kaydetmeniz gerekiyor.
yazamazsın ikiside hazır
Eh ..., eğitim amaçlı, çok faydalı ...
Pratikte, her bir fonksiyonda çevrimleri sürmek çok pahalıdır.
Eh ..., eğitim amaçlı, çok faydalı ...
Pratikte, her bir fonksiyonda çevrimleri sürmek çok pahalıdır.
Dur / 200 alırsa ne yapmalı
ancak
tp=NormalizeÇift((fiyat+(Kar Al*_Puan)), Rakamlar );
dolar-yen üzerinde 117.000 oranında 317.000 verecek
beklenen sonuç 117.200
Dur / 200 alırsa ne yapmalı
ancak
tp=NormalizeÇift((fiyat+(Kar Al*_Puan)),Rakamlar);
dolar-yen üzerinde 117.000 oranında 317.000 verecek
beklenen sonuç 117.200
Neden bu kadar çok parantez? Tabii ki bu bir zevk meselesi, ama aşırıya kaçıyor.
tp=NormalizeÇift(fiyat+Kar Al*_Puan,_Rakamlar);
Çıktıda sonuç yanlışsa değerler yanlış değiştirilir, çünkü bu kod satırı ekstra parantezlerle bile her şeyi doğru değerlendirecektir.