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
2010 çizelgelerini inceleyin
bir şeyler yaratmak için şablonunuzu kullanın -- Stokastik liginde
ilk günlerde stokastik çizelgelerimizi kullandığımız için -- bu hala 2010 çizelgeleri için geçerli mi -- bunlar gerçek tüccarlar, dostum ve onun görevlerini alabilirsin -- ben bantsız lebesgue integral matematik programlama ile ilgileniyorum -- hatırla film O Benim Ligimin Dışında --- iyi iş iyi maaş demektir -----
kodları okuyun -- 2010'daki mevcut yatırım tarzından biraz daha az karmaşık
Derlemeye çalıştığım lanetli parantez hatasının hemen hemen her olası kombinasyonunu denedim. Saatlerdir ona bakıyorum ama tamir etme şansı yok. Senaryoyu bozan şeyin bir kod bölümüne çiviledim. Birisi bana neyin yanlış olduğu konusunda tavsiyede bulunabilir (benim bir moron olmam dışında).
geçersiz ScanForClosure ()
{
int cash = OrderProfit() + OrderSwap() + OrderCommission()
int MacdCurrent, MacdPrevious, SignalCurrent;
int SignalPrevious, MaCurrent, MaPrevious;
int toplam2 = SiparişlerToplam();
int sayılar2 = 0;
bool türü = yanlış;
int trd2 = 0;
MacdCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0);
MacdPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1);
SignalCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0);
SignalPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,1);
MaCurrent=iMA(NULL,0,MATrendPeriod,0,MODE_EMA,PRICE_CLOSE,0);
MaPrevious=iMA(NULL,0,MATrendPeriod,0,MODE_EMA,PRICE_CLOSE,1);
ArrayResize(lastOrders,5);
ArrayInitialize(lastOrders,0);
//
for(int cnt=0; cnt<toplam2; cnt++)
{
OrderSelect(cnt, SELECT_BY_POS);
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) ;
{
if ((OrderType()==OP_BUY)&&
(MacdCurrent>0)&&
(MacdAkımı<Sinyal Akımı)&&
(nakit > 0)&&
(MacdPrevious>SignalPrevious) && MacdCurrent>(MACDCloseLevel*Point));
{
KapatSipariş(1);
}
if ((OrderType()==OP_SEL)&&
(nakit > 0)&& (MacdCurrent<0 ) &&
(MacdAkımı>Sinyal Akımı)&&
(MacdÖnceki<SinyalÖnceki)&&
(MathAbs(MacdCurrent))>(MACDCloseLevel*Point));
{
KapatSipariş(2);
}
}
}
}Merhaba Scotty,
macd örneğinden kopyalıyorum
if(OrderType()==OP_BUY)
{
if(MacdCurrent>0 && cash > 0 && MacdCurrentSignalÖnceki &&
MacdCurrent>(MACCloseLevel*Point))
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet);
dönüş(0);
}
başka
{
if(MacdCurrent 0 && MacdCurrent>SignalCurrent &&
MacdPrevious(MACDCloseLevel*Point))
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // konumu kapat
dönüş(0);
}
Saygılarımızla
aletler
bu kod neden yanlış parametre sayımı hatası veriyor:
for(int i = 0;i < 3;i++)
{
kline = iStochastic(NULL,TimeFrame1, Period(), 4, 3, 3, MODE_SMA, 1, MODE_MAIN, i);
dline = iStochastic(NULL,TimeFrame1, Period(), 4, 3, 3, MODE_SMA, 1, MODE_SIGNAL, i);
}Olmalı
int counted_bars = IndicatorCounted();
int limit,i;
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
limit = Çubuklar - sayılan_barlar;
for(int i=limit; i>=0; i--)
{
kline = iStochastic(NULL,TimeFrame1, 4, 3, 3, MODE_SMA, 1, MODE_MAIN, i);
dline = iStochastic(NULL,TimeFrame1, 4, 3, 3, MODE_SMA, 1, MODE_SIGNAL, i);
Saygılarımızla
aletler
Teşekkürler Bay Tools belki karmaşık hale getiriyordum ama nesi vardı? Gönderilen bu örnek tüm açık biletleri tarayacak mı? Sadece 2'yi (tek alım ve tek satış), Büyük olasılıkla her seferinde aynı olanı tarayacağını düşünürdüm:/ Bu mt4 programlamasında çok yeniyim ama bunun olacağından eminim.
anladım
10 saat boyunca aynı soruna bakıp çözememen inanılmaz. Bir daha baktım. Uyandığımda ve 5'te düzelttiğimde Bu MT4 kodu çok sıkı görünüyor. Tam olarak ne aradığını kodlamanız gerekiyor gibi görünüyor (aynı şeyi başka 10 dilde yapıp yapamayacağınız ve çalışıp çalışmadığınız)
Bir şeyleri bulan ve öldüren bir oyunda bir karakterin kendi kendine dolaşmasını sağlamak için World of Warcraft için botlar yarattım, ancak MT4'te basit bir satın alma satma rutini yapmaya çalıştığımda mücadele ediyorum
Her neyse, benim için ders, bir satıra koyduğunuz şeyi if ile sınırlamaktı. Umarım birkaç kişiyi daha çektiğim acıdan kurtarırım.
OrderSelect(cnt, SELECT_BY_POS);
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
{
if (OrderType()==OP_BUY)
if (kâr>0)
if (MacdCurrent<SignalCurrent)
eğer (MacdCurrent>0)
if (MacdPrevious>SignalPrevious)
if (MacdCurrent>(MACCloseLevel*Point))
{
KapatSipariş(1);
}
if (OrderType()==OP_SEL)
if ((MacdCurrent<0 ) )
if (kâr >0 )
if (MacdCurrent>SignalCurrent)
if (MacdÖnceki<SinyalÖncesi)
if (MathAbs(MacdCurrent) >(MACDCloseLevel*Point))
Kod Yardımı - Fraktallar
Merhaba,
Üzerinde çalıştığım bir sistemin parçası olarak aşağıdakileri yapmak için gereken kod hakkında biraz yardım arıyorum:
Geçerli Uzun:
(en eski ila en yeni 1-x arasında numaralandırılmıştır)
-> Fraktal Aşağı 1, Fraktal Aşağı 2'den daha yüksek
-> Fraktal Yukarı 1 oluşur ve uzun süreli olası koşulu oluşturur, ancak
-> Fraktal Aşağı 3, Fraktal Aşağı 2'den daha yüksek olmalıdır
-- Bu, trenddeki değişikliği doğrular. Üst fraktalın fiyat dağılımı geçerli bir DOĞRU olacaktır. Yeni, daha düşük bir Üst Fraktal oluşursa, önceki Fraktal Aşağı'dan daha düşük bir Aşağı Fraktal OLMADIĞINDAN, yeni kırılma noktası budur. Düşük Fraktallar daha yüksek tepeler yapıyor olmalı.
Kısa doğrulama için tersi doğrudur.
Şerefe
harun
biraz daha iyi açıklamaya çalışabilir
Yani fiyatta bir yükseliş eğilimi var, bir üst fraktal oluşuyor. Fiyat geri çekilir ve bir alt fraktal oluşur. Fiyat geri çekilmeye devam ediyor ve daha düşük bir alt fraktal oluşuyor.
Daha sonra fiyat yeni, daha düşük, üst bir fraktal oluşturmak için yükselir.
Fiyat geri çekilir ve başka bir alt fraktal oluşur, ancak bu önceki alt fraktaldan daha yüksektir.
Fiyat, önceki üst fraktal, geçerli ara uzun koşulunu bozar.
PS Yeni, daha düşük, üst fraktal oluşturulmuşsa, ancak alt fraktallar daha yüksek tepeler yapmaya devam ediyorsa, yeni kırılma noktası en son üst fraktaldır.
PPS Daha düşük, alt fraktallar oluşmaya başlarsa, koşullar sıfırlanır ve bir kesintinin kısa geçerliliği için yukarıdaki koşulları veya ters koşulları aramaya devam ederiz.
Şerefe
harun
Ve programlama konusunda tam olarak neye ihtiyacınız var? Tüm sistemin programlanması mı gerekiyor?
Sadece bu mantık kısmı.
ValidBuy = FALSE olan bir bool söyleyin;
yukarıdaki gibi koşul mantığı oluşursa, onu TRUE olarak ayarlar.
Bunun bir dizi olduğuna ve dizi değerlerini karşılaştırdığına eminim, ancak dizileri kodlamaya gelince o kadar da iyi değilim.
Şerefe
harun
Herhangi bir dizi kullanmanıza gerek yoktur. Sadece verilen fraktal seviyesini bulan function oluşturun, böylece şöyle arayabilirsiniz:
first parameter being number of fractal (0-last, 1-one before last, etc.) and second parameter telling if you want upper or lower fractal.
Then, you can code like this:
[CODE]double last_lower_fractal = FindFractal( 0, MODE_LOWER );
double previous_lower_fractal = FindFractal( 1, MODE_LOWER );
if( last_lower_fractal > previous_lower_fractal )
{
//we have found that most recent lower fractal is higher than its predecessor, do rest of your logic here.
}