Nasıl kodlanır? - sayfa 230

 

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

 
scottyb:
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

 
forextrend:
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:

double fractal = FindFractal( 0, MODE_LOWER );[/CODE]

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.

}