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
Tamam, eve gidince deneyeceğim ama o zaman neden hala Satın Alma siparişleriyle çalışıyor? teşekkürler
Bir Satış emrinde olabilirsiniz, ancak fiyat, Satın alma durdurma değişiklik kodunun koşulunu karşılar, bu nedenle değiştirilir ve artık Satış bölümünün koşullarını karşılamaz, dolayısıyla orada değişmez.
büyük olmak
Yardımın için teşekkürler Big Be ama eski kodumun işe yaradığını yeni fark ettim ama SAT emirlerinin değiştirilmesi için StopLoss kullanımını etkinleştirmem gerekiyor.
Garip, bir SATIN AL emriyle çalışmak için MoveStopOnce için bir TakeProfit'i etkinleştirmem gerekmiyor ama SAT emrini değiştirmek için MoveStopOnce için StopLoss'u etkinleştirmem gerekiyor.
Oh, peki, nedenini bilmiyorsan, bunu anlamak için koda biraz daha derinlemesine bakmam gerekecek.
EDIT: olarak değiştirirseniz;
if(0 < OrderOpenPrice() - Point * MoveStopTo) {
[/code]
instead of;
[code]
if(OrderStopLoss() < OrderOpenPrice() - Point * MoveStopTo) {
İyi çalışıyor gibi görünüyor.
teşekkürler
Konum Boyutlandırma Hesaplayıcı ile ilgili Yardıma ihtiyacınız var
TAMAM,
bu yüzden "Kelly Formülü"ne dayalı bir işlev olarak bir Konum Boyutlandırma hesaplayıcısı yapıyorum
(Kazanma Oranı-((1-Kazanma Oranı)/(Ort Kazanç/Ort Kayıp)
Gerekli değişkenler için manuel girişler (harici) ile çalışan tüm kod ve hesaplamaları yaptım ve şimdi belirli hesap bilgilerini çağırarak işlevi dinamik olarak çalıştırmaya çalışıyorum (yani Kazanma tutarlılık oranını (%) hesaplamak istiyorum), kazanan işlem başına ortalama # pip ve kaybedilen işlem başına ortalama # pip)
Üç işlevin (WinRate AvgWin & AvgLoss) çalışmasını sağlamak için her türlü yardımı kullanabilirim. Aylardır manuel giriş varyasyonunu kullanıyorum ve harika çalışıyor. İşte bu (otomatik) sürüm için bu noktaya kadar tam kod ... testte dinamik çıktı alamıyorum, her şey varsayılan ayara (50, 40, 20) geri dönüyor. Bunu, mevcut herhangi bir EA'ya test etmek ve kolay modülerleştirme için kendi EA'sı olarak ayarladım. herhangi bir grafiğe eklendikten sonra çıktı, günlük/uzman sekmesinde yazdırılır. fraktalların kullanımı, maksimum hesap büyümesi (veya minimum kayıp) için kasıtlıdır. Not olarak, MT tüccar platformunu sunan çoğu Broker, mini veya standart lotlar için fraktal ticarete izin verir. Bu, kısmi lot pozisyonlarını kaldırabilen para yönetimi ile gelecekte tam kullanımı kanıtlayacaktır (yani: 1 Lot'un %25'ini kaldırın). her neyse...
İhtiyacım olan gerçek zamanlı hesap bilgilerini toplamak için ...
1. tüm işlemleri sayın
2. karlı olan işlemleri sayın
vesaire vesaire.
Bu konuda doğru yolda olabilirim de olmayabilirim de.
Tüm yardımlar için şimdiden teşekkürler...
Deniz Kurdu
//+------------------------------------------- -------------------+
//| KellyFormula.mq4 |
//+------------------------------------------- -------------------+
# mülkiyet telif hakkı "deniz kurdu"
#özellik bağlantısı "deniz kurdu"
//+------------------------------------------- -------------------+
//| DIŞ BİLGİ GİRİŞİ |
//+------------------------------------------- -------------------+
harici int Hesabım = 1001; //------>>>> Hesap Kimliği
harici int ExpertID = 500001; //------>>>> Bu EA için Sihirli Sayı
harici çift PipDeğeri= 1.00; //------>>>> TÜM hesaplar için kullanın
harici çift PartiMaliyeti= 50.0; //------>>>> TÜM hesaplar için kullanın
dış çift PercentMax= 24.0; //------>>>> bir defada kaldıraçlı maksimum hesap yüzdesi
harici int TradesMax= 3; //------>>>> maksimum eşzamanlı işlem (örnek: %24/3 işlem = işlem başına %8)
extern bool UseKelly= true; //------>>>> Manuel geçersiz kılma geçişi
harici çift ManualLots= 1.0; //------>>>> "UseKelly" yanlışsa # lot
harici çift mWinRate= 50,00; //------>>>> % olarak kazanma tutarlılığı (manuel overide)
harici int mAvgWin= 40; //------>>>> kazanan ticaret başına ortalama # pip (manuel overide)
harici int mAvgLoss= 20; //------>>>> kaybedilen ticaret başına ortalama # pip (manuel overide)
//+------------------------------------------- -------------------+
//| uzman başlatma işlevi |
//+------------------------------------------- -------------------+
int init()
{
//----
//----
dönüş(0);
}
int tanım()
{
//----
//----
dönüş(0);
}
//+------------------------------------------- -------------------+
//| uzman başlatma işlevi |
//+------------------------------------------- -------------------+
int başlangıç()
{
//----
KonumSize();
{
Print("Lots=",PositionSize()," WinRate=",WinRate()," AvgWin=",AvgWin()," AvgLoss=",AvgLoss());
}
Comment("Geçerli Saat ",TimeToStr(TimeCurrent(),TIME_MINUTES)," GMT ",TimeToStr(TimeCurrent(),TIME_DATE)," ... Kazanma Oranı= ",WinRate()," Ort Win= ",AvgWin ()," Ort. Kayıp = ",Ort.Kayıp());
//----
dönüş(0);
}
//----
//+------------------------------------------- -------------------+
//| TÜM YENİ TİCARETLER İÇİN POZİSYON BOYUTU HESAPLA |
//+------------------------------------------- -------------------+
//------------------------>>>>
çift KonumSize()
{
//------------------------>>>> KELLY FORMULA KULLANMAYIN, SABİT ORAN KULLANIN
if(UseKelly == doğru)
{
double KelyForm = WinRate()-((1-WinRate())/(AvgWin()/AvgLoss()));
çift PerTrade;
çift Lot;
if(KelyForm > PercentMax)
{
PerTrade = (PercentMax/10)/TradesMax;
}
else if(KelyForm < PercentMax)
{
PerTrade = (KelyForm/10)/TradesMax;
}
else if(KelyForm == PercentMax)
{
PerTrade = (KelyForm/10)/TradesMax;
}
Lot = (PerTrade * AccountBalance()/LotCost);
dönüş(MathRound(Çok)/10);
}
}
//+------------------------------------------- -------------------+
//| GERÇEK ZAMANLI HESAP BİLGİLERİNİ TOPLA |
//+------------------------------------------- -------------------+
//------------------------>>>>
çift WinRate()
{
çift Bilet;
çift CountWins = 0;
for(Ticket=0;Ticket<OrdersTotal();Ticket++)
{
OrderSelect(Bilet,SELECT_BY_TICKET,MODE_HISTORY);
if(MyAccount==AccountNumber() && OrderSymbol()==Symbol() && OrderMagicNumber() == ExpertID)
{
//------>>>>
if(OrderType()==OP_BUY)
{
if(OrderClosePrice() >= OrderOpenPrice())
CountWins++;
}
else if(OrderType()==OP_SELL)
{
if(OrderClosePrice() <= OrderOpenPrice())
CountWins++;
}
}
}
if(CountWins > 0)
dönüş(MathRound(CountWins/OrdersHistoryTotal())*10);
başka
Print("Gerçek Zamanlı WinRate Kullanılamıyor");
dönüş(mWinRate);
}
//------>>>>
//------------------------>>>>
çift AvgWin()
{
çift Bilet;
double CountTrades = 0;
çift CountPips = 0;
for(Ticket=0;Ticket<OrdersTotal();Ticket++)
{
OrderSelect(Bilet,SELECT_BY_TICKET,MODE_HISTORY);
if(MyAccount==AccountNumber() && OrderSymbol()==Symbol() && OrderMagicNumber() == ExpertID)
{
//------>>>>
if(OrderType()==OP_BUY && OrderClosePrice()>=OrderOpenPrice())
CountTrades++;
{
if(OrderProfit() >= 0)
CountPips++;
}
if(OrderType()==OP_SELL && OrderClosePrice()<=OrderOpenPrice())
CountTrades++;
{
if(OrderProfit() >= 0)
CountPips++;
}
}
}
if(CountPip > 0)
dönüş(MathRound(CountPips/CountTrades)*10);
başka
Print("Gerçek Zamanlı Ortalama Kazanç Yok");
dönüş(mAvgWin);
}
//------>>>>
//------------------------>>>>
çift Ort.Kayıp()
{
çift Bilet;
double CountTrades = 0;
çift CountPips = 0;
for(Ticket=0;Ticket<OrdersTotal();Ticket++)
{
OrderSelect(Bilet,SELECT_BY_TICKET,MODE_HISTORY);
if(MyAccount==AccountNumber() && OrderSymbol()==Symbol() && OrderMagicNumber() == ExpertID)
{
//------>>>>
if(OrderType()==OP_BUY && OrderClosePrice()<OrderOpenPrice())
CountTrades++;
{
if(SiparişKar() < 0)
CountPips++;
}
if(OrderType()==OP_SELL && OrderClosePrice()>OrderOpenPrice())
CountTrades++;
{
if(SiparişKar() < 0)
CountPips++;
}
}
}
if(CountPip > 0)
dönüş(MathRound(CountPips/CountTrades)*10);
başka
Print("Gerçek Zamanlı Ort.Kayıp Bulunamadı");
dönüş(mAvgLoss);
}
//------------------------------------------------ ---------------------+
Kime: Matrixebiz
EDIT: if you change to;
if(0 < OrderOpenPrice() - Point * MoveStopTo) {
[/code]
instead of;
[code]
if(OrderStopLoss() < OrderOpenPrice() - Point * MoveStopTo) {
İyi çalışıyor gibi görünüyor.
teşekkürlerRica ederim.
büyük olmak
Fxpro, sor
herkese merhaba.. FxPro'da çok sayıda EA'nın nasıl yapılandırılacağını sormak istiyorum..
6 haneli (1 hane fazladan) olduğu için kafam karıştı S/L ve T/P'yi düzelttim ama partiyi değiştiremiyorum..
işlem başına her zaman 0.4.. ben bile 0.1 veya 0.3 olarak değiştirsem bile
10points 3 EA kullandım..
Lütfen Bana Yardım Edin.. bana hansen_hardrocker@yahoo.co.id adresinden e-posta gönderin
yada PM lütfen..
her şey gönlünüzce olsun..
Ask_change Lot (fxpro)
Fxpro, sor
herkese merhaba.. FxPro'da çok sayıda EA'nın nasıl yapılandırılacağını sormak istiyorum..
6 haneli (1 hane fazladan) olduğu için kafam karıştı S/L ve T/P'yi düzelttim ama partiyi değiştiremiyorum..
işlem başına her zaman 0.4.. ben bile 0.1 veya 0.3 olarak değiştirsem bile
10points 3 EA kullandım..
Lütfen Bana Yardım Edin.. bana hansen_hardrocker@yahoo.co.id adresinden e-posta gönderin
yada PM lütfen..
her şey gönlünüzce olsun..
ben de istiyorum.lütfen bana omidchart@yahoo.com adresinden gönderin
Muhtemelen EA'da Para Yönetimini etkinleştirmiş olduğunuz için.
Teşekkür
Muhtemelen EA'da Para Yönetimini etkinleştirmiş olduğunuz için.
Teşekkürler dostum..
acemiyim..
Bu EA'yı Değiştirebilir misiniz?
Merhaba programcılar,
Mevcut fiyatın üstünde ve altında stop emirleri veren bu EA'ya sahibim. İhtiyacım olan şey, mevcut fiyatın üstünde ve altında stop emirleri yerine limit emirler verecek bir EA. Tüm parametreleri aynı tutarken bunu yapmak için bu EA'yı değiştirebilir misiniz?
Şimdiden teşekkürler,
Paul