CyberiaTrader..inanılmaz bir EA! - sayfa 16

 

Açıklama güncellendi.

Bir haftada sermayeyi neredeyse ikiye katladı.

v1.60

Parti büyüklüğünü bundan sonra 2 olarak değiştireceğim.

Dosyalar:
statement_2.htm  1653 kb
 

ATR_normalleştirilmiş ekran

Igor ATR_normalized ekranını yukarıdaki cevaba eklemeyi unuttum. İşte burada.

Dosyalar:
atr_norm.gif  50 kb
 
igorad:
Merhaba,

Normalleştirilmiş ATR oluşturmaya çalıştım ama bunun o kadar basit bir iş olmadığını düşünüyorum.

Böylece girdilerle oynamayı deneyebilirsiniz.

İgor

not. Üzgünüm ama kodda hata vardı. Sabit.

Igor, normalleştirilmiş ATR için çok teşekkür ederim. Hiçbir zaman 30'un altına düşmemesi (0-100 ölçeği) dışında iyi görünüyor. Ekteki ekrana bakarsanız ATR_normalized 35 civarında kalırken iATR'nin 0'a gittiğini göreceksiniz. iATR'nin bir süreliğine de olsa sıfıra ulaştığı tüm durumlarda, ATR_normalized 30'un üzerinde kalıyor. Düzeltebilir misiniz lütfen? Ayrıca yerel iATR ve iMA'yı kullanarak oluşturmak daha kolay olmaz mıydı? Belki bu daha kolay olurdu ve CT'deki kodu filtre olarak kullanabilirim.

 

Merhaba,

bunu dene. Tamam olmalı.

Dosyalar:
 
igorad:
Merhaba, bunu deneyin. Tamam olmalı.

Tamam, bunu deneyeceğim. Ayrıca, bunu çok basit bir şekilde yapabildim:

çift normATR=0;

double maxATR=iATR(Symbol(),Period(),14,0);

int i;

for(i=1;i<14;i++)

{

if(iATR(Symbol(),Period(),14,i)>maxATR)

{

maxATR=iATR(Symbol(),Period(),14,i);

}

}

normATR=(iATR(Symbol(),Period(),14,0)/maxATR)*100;

Bu da iyi çalışıyor gibi görünüyor. Yardımın için teşekkürler!!

 
igorad:
Şu anda son sürümü test ediyorum ve bazı hatalar buldum. Bu yüzden lütfen güncellemeleri bekleyin.

Igor, sürümünüzü PIP Zamanlayıcı düzeltmeleriyle birlikte yayınlayabilir misiniz? Mevcut haliyle düzgün çalışmıyor. PIPcounter'ı girişte başlatır ve elde edilen kardan bağımsız olarak süre dolduktan sonra çıkar. Lütfen saniyeler yerine keneler üzerinde test edin, çünkü ikinci sayım gelen kenelerle eşzamansız olduğundan. Katkınız için teşekkür ederiz.

İşte yine özellikler ve ayrıca birkaç mod ile orijinal olarak yazdığınız kadarıyla sahip olduğum kod:

1. EnablePIPTimer=true ise;

2. MinPIPProfit >=X olduğunda TakePIPCountdown'ı etkinleştirin (TakePipTimer Girişine AYARLA). Bu, kenelerde 0'a kadar geri saymaya başlar.

3. TakePIPCountDown geri sayım yapar: 60, 59, 58..tikler vb.

4. Global değişkeni double olarak bildir BestPIPProfit=0; bu, pozisyonun şimdiye kadar elde ettiği en iyi PIP kârını elinde tutuyor.

5. Başlangıçta BestPIPProfit=MinPIPProfit yapın;

6. BestPIPProfit=mevcut PIP kârını alın

7. BestPIPProfit > MinPIPProfit ise MinPIPProfit = BestPIPProfit yapın (bu, bu açık pozisyon için bundan sonra GÜNCELLENEN minimum taban PIP karı olacaktır).

8. Yukarıdaki koşul #7 gerçekleştiğinde TakePIPCountDown'ı başlangıç değerine (TakePipTimer) yeniden başlatın ve sayma için etkinleştirin..Yeni MinPIPProfit katı ile tekrar 60, 59, 58 tik vb. sayıyor.

