Kar Üreticisi EA - sayfa 13

 
jojolalpin:
SL'siz veya TP'siz sipariş almayı sevmiyorum ve superclose() kullanırken, Takip etkinleştirilene kadar TP yok. Bu yüzden, bilgisayar çökmesi durumunda güvence altına almak için neden bir başlangıç kârı alma (birini aşırı kapatmadan önce) ayarlamadığımı soruyorum. Bu yüzden kar al değişkeninin iki katı değerini önerdim.

Ayrıca test planını başlatmak için parametreler şunlardır:

Stoploss: 10 ila 30?

Kâr Al: 20'den 100'e?

Zaman Çerçeveleri: M1 M15 H4 Günlük Haftalık..

Para birimleri: Holyguy7 seçiminden 12 mi? sadece biraz yayılmış olanlar (<=5)?

bunlar sadece öneri.

Tamam, şimdi ne demek istediğini anlıyorum. Bunu yapmak oldukça kolaydır. %100 çalışma süresine sahip özel bir sunucu kullanıyorum, bu yüzden böyle şeyleri düşünmeyi ihmal ediyorum.

Ve burada superclose() ile ilgili bazı notlar var. TS fiyatlarını bilet numarasına göre takip edebilmeyi umuyordum, böylece MaxTrades'i 1'den fazlaya ayarlayabilir VE 10 pipten daha az bir farkla takip edebilirsiniz.

void SuperClose(){

for(int i=0;i<OrdersTotal();i++){

if(OrderSelect(i,SELECT_BY_POS)){

if(OrderSymbol()==Symbol() && OrderMagicNumber()==ID){//Pulls in order that meets the criteria for processing

int num=0;int pos=0;

for(int b=0;b<21;b++){// this (loopB) compares the ticket# of the selected order against the number stored in the ticket array

if(tsTicket==OrderTicket() ){

num++; pos=b;// if ticket numbers match, pos is the position in the array where the trailing data is stored

Print("(",pos,") Ticket ",tsTicket[pos]," found. SL is ",tsPrice[pos]);

break;

}

}

if(num==0){ // if the loopB did not find a matching ticket number it is time to initialize the data

for(int j=0;j<21;j++){

if(tsTicket[j]==0){// this is looking for the earliest instance within the array to store the data

pos=j;

break;

}

}

tsTicket[pos]=OrderTicket();// setting the ticket number

tsok[pos]=false;// this is to determine when trailing kicks in

Print("(",pos,") New ticket initialized = ",tsTicket[pos]);

}

if (OrderType()==OP_SELL) {

if (!tsok[pos] && (OrderOpenPrice()-Ask>=TSactivation*Point || TSactivation==0 ) ) {// if the trailing factor is false, but it has hit the activation point continue

tsPrice[pos]=Ask+TrailPips*Point;// this is the new trailinf stop price

tsok[pos]=true;// it's ok to proceed with trailing stop

if(TrailPips>8){// if this distance from the current price to the new stop, then modify the order.

ModifyStopLoss(Ask+TrailPips*Point);//modifies order

}

}

if (tsok[pos] && Ask+TrailPips*Point < tsPrice[pos] ){//if the position is gaining in profit

tsPrice[pos]=Ask+TrailPips*Point;

if(TrailPips>8){

ModifyStopLoss(Ask+TrailPips*Point);

}

}

if (tsok[pos] && Ask >= tsPrice[pos] ){// if the postion hits the stop price

CloseOrder(2);

Print("Order ",tsTicket[pos]," Closed from TS");

}

}

if (OrderType()==OP_BUY) {// reverse of SELL

if(!tsok[pos] && (Bid-OrderOpenPrice() >= TSactivation*Point || TSactivation==0 ) ) {

tsPrice[pos]=Bid-TrailPips*Point;

tsok[pos]=true;

if(TrailPips>8){

ModifyStopLoss(Bid-TrailPips*Point);

}

}

if (tsok[pos] && Bid-TrailPips*Point > tsPrice[pos] ){

tsPrice[pos]=Bid-TrailPips*Point;

if(TrailPips > 8){

ModifyStopLoss(Bid-TrailPips*Point);

}

}

if (tsok[pos] && Bid <= tsPrice[pos] ){

CloseOrder(1);

Print("Order ",tsTicket[pos]," Closed from TS");

} } } } }

for(i=0;i<21;i++){// this searches the array for ticket numbers that are now obsolete due to an order that has closed

if(tsTicket>0){

bool found=false;

for(b=0;b<OrdersTotal();b++){

OrderSelect(b,SELECT_BY_POS);

if(tsTicket==OrderTicket()){

found=true;

break;

}

}

if(!found){// if there are matching ticket numbers in the trade pool and the array then nothing happens

tsTicket=0;tsPrice=0;tsok=false;// if there is an obolete ticket the the data is reset. And the next new ticket data can occupy this space

Print("Array pos ",i," Cleaned");

} } } }
 
 

