![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret 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
Geçen haftaki USDCHF grafiğinde görebileceğiniz gibi, Firebird bir menzile bağlı piyasada çok iyi gidiyor. Piyasalar trend haline geldikçe, Firebird sıklıkla yanlış kararlar veriyor. Dolayısıyla bunun çözümü çok basit olabilir: Markör trend olur olmaz oradan çıkmalı ve menzile bağlı pazar geri yüklendiğinde geri dönmeliyiz.
Phoenix'te bu değişikliklerle ilgilenen bir kod parçası var. Kısacası, son 24, 12, 6 ve 2 saatin Yükseklerini alır ve piyasanın ne zaman trend olacağına ve menzile bağlı piyasanın ne zaman geri yükleneceğine karar verebilir.
Harika iş Hendrick, beyin fırtınanız meyvesini veriyor, piyasaya sürdüğünüzde Phoenix'i test etmeyi dört gözle bekliyorum. şerefe, Goldensight
Burada, işler zorlaştığında USDCHF için Phoenix ve Firebird arasındaki davranış farkını görebilirsiniz:
Firebird 3 SATIN AL veriyordu, hepsi durdu.
Phoenix doğru anı bekliyor, hepsi TP'yi vuran 3 SATIŞ yaptı.
Güzel?Artık çok yakınlaşıyor
Bunu ekledim:
if ((Safe1!=1)&&(DealTime==2)) {
for (int i=OrdersTotal()-1; i>=0; i--) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==Symbol()) {
if (OrderType()==OP_BUY) {
pBid=MarketInfo(OrderSymbol(), MODE_BID);
OrderClose(OrderTicket(), OrderLots(), pBid, slip, clCloseBuy);
}
if (OrderType()==OP_SELL) {
pAsk=MarketInfo(OrderSymbol(), MODE_ASK);
OrderClose(OrderTicket(), OrderLots(), pAsk, slip, clCloseSell);
}
}
}
}
}
Geri Testte OpenTrades'i kapattığını görüyorum, ancak STOPLOSS Arama Özelliğini eklemem gerekiyor, çünkü Safe1 ve DealTime değişkenleri eşleştirildiğinde POZİTİF KAZANÇLAR içeren kapanış işlemleri....
Yani Stoploss 3. tuzak olmalı... Bunu haftaya çalışır hale getirdiğimde ileteceğim...
Yine herkes, Piyasa Değişken olduğunda Mevcut açık işlemler üzerinde bir miktar kontrole sahip olduğu fikrindedir... Bir İşlem DURACAKsa, %100 yerine Yarıda Durmayı tercih ederim. En azından piyasa düzeldiğinde telafi edecek çok şeyiniz kalmaz...
teşekkürlerMerhaba Marvin,
Sinyal değişir değişmez açık bir ticareti kapatmak çok daha kolay bir çözüm olacaktır. Ne düşünüyorsun?
Merhaba Marvin, Sinyal değişir değişmez açık bir ticareti kapatmak çok daha kolay bir çözüm olacaktır. Ne düşünüyorsun?
Hey Hendrick... Sinyal derken Safe1 ve Dealtime değerlerinin ne zaman gerçek olduğunu mu kastediyorsunuz?
Eğer piyasa şu anda kapalı olduğu için geriye dönük testlerden gördüğüm durum buysa, bazı Pozitif İşlemlerin de Kapandığıdır... Yani DURDURMA kontrolü bunu kontrol eden 3. değişkendir.
ELİHAYUN tarafından sunulan bazı kodlarım var
Şuna bir bak Hendrick...
void CloseOrder(int bilet,double numLots,double close_price)
{
int KapatCnt, hata;
// 3 Kez kapatmayı dene
KapatCnt = 0;
süre (CloseCnt < 3)
{
if (OrderClose(ticket,numLots,close_price,Slippage,Violet))
{
KapatCnt = 3;
}
başka
{
err=GetLastError();
Print(CloseCnt," Hata kapatma sırası : (", err , ") " + ErrorDescription(err));
if (err > 0) CloseCnt++;
}
}
}
geçersiz CloseHalfSL()
{
çift KayıpYüzdesi = 50.0; // S/L'den %50
for(int i=OrdersTotal()-1;i>=0;i--) // tüm emirleri ve pozisyonları tara...
{
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
(OrderMagicNumber() != MagicNumber) devam ederse;
if ( OrderSymbol()==Symbol() )
if (OrderProfit() < 0) // kayıp ticaretimiz var
{
double prc = Teklif;
if (OrderType() == OP_SELL) prc = Sor;
double ord_prc = OrderOpenPrice();
double ord_SL = OrderStopLoss();
int SL_points = MathAbs(ord_prc - ord_SL) / Nokta;
int Actual_Lose = MathAbs(prc - ord_prc) / Nokta;
if ( (Actual_Lose * 100 / SL_points) >= LosePercent) // Çok fazla kayıp
{
CloseOrder(OrderTicket(), OrderLots(), prc);
}
}
}
}
/// ---- Ticaretin güvenli olup olmadığını kontrol edin ve ardından CloseHalfSL'yi arayın
if (NotSafeToTrade) CloseHalfSL();
Artık çok yakınlaşıyor
Bunu ekledim:
if ((Safe1!=1)&&(DealTime==2)) {
for (int i=OrdersTotal()-1; i>=0; i--) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==Symbol()) {
if (OrderType()==OP_BUY) {
pBid=MarketInfo(OrderSymbol(), MODE_BID);
OrderClose(OrderTicket(), OrderLots(), pBid, slip, clCloseBuy);
}
if (OrderType()==OP_SELL) {
pAsk=MarketInfo(OrderSymbol(), MODE_ASK);
OrderClose(OrderTicket(), OrderLots(), pAsk, slip, clCloseSell);
}
}
}
}
}
Geri Testte OpenTrades'i kapattığını görüyorum, ancak STOPLOSS Arama Özelliğini eklemem gerekiyor, çünkü Safe1 ve DealTime değişkenleri eşleştirildiğinde POZİTİF KAZANÇLAR içeren kapanış işlemleri....
Yani Stoploss 3. tuzak olmalı... Bunu haftaya çalışır hale getirdiğimde ileteceğim...
Yine herkes, Piyasa Değişken olduğunda Mevcut açık işlemler üzerinde bir miktar kontrole sahip olduğu fikrindedir... Bir İşlem DURACAKsa, %100 yerine Yarıda Durmayı tercih ederim. En azından piyasa düzeldiğinde telafi edecek çok şeyiniz kalmaz...
teşekkürlerBu, POZİTİF KAZANÇ siparişlerini açık bırakmanın bir yolu olabilir. if(OrderType()" satırına "&& OrderProfit()<0" ekleyin.
if ((Safe1!=1)&&(DealTime==2)) {
for (int i=OrdersTotal()-1; i>=0; i--) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==Symbol()) {
if (OrderType()==OP_BUY && OrderProfit()<0) {
pBid=MarketInfo(OrderSymbol(), MODE_BID);
OrderClose(OrderTicket(), OrderLots(), pBid, slip, clCloseBuy);
}
if (OrderType()==OP_SELL && OrderProfit()<0) {
pAsk=MarketInfo(OrderSymbol(), MODE_ASK);
OrderClose(OrderTicket(), OrderLots(), pAsk, slip, clCloseSell);
}
}
}
}
}
Wackena
Bu, POZİTİF KAZANÇ siparişlerini açık bırakmanın bir yolu olabilir. if(OrderType()" satırına "&& OrderProfit()<0" ekleyin.
if ((Safe1!=1)&&(DealTime==2)) {
for (int i=OrdersTotal()-1; i>=0; i--) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==Symbol()) {
if (OrderType()==OP_BUY && OrderProfit()<0) {
pBid=MarketInfo(OrderSymbol(), MODE_BID);
OrderClose(OrderTicket(), OrderLots(), pBid, slip, clCloseBuy);
}
if (OrderType()==OP_SELL && OrderProfit()<0) {
pAsk=MarketInfo(OrderSymbol(), MODE_ASK);
OrderClose(OrderTicket(), OrderLots(), pAsk, slip, clCloseSell);
}
}
}
}
}
WackenaWackena teşekkürler.. ama sözdizimimizde bir düzeltme yaptım
çift pBid, pAsk;
if ((Safe1!=1)&&(DealTime==2)) {
for (int i=OrdersTotal()-1; i>=0; i--) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==Symbol()) {
if ((OrderType()==OP_BUY)&&(OrderProfit()<0)){
pBid=MarketInfo(OrderSymbol(), MODE_BID);
OrderClose(OrderTicket(), OrderLots(), pBid, slip, clCloseBuy);
}
if ((OrderType()==OP_SEL)&&(OrderProfit()<0)) {
pAsk=MarketInfo(OrderSymbol(), MODE_ASK);
OrderClose(OrderTicket(), OrderLots(), pAsk, slip, clCloseSell);
}
}
}
}
}
Tamam, piyasa dalgalıyken mevcut açık işlemlerin ele alınmasıyla ilgili yaptığım eklemelerle ileriye dönük testler yapıyorum...
Sahip olduğum tek istisna... 0 - 24 arası TradingHour Yerine
Bu kalıbı takas ediyorum:
0 - 7 EST
11 - 24 EST
Bunu yapıyorum çünkü EA'nın NY açılışı sırasında açıkça ticaret yapmadığından emin olmak istiyorum... 8 -10 EST'de çok fazla oynaklık gördüm
Hafta ilerledikçe sonuçlarımı paylaşacağım... Bu hafta biraz gürültü çıkaran haberlerimiz var bakalım neler olacak
"Aslan Ülkesinde Kuş Gözlemciliği" kitabını yeni bitirdim. Fena değil. Son bölüm faydalı. Firebird ve Phoenix'in arkasındaki fikirle de oldukça alakalı. Fikir tam olarak aynı değil ama çok benzer ve biri ondan bazı iyi fikirleri kolayca çalabilir ve Firebird'ü harika bir EA'ya dönüştürmek için onları ima edebilir. Hendrick, Wackena ve diğer birkaç Firebird geliştiricisi onu okumakla ilgileniyorsa, bana bildirin.
Firebird'i test etmek istiyorum
Merhaba hendrik,.. Fire Bird'ün daha yeni sürümünü test etmek istiyorum (çünkü birçok firebird sürümü). Bana gösterebilir misin lütfen,....
Ateş kuşundan anka kuşuna kadar çok çalışkan çocuklar, hepinize saygı duyuyorum,...
Teşekkürler
Canlı hesapta sorun yok
Herkesin InterbankFX ile CANLI bir Hesabı var
bu hataları alıyorum
2006.06.26 20:10:59 : 1.00 USDCHFm satın alma emri 1.2407 sl'de açılıyor: 1.2307 tp: 1.2417 başarısız oldu [Genel hata]
Bu, CANLI hesaplarda EA'ya izin vermedikleri anlamına mı geliyor?IBFX'te canlı hesabım var, şu ana kadar sorun yok...