9. TakePIPCountDown 0 CLOSE'a ulaştığında, açık sipariş hemen.

10. Mevcut PIP karı MinPIPProfit'in altına düşerse TakePIPCountDown'ı durdurun (ve orijinal TakePipTimer değerine sıfırlayın) bu çalışma sırasında tekrar mevcut kar >= MinPIPProfit (erişilen en yüksek kat) olana kadar

KOD:

int CheckTakeProfitTimer()

{

double _point = MarketInfo(OrderSymbol(),MODE_POINT);

çift PipProfit = 0;

if (EnablePipTimer==true)

{

(int cnt=0;cnt<OrdersTotal();cnt++) için

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

int mod=SiparişTürü();

if ( OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)

{

if (mod==OP_BUY)

PipProfit = MathRound((Bid - OrderOpenPrice())/_point); // ALIM için Açık Kar/Zararı Hesapla

başka

if (mod==OP_SEL)

PipProfit = MathRound((OrderOpenPrice()-Ask)/_point); // SATIŞ için Açık Kar/Zararı Hesapla

MaxPipProfit = MathMax(PipProfit,MaxPipProfit); // İşlem sırasında mevcut veya maksimum en büyük karı elde edin

if (MaxPipProfit >= BestPipProfit) // taban PIP karına ulaşılıp ulaşılmadığını kontrol edin

{

if (!StartCount1 || ( StartCount1 && BestPipProfit > MinPipProfit)) // devam eden sayı yok ve taban PIP kârına ulaşıldı

{

BestPipProfit=MaxPipProfit; // mevcut maks. şimdiye kadar elde edilen kar

TimerStart1 = CurTime()/1000; // şimdiki zamanı dondur

TakePipCountDown = TakePipTimer; // değeri ayarlamak için sayacı başlat

StartCount1=true; // sayacı başlat

}

başka

if (TimerType == 0) // sayım devam ediyor..saniyeleri sayın veya tik

{

TakePipCountDown = TakePipTimer - (CurTime()/1000 - TimerStart1); // Seçilen seçenek Saniye sayısıdır

}

başka

{

TakePipCountDown--; // Seçilen seçenek Tik sayısıdır

}

} // if (MaxPipProfit..

}// if (Sipariş...

} // için

} // EnablePipTimer'da

 

CT 1.85'te işlem yapılmaması düzeltildi

Üzgünüm çete.. 1.85'te CT 1.85'in kötü işlem saatlerinden sonra işlem yapmasını engelleyen bir hata vardı. Yeni sürüm çıkana kadar şimdilik düzelttim ve adını 1.85f (düzeltildi) koydum. Lütfen bu sürümü orijinal olarak yayınlanan 1.85 ön ayarlarla kullanın. Bu, 1.85 ile aynıdır ve yalnızca ticaret yapılmaması düzeltmesini içerir. Bunu daha önce yakalamalıydık.

Dosyalar:
 
fxspeedster:
Üzgünüm çete.. 1.85'te CT 1.85'in kötü işlem saatlerinden sonra işlem yapmasını engelleyen bir hata vardı. Yeni sürüm çıkana kadar şimdilik düzelttim ve adını 1.85f (düzeltildi) koydum. Lütfen bu sürümü orijinal olarak yayınlanan 1.85 ön ayarlarla kullanın. Bu, 1.85 ile aynıdır ve yalnızca ticaret yapılmaması düzeltmesini içerir. Bunu daha önce yakalamalıydık.

Herkesin nasıl bu kadar harika sonuçlar aldığını anlayamadım ama neredeyse hiç sipariş almıyordum!

 

Merhaba,

Ayrı PipTimerExpert geliştirdim. Bu Uzman, ticareti fxspeedster tarafından açıklanan tekniğe göre yönetebilir. Bu sürüm, saniye sayacını ve keneleri içerir. CyberiaTrader için kullanabilirsiniz.

Dosyalar:
 
igorad:
Merhaba, ayrı PipTimerExpert geliştirdim. Bu Uzman, ticareti fxspeedster tarafından açıklanan tekniğe göre yönetebilir. Bu sürüm, saniye sayacı ve kene içerir. CyberiaTrader için kullanabilirsiniz.

Igor, harika çalışman için teşekkürler. Bu kodu ekliyorum ve test ediyorum. Sen en iyisin!