Sormak! - sayfa 148

 

Herhangi biri, EA'nın birkaç durumda eşzamanlı emirleri yürütmesine izin vermek için kodu nasıl değiştireceğimi daha iyi anlamama yardımcı olabilir (başka bir deyişle, aynı EA'yı aynı anda birkaç çift üzerinde test ediyorum ve her örnek için farklı sihirli sayılar kullanıyorum.)

Orijinal kod şunları içerir:

int toplam=SiparişToplam();

if(toplam<1)

Ve bence problem burada. Sayıyı arttırırsam, aynı çift için aynı çubukta (M15) sadece birkaç emir yürütür. Eğer if(toplam<1) bırakılırsa, farklı çiftlerde aynı anda emir verilmesine izin verilmez.

Çift başına bir seferde yalnızca bir siparişe izin vermek için kene veya çubukla ilgili bir şeyi değiştirebilir miyim, ancak EA (farklı sihirli numaraya sahip) eklenmiş tüm çiftler için birkaç siparişe izin verebilir miyim?

Yardım edebilecek veya girdi sunabilecek herkese teşekkürler!

Acı biber

 

Birden çok if ifadesinde kafa karıştı

/////////////////// PAZAR GÜNÜ İŞLEM YAPMAYA BAŞLAYIN///////////////////////

Başlangıç Günü=7; Başlangıç Saati=1; BaşlangıçDakikası=55;

{

if(TimeDayOfWeek(TimeCurrent())==StartDay)

{

if(TimeHour(TimeCurrent())==BaşlangıçSaati)

{

if(TimeMinute(TimeCurrent())==StartMinute)

{

}

}

}

}

EA'mı yedinci gün rolleri (7. Gün) ve 1. Saat rolleri ve yaklaşık 55 dakikalık roller olduğunda etkinleştirmeye çalışıyorum. Neyi yanlış yapıyorum. Bugün bilgisayarı başlattım ve EA hemen işlem yapmaya başladı (1. saatten önce!). Yardım lütfen.

Teşekkürler!

Dave

 
JForex78:
Merhaba,

Daha Yüksek Zaman Çerçevesi grafiğinde Alt Zaman Çerçevesi MA çaprazını nasıl çizeceğimi bilmek istiyorum.

örneğin, M15'in MA5 ve MA10'u kesiştiğinde H1 grafiğinde bir ok çizmek istiyorum.

Lütfen bana haber ver.

Teşekkürler,

JForex.

Herhangi bir grafikteki bir MA, bir MA'nın daha yüksek / daha düşük bir zaman diliminde sadece daha yüksek / daha düşük bir versiyonudur. Örneğin, 5 dakikalık bir grafiğe 60MA koyarsanız ancak bir saatlik grafikte nasıl göründüğünü görmek isterseniz, 60 ile 12'yi (bir saatte 5 dakikalık aralıklarla) çarpmanız yeterlidir. Yani bir saatlik grafikte 720 MA, 5 dakikalık bir grafikte 60 MA ile aynıdır.

Mantıklı olmak?

Lüks

 
1Dave7:
///////////////////PAZAR GÜNÜ İŞLEM YAPMAYA BAŞLAYIN///////////////////////

Başlangıç Günü=7; Başlangıç Saati=1; BaşlangıçDakikası=55;

{

if(TimeDayOfWeek(TimeCurrent())==StartDay)

{

if(TimeHour(TimeCurrent())==BaşlangıçSaati)

{

if(TimeMinute(TimeCurrent())==StartMinute)

{

}

}

}

}

EA'mı yedinci gün rolleri (7. Gün) ve 1. Saat rolleri ve 55 dakikalık roller etrafında etkinleştirmeye çalışıyorum. Neyi yanlış yapıyorum. Bugün bilgisayarı başlattım ve EA hemen işlem yapmaya başladı (1. saatten önce!). Yardım lütfen.

Teşekkürler!

Dave

Yardım dosyasına bir kez daha bakın.

Bilinen son sunucu saatinin haftanın geçerli sıfır tabanlı gününü (0-Pazar,1,2,3,4,5,6) döndürür.

Lüks

 
Chilibowl:
Herhangi biri, EA'nın birkaç durumda eşzamanlı emirleri yürütmesine izin vermek için kodu nasıl değiştireceğimi daha iyi anlamama yardımcı olabilir (başka bir deyişle, aynı EA'yı aynı anda birkaç çift üzerinde test ediyorum ve her örnek için farklı sihirli sayılar kullanıyorum.)

Orijinal kod şunları içerir:

int toplam=SiparişToplam();

if(toplam<1)

Ve bence problem burada. Sayıyı arttırırsam, aynı çift için aynı çubukta (M15) sadece birkaç emir yürütür. Eğer if(toplam<1) bırakılırsa, farklı çiftlerde aynı anda emir verilmesine izin verilmez.

Çift başına bir seferde yalnızca bir siparişe izin vermek için onay veya çubukla ilgili bir şeyi değiştirebilir miyim, ancak EA (farklı sihirli sayılarla) eklenmiş tüm çiftler için birkaç siparişe izin verebilir miyim?

Yardım edebilecek veya girdi sunabilecek herkese teşekkürler!

Acı biber

OrdersTotal, sihirli sayıyı dikkate almayan yerleşik bir işlevdir . OrdersTotal'ı kullanan ancak sihirli sayıya ve muhtemelen sembole göre filtreleyen kendi işlevinizi yazmanız gerekir. Burada ve başka yerlerde bir sürü örnek var.

İyi şanlar.

Lüks

 
luxinterior:
Yardım dosyasına bir kez daha bakın. Lüks

StartDay'i 0 olarak değiştirdim ve StartHour'u brokerimin mevcut GMT saatiyle değiştirdim ve StartMinute'i GMT dakikalarından 5 dakika önceye değiştirdim - GMT saati benim başlangıç saatimle eşleştiğinde hala çalışıyor. Yardım dosyalarına baktım ve birden fazla if ifadesi göstermiyorlar. Çoklu if ifadesi her zaman kafamı karıştırır. Neyi yanlış yapıyorum? Programın Pazar günü uygun başlangıç saatine kadar işlem yapmamasını ve saat = Pazar saatinin başlangıcına kadar "İşlem Dışı Zaman" yorumu yapmasını istiyorum.

Çok karışık!!

?????

 
luxinterior:
OrdersTotal, sihirli sayıyı dikkate almayan yerleşik bir işlevdir. OrdersTotal'ı kullanan ancak sihirli sayıya ve muhtemelen sembole göre filtreleyen kendi işlevinizi yazmanız gerekir. Burada ve başka yerlerde bir sürü örnek var.

İyi şanlar.

Lüks

İşte yaptığım ve biraz kullandığım bir tane:

int OTBM(int intMagic)//OrdersTotalByMagic

{

int intCount=0;

int intPOS=0;

bool boolTerm=false;

while(boolTerm==false)

{

if(OrderSelect(intPOS,SELECT_BY_POS))

{

if(OrderMagicNumber()==intMagic) intCount++;

intPOS++;

}

else

boolTerm=true;

}

return(intCount);

}

[/PHP]

And if you want to close only a certain order by magic number:

int CBM(int intMagic)//CloseByMagic

{

int intOffset=0;

int Count = OTBM(intMagic);

while(OTBM(intMagic)>0 && Count > 0)

{

OrderSelect(intOffset,SELECT_BY_POS);

if(OrderMagicNumber()==intMagic)

{

if(OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),999,Red);

else if(OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),999,Orange);

Count--;

}

else {

intOffset++;

}

}

return(0);

}

Order Profit By Magic:

[PHP]double OPBM(int intMagic)//OrderProfitByMagic

{

double dblProfit=0;

int intPOS=0;

bool boolTerm=false;

while(boolTerm==false)

{

if(OrderSelect(intPOS,SELECT_BY_POS))

{

if(OrderMagicNumber()==intMagic) dblProfit=dblProfit+OrderProfit();

intPOS++;

}

else

boolTerm=true;

}

return(dblProfit);

}

Umarım yardımcı olur.

 
luxinterior:
Herhangi bir grafikteki bir MA, bir MA'nın daha yüksek / daha düşük bir zaman diliminde sadece daha yüksek / daha düşük bir versiyonudur. Örneğin, 5 dakikalık bir grafiğe 60MA koyarsanız ancak bir saatlik grafikte nasıl göründüğünü görmek isterseniz, 60 ile 12'yi (bir saatte 5 dakikalık aralıklarla) çarpmanız yeterlidir. Yani bir saatlik grafikte 720 MA, 5 dakikalık bir grafikte 60 MA ile aynıdır.

Mantıklı olmak?

Lüks

Tamamen mantıklı. H1 grafiğinde bir M5 10MA'yı nasıl göreceksiniz?

10/12=0.84. H1 grafiğine 0.84 MA koyabilir misiniz? Numara.

Ancak diğer şekilde çalışır - H1 10MA = M5 120MA.

Öyleyse sorum şu, H4 gibi daha yüksek bir Zaman Çerçevesinde 5MA çaprazını nasıl görebilirim.

Teşekkürler.

 
 

MQL4'te Döngü için

Kodlayıcıların Gurusu'nun MQL4 Kursunu okurken, Ders 5'teki 'for' döngüsünde bu kısımla karşılaştım ve kafam karıştı. Yalnızca bir test ifadesi olabileceğini söylüyor. Ancak gösterilen örnekler 2 test ifadesi içerir.

int i;

int j;

for(i=0,j=0;i<15,i<;i++,j++)

Yazdır(i);

int i;

for(i=15;i>0,i<;i--)

Yazdır(i);

Lütfen biri aydınlatsın mı?

Teşekkürler.