Firebird v63G - sayfa 30

 

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.

Dosyalar:
 

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

Hendrick:
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?
 
MarvinSk:
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ürler

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?

 
Hendrick:
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();

 
MarvinSk:
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ürler

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);

}

}

}

}

}

Wackena

 
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);

}

}

}

}

}

Wackena

Wackena 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

MarvinSk:
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...