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
Matematiksel Beklenti Yardım Lütfen
Merhaba
Kendimi bir dereceye kadar snooked gibi görünüyor.
EA'mda bir beklenti formülünü kullanmaya çalışıyorum 1-avgwin/avgloss*sistem doğruluğu+1 formülüne sahibim ve bu iyi çalışıyor, ancak Sipariş ile StopLoss arasındaki farkı nasıl hesaplayacağımı ve göstereceğimi bilmek istiyorum Örneğin
OP_SELLSTOP 1.63406
StopLoss 1.63603
1.63406 - 1.63603 = -0.00197 Bunun pozitif bir sayı olması gerektiğini düşünüyorum.
1.45 beklentisi
Yani TakeProfit'i hesaplamak için -0.00197 * 1.45 = -0.00285
TP'yi OP_SELLSTOP'a yerleştirin 1.63406 - 1.63121
ve Uzun pozisyon için tersi
hepsi bu konunun bir parçası https://www.mql5.com/en/forum/178980 ve excel sayfasına bir göz atarsanız hemen orada olduğumu göreceksiniz.
Herhangi bir yardım harika olurdu.
Şerefe Beno
Merhaba
Kendimi bir dereceye kadar snooked gibi görünüyor.
EA'mda bir beklenti formülünü kullanmaya çalışıyorum 1-avgwin/avgloss*sistem doğruluğu+1 formülüne sahibim ve bu iyi çalışıyor, ancak Sipariş ile StopLoss arasındaki farkı nasıl hesaplayacağımı ve göstereceğimi bilmek istiyorum Örneğin
OP_SELLSTOP 1.63406
StopLoss 1.63603
1.63406 - 1.63603 = -0.00197 Bunun pozitif bir sayı olması gerektiğini düşünüyorum.
1.45 beklentisi
Yani TakeProfit'i hesaplamak için -0.00197 * 1.45 = -0.00285
TP'yi OP_SELLSTOP'a yerleştirin 1.63406 - 1.63121
ve Uzun pozisyon için tersi
hepsi bu konunun bir parçası https://www.mql5.com/en/forum/178980 ve excel sayfasına bir göz atarsanız hemen orada olduğumu göreceksiniz.
Herhangi bir yardım harika olurdu.
Şerefe BenoEn basit yol, bunu düşünmemek ve kullanmaktır:
double MathAbs(çift değer)
MathAbs - MQL4 Belgeleri
Saygılarımızla
Merhaba CRN
cevap için teşekkürler bende bunu denedim
Bence doğru ama sadece PipSL 15769.68328362 yazdırıyor
1 2011.01.04 00:00 satış durdurma 1 0.01 1.54279 0.00000 0.00000 0.00 10000.00
2 2011.01.07 08:20 sat 1 0.01 1.54279 0.00000 0.00000 0.00 10000.00
3 2011.01.07 08:20 1 değiştir 0.01 1.54279 1.57712 0.00000 0.00 10000.00
4 2011.01.11 23:40 Durakta kapanış 1 0.01 1.56045 1.57712 0.00000 -17.66 9982.34
ve satış ile SL arasındaki gerçek farkı istiyorum
Biri bana yardım etsin.
Herkese merhaba ve Mutlu Noeller.
Öncelikle bu forumda yeniyim. Ea ile ilgili bir sorunum var ve biri bunu benim için düzeltebilir mi? Sorun, bu EA'yı gerçek ticaret için nasıl ayarlayacağım ve EA, canlı ticaretimde sadece gri renk.
İşte ek:
spielershedge_library.mqh
spielershedge_pipstar.mq4
spielershedge_ea_v2.8.1.ex4
spielershedge_divergence_v5.1.ex4
-Eskiden olsa da belki hepimize fayda sağlayacak bir şeyler paylaşıp alabiliriz diye düşünüyorum.
- Bunu , vadeli işlem spread ticaretinden türetilen Hedge ticaret spieler sisteminden buldum - Sayfa 193 @ Forex Factory (SpielersHedge PipStar.mq4) ve geri kalanı vadeli işlem spread ticaretinden türetilen Hedge ticaret spieler sisteminden - Sayfa 87 @ Forex Fabrikası
-Kötü ingilizcem için özür dilerim.
P/S : Gelişimim için hepinizden gelen ders, rehberler, yorumlar ve eleştiriler için çok teşekkür ederim. Bilgimizi ne kadar çok verirsek, bilgiyi o kadar çok kazanacağımıza inanıyordum.
Merhaba CRN
cevap için teşekkürler bende bunu denedim
Bence doğru ama sadece PipSL 15769.68328362 yazdırıyor
1 2011.01.04 00:00 satış durdurma 1 0.01 1.54279 0.00000 0.00000 0.00 10000.00
2 2011.01.07 08:20 sat 1 0.01 1.54279 0.00000 0.00000 0.00 10000.00
3 2011.01.07 08:20 1 değiştir 0.01 1.54279 1.57712 0.00000 0.00 10000.00
4 2011.01.11 23:40 Durakta kapanış 1 0.01 1.56045 1.57712 0.00000 -17.66 9982.34
ve satış ile SL arasındaki gerçek farkı istiyorumGerçek kullanıma ihtiyacınız varsa iClose (0,0,0)-OrderStopLoss() kullanın.
ama önce OrderSelect ile doğru sırayı seçin;
Saygılarımızla
CloseAll Yardımı ile Zaman Filtresi Lütfen
günaydın
EA üzerinde çalışan bir Zaman Filtrem var ama buna bir kapanış eklemeye çalışıyorum, bu yüzden eğer zaman kapanış saatine eşitse, o zaman tüm açık pozisyonları kapat
extern int gmtshift=1; // gmt offset of the broker
extern bool generalfilter=false; // enable time filter
extern int starthour=7; // start hour to trade after this hour
extern int startminutes=0; // minutes of the start hour
extern int endhour=21; // stop to trade after this hour
extern int endminutes=0; // minutes of the start hour
extern bool tradesunday=true; // trade on sunday
extern bool fridayfilter=false; // enable special time filter on friday
extern int fridayhour=21; // stop to trade after this hour
extern int fridayminutes=0; // minutes of the friday hour[/CODE]
[CODE]void start() {
if(generalfilter){
nstarthour=starthour+(gmtshift);if(nstarthour>23)nstarthour=nstarthour-24;
if(nstarthour<10)istarthour="0"+nstarthour;
if(nstarthour>9)istarthour=nstarthour;
if(startminutes<10)istartminutes="0"+startminutes;
if(startminutes>9)istartminutes=startminutes;
tstart=StrToTime(istarthour+":"+istartminutes);
nendhour=endhour+(gmtshift);if(nendhour>23)nendhour=nendhour-24;
if(endhour<10)iendhour="0"+nendhour;
if(endhour>9)iendhour=nendhour;
if(endminutes<10)iendminutes="0"+endminutes;
if(endminutes>9)iendminutes=endminutes;
tend=StrToTime(iendhour+":"+iendminutes);
}
if(fridayfilter){
nfridayhour=fridayhour+(gmtshift);if(nfridayhour>23)nfridayhour=nfridayhour-24;
if(nfridayhour<10)ifridayhour="0"+nfridayhour;
if(nfridayhour>9)ifridayhour=nfridayhour;
if(fridayminutes<10)ifridayminutes="0"+fridayminutes;
if(fridayminutes>9)ifridayminutes=fridayminutes;
tfriday=StrToTime(ifridayhour+":"+ifridayminutes);
}
if((generalfilter && (nstarthour<nendhour && TimeCurrent()tend) || (nstarthour>nendhour && TimeCurrent()tend))
|| (tradesunday==false && DayOfWeek()==0) || (fridayfilter && DayOfWeek()==5 && TimeCurrent()>tfriday))return(0);
if (TimeCurrent() >= tend) {
for (int i=OrdersTotal()-1; i>=0; i--) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==TradeSymbol) {
if (OrderType()==OP_BUY) {
pBid=MarketInfo(OrderSymbol(), MODE_BID);
OrderClose(OrderTicket(), OrderLots(), Bid, slippage, Yellow);
}
if (OrderType()==OP_SELL) {
pAsk=MarketInfo(OrderSymbol(), MODE_ASK);
OrderClose(OrderTicket(), OrderLots(), Ask, slippage, Orange);
}
}
}
}
}Lütfen bana yardım et
extern int BuyStopTakeProfit =10;
extern int BuyStopSL=1000;
nasıl kodlanır
BuyStopTakeProfit TakeProfit'e basarsa, Bekleyen Tüm Siparişi Sil
lütfen herkes yardım edebilir
Yardım!!!! Lütfen!!!! iÖzel işlev
Yardım,
C_EA_rev6.mq4'ümün VSATEXTSIGNALS.mq4 özel göstergesinden herhangi bir arabelleği çağırmasını sağlamak için her şeyi denedim. iCustom işlevini kullandım ancak her zaman 2147483647 döndürüyor ve bunun bir hata kodu olduğunu anlıyorum. Özel gösterge, hacim yayılımı analiz tekniklerine dayalı olarak metin sinyallerini grafiğe yerleştirir. Bir grafiğe eklediğimde özel gösterge düzgün çalışıyor. Bunun için sayısız saat harcadım ve bildiğim her kombinasyonu denedim. Herhangi bir yardım çok takdir edilecektir. Ayrıca bir sorum var, bir komut dosyası veya .dll dosyası çağıran özel bir göstergede iCustom işlevini kullanabilir misiniz?
Gösterge kodu ve EA için eklere bakın.
Teşekkürler,
cmfxtrader
Yardım,
C_EA_rev6.mq4'ümün VSATEXTSIGNALS.mq4 özel göstergesinden herhangi bir arabelleği çağırmasını sağlamak için her şeyi denedim. iCustom işlevini kullandım ancak her zaman 2147483647 döndürüyor ve bunun bir hata kodu olduğunu anlıyorum. Özel gösterge, hacim yayılımı analiz tekniklerine dayalı olarak metin sinyallerini grafiğe yerleştirir. Bir grafiğe eklediğimde özel gösterge düzgün çalışıyor. Bunun için sayısız saat harcadım ve bildiğim her kombinasyonu denedim. Herhangi bir yardım çok takdir edilecektir. Ayrıca bir sorum var, bir komut dosyası veya .dll dosyası çağıran özel bir göstergede iCustom işlevini kullanabilir misiniz?
Gösterge kodu ve EA için eklere bakın.
Teşekkürler,
cmfxtraderHey,
Mesele şu ki, göstergeden arabelleği okumaya çalışırken, arabellek olmayan metin mesajları verir. Bu nedenle EMPTY_VALUE olan 2147483647 değerini alıyorsunuz, bu bir hata değil.
Her neyse, sanırım bu göstergeden gelen sinyalleri otomatikleştirmek istiyorsunuz. Bunun için basit bir çözüm var. Göstergenin 7 arabelleğe (#property gösterge_buffers 7) sahip olduğu bildirildi, ancak yalnızca 5 kullanıyor. Göstergeler en fazla 8 arabellek kullanabilir. Bu, yalnızca hesaplamalarınız için başka bir ek arabellek bildirebileceğiniz ve onu tanımlı mesajlarla doldurabileceğiniz anlamına gelir. TextOutput işlevinde mesaj numaralarını bulacaksınız. Hangi mesajın görüntülendiğine bağlı olarak, arabelleğinize numaralar eklemeniz yeterlidir. Örneğin, metin : "UPTHRUST / Weakness_" ise arabelleğinize 1 ekleyin, mesaj PSEUDO UPTHRUST / Weakness_ ise 4 ekleyin ve bu şekilde devam edin. Tamponun indeksi, "i" değişkeninden gelen değerle aynı olacaktır.
İkinci sorunuza gelince: iCustom işlevini her zaman bir gösterge (komut dosyası değil) için kullanabilir ve göstergede belirtilen arabellekleri dolduruyorsa değerleri okuyabilirsiniz. Örneğin, bu çizgiler çizen bir gösterge olacaksa, o zaman çizgi değerlerini okuyabilirsiniz - çünkü bir şey çizmek için (etiketler hariç) göstergenin arabellekleri doldurması gerekir. Gösterge grafik nesneleri oluşturacaksa (iliştirdiğiniz gibi), o zaman şunları yapmanız gerekir: a) grafik nesnelerinden değerleri okumak veya b) göstergeyi yeniden kodlamak (yukarıda önerdiğim gibi). Göstergenin DLL kullanıp kullanmaması önemli değil - sadece iCustom işlevinden değerlerini okumak için arabelleği düzgün doldurması gerekiyor.
günaydın
EA üzerinde çalışan bir Zaman Filtrem var ama buna bir kapanış eklemeye çalışıyorum, bu yüzden eğer zaman kapanış saatine eşitse, o zaman tüm açık pozisyonları kapat
extern int gmtshift=1; // gmt offset of the broker
extern bool generalfilter=false; // enable time filter
extern int starthour=7; // start hour to trade after this hour
extern int startminutes=0; // minutes of the start hour
extern int endhour=21; // stop to trade after this hour
extern int endminutes=0; // minutes of the start hour
extern bool tradesunday=true; // trade on sunday
extern bool fridayfilter=false; // enable special time filter on friday
extern int fridayhour=21; // stop to trade after this hour
extern int fridayminutes=0; // minutes of the friday hour[/CODE]
[CODE]void start() {
if(generalfilter){
nstarthour=starthour+(gmtshift);if(nstarthour>23)nstarthour=nstarthour-24;
if(nstarthour<10)istarthour="0"+nstarthour;
if(nstarthour>9)istarthour=nstarthour;
if(startminutes<10)istartminutes="0"+startminutes;
if(startminutes>9)istartminutes=startminutes;
tstart=StrToTime(istarthour+":"+istartminutes);
nendhour=endhour+(gmtshift);if(nendhour>23)nendhour=nendhour-24;
if(endhour<10)iendhour="0"+nendhour;
if(endhour>9)iendhour=nendhour;
if(endminutes<10)iendminutes="0"+endminutes;
if(endminutes>9)iendminutes=endminutes;
tend=StrToTime(iendhour+":"+iendminutes);
}
if(fridayfilter){
nfridayhour=fridayhour+(gmtshift);if(nfridayhour>23)nfridayhour=nfridayhour-24;
if(nfridayhour<10)ifridayhour="0"+nfridayhour;
if(nfridayhour>9)ifridayhour=nfridayhour;
if(fridayminutes<10)ifridayminutes="0"+fridayminutes;
if(fridayminutes>9)ifridayminutes=fridayminutes;
tfriday=StrToTime(ifridayhour+":"+ifridayminutes);
}
if((generalfilter && (nstarthour<nendhour && TimeCurrent()tend) || (nstarthour>nendhour && TimeCurrent()tend))
|| (tradesunday==false && DayOfWeek()==0) || (fridayfilter && DayOfWeek()==5 && TimeCurrent()>tfriday))return(0);
if (TimeCurrent() >= tend) {
for (int i=OrdersTotal()-1; i>=0; i--) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==TradeSymbol) {
if (OrderType()==OP_BUY) {
pBid=MarketInfo(OrderSymbol(), MODE_BID);
OrderClose(OrderTicket(), OrderLots(), Bid, slippage, Yellow);
}
if (OrderType()==OP_SELL) {
pAsk=MarketInfo(OrderSymbol(), MODE_ASK);
OrderClose(OrderTicket(), OrderLots(), Ask, slippage, Orange);
}
}
}
}
}bu kısmı kontrol etmeye çalışın:
if((generalfilter && (nstarthour<nendhour && TimeCurrent()tend) || (nstarthour>nendhour && TimeCurrent()tend))
|| (tradesunday==yanlış && DayOfWeek()==0) || (fridayfilter && DayOfWeek()==5 && TimeCurrent()>tfriday))return(0);
kodun diğer kısmı daha kolay olabilirdi ama çalışıyor olmalı.
Ancak, tüm bölümleri kapatmadan önce komut dosyasından çıkarsanız, çalışmaz ve komut dosyası bunu yapıyor gibi görünüyor.
Örneğin şu kısma bir göz atın:
(fridayfilter && DayOfWeek()==5 && TimeCurrent()>tfriday) return(0);
İngilizce'de şu anlama gelir: Cuma ise ve Cuma filtresi AÇIK ise ve Zaman İşareti geçildiyse (örn.
Şöyle olmalıdır: Cuma ise ve Cuma filtresi AÇIK ise ve Zaman İşareti TÜMÜNÜ KAPAT geçirilmişse ve (örn. bitiş saati 18.00 ve 18.01 ise) sonra geri dön (0).