UseClose doğru olduktan sonra TP'de değişiklik yapılan EA burada. Güvenlik amacıyla TP'yi ikiye katlayacaktır. Teşekkürler Jo!

Dosyalar:
 
dazminder:
Profit Generator 2.4'ü test etmeyi umuyordum. 630GMT'den herhangi bir işlem yapmadı..... Herhangi biri için başka bir işlem yaptı mı? TF15 $/CHT, £/$, Euro/$.. Lütfen bana bildirin, çünkü bunun prensipte iyi bir EA olduğunu düşünüyorum.

Daha az işlem alacaksınız çünkü ilk kriter, mevcut çubuğun LongBar değerinden daha büyük olması gerektiğidir. Alt TF'de daha küçük bir mum tavsiye ederim.

 
jojolalpin:
tamam, ama bir acemi olarak daha deneyimli birinin farklı parametrelere yüksek ve düşük limitler vermesini bekleyeceğim.

Şu anda Holyguy7'den ön ayarlar üzerinde 2.4'ü test ediyorum ve 1:00 AM'den sadece 3 işlem yaptım (günlük BAD'de 1:10 usdcad sattım; H1'de 7:29 ve 14:29 gbpusd ilk 28 pip ve ikinci aslında kaybeden). Normal görünüyor, aynı sonuçları alan var mı?

Ayrıca, birden çok zaman dilimi testine izin vermek için 2.6 sürümünde üç satırı değiştirdim:

1 -

harici int kimliği;

olur

harici int ID_BASE=100000; PG_2.6'ya bir sayı vermek için (burada 1)

2 - "int Bar"ın hemen altına bir sonraki satırı ekledim;

int kimliği;

3 - init() işlevini ekledim

int init(){

ID=ID_BASE+Periyot(); dönüş(0);

}

Yani bir Günlük grafikte sihirli sayı 101440 olacak ve ticaretin yorumunda görünecek. Her bir zaman dilimi ve parametre türü için sonuçları analiz etmek daha kolay olacaktır. Henüz test etmedim ama çalışması gerekiyor.

ve belirli bir çizelge için rastgele bir numaraya değil, sabit bir kimliğe sahip olacaksınız.

Ayrıca, belki de superclose işlevini kullanarak bir başlangıç kârı ekleyebiliriz. Sadece bilgisayar çökmesi durumunda.

Not: Göndermeden önce silmem gereken başka değişiklikler yaptım. ilgilenirsen söyle.

İyi fikir! Akılda tutulması gereken tek şey, Base ID'yi değiştirmek için aynı çift ve TF üzerinde farklı testler yapacaksanız. Bu değişiklikleri ekledim, ancak küçük bir değişiklik yaptım. ...Periyot, "period" değişkeninden (tablodan farklı olarak) değişebileceğinden, bunun yerine şunu yaptım:ID=ID_BASE+P(); dönüş(0);

P(), program tarafından kullanılan gerçek süreyi döndürür. Harika fikir...Başka hangi değişikliklerle oynadınız?

İşte 2.6.2.

 

Bununla ilgili son gönderiden bu yana başka bir şey yok (gbpusd hala kaybeden) ama H1 ve günlük olarak koşuyorum ve longbar = 15 tuttum.

hadi bu geceyi bekleyelim (genel olarak jpy çiftleri için)

 

bana test parametreleri (SL & TP) önerecek olan var mı?

Ana para birimlerinde ve M1, M5, M15, H1 ve H4'te saat sınırı kullanacağım.

 
jojolalpin:
Bununla ilgili son gönderiden bu yana başka bir şey yok (gbpusd hala kaybeden) ama H1 ve günlük olarak koşuyorum ve longbar = 15 tuttum. hadi bu geceyi bekleyelim (genel olarak jpy çiftleri için)

GBPUSD'nin Günlük grafikte daha iyi çalıştığını fark ettim:

TP: 40

SL: 30

Zaman Filtresi Yok

Uzun çubuk: 10

Sadece daha güvenilir görünüyor. EURUSD ve USDCHF, H1 grafiğinde longbar 15'te ve timefliter açıkken daha iyi görünüyor.

Büyük döviz çiftleri bana bu EA ile uyum sağlıyor gibi şu anda mücadele ediyorum. Büyük döviz çiftlerinde başarılı olan var mı??? Eğer öyleyse, lütfen bulgularınızı gönderin.

 

Merhaba

kutsal adam,

Bugün bu yeni EA'daki ilerleme nedir?

 
kumawat:
Merhaba

kutsal adam,

Bugün bu yeni EA'daki ilerleme nedir?

Eh, bazı büyük döviz çiftleri nedeniyle dünden itibaren bir miktar geri çekilme oldu. Hafta için hala %20'nin üzerinde ve şu anda sistemde HİÇBİR açık işlem yok.

Birkaç saat sonra sonuçlarımı yazarım. H1 zaman diliminde GBPUSD vardı ama diğerleri gibi D1 zaman diliminde daha güvenilir olduğuna inanıyorum. Seni haberdar edeceğim.