Gewinn-Generator EA - Seite 13

 
jojolalpin:
Ich mag es nicht, Aufträge ohne SL oder TP zu haben, und wenn ich superclose() verwende, gibt es keinen TP, bis Trailing aktiviert wird. Also frage ich, warum nicht eine anfängliche Take-Profit (vor superclose setzen ein), um im Falle von Computer-Crash gesichert werden. Das ist, warum ich vorgeschlagen, zwei mal den Wert der takeprofit Variable.

Auch auf den Testplan zu initiieren, Parameter sind:

Stoploss: 10 bis 30?

Gewinnmitnahme: 20 bis 100?

TimeFrames: M1 M15 H4 Täglich Wöchentlich..

Währungen: 12 aus Holyguy7 Auswahl? nur die mit einem kleinen Spread (<=5)?

Das sind nur Vorschläge.

Ok, jetzt verstehe ich, was Sie meinen. Es ist ziemlich einfach zu machen. Ich verwende einen dedizierten Server mit 100 % Betriebszeit, daher vernachlässige ich solche Dinge.

Und hier sind einige Anmerkungen zu superclose(). Ich hatte gehofft, die Möglichkeit zu haben, TS-Preise anhand der Ticketnummer zu verfolgen, so dass man MaxTrades auf mehr als 1 setzen kann UND in der Lage ist, um weniger als 10 Pips zu trailen.

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

} } } }
 
 

Hier ist der EA mit Änderung des TP nach UseClose ist wahr. Er verdoppelt den TP aus Sicherheitsgründen. Danke Jo!

Dateien:
 
dazminder:
Ich hatte gehofft, den Profit Generator 2.4 testen zu können. Es hat keine Trades von 630GMT..... platziertHat es irgendwelche anderen Trades für jemanden platziert. TF15 $/CHT, £/$, Euro/$... Bitte lassen Sie es mich wissen, da ich denke, dass dies ein guter EA im Prinzip ist.

Sie werden weniger Trades erhalten, da das erste Kriterium darin besteht, dass der aktuelle Balken länger sein muss als der Wert von LongBar. Ich würde eine kleinere Kerze auf dem unteren TF empfehlen.

 
jojolalpin:
ok, aber als Neuling werde ich auf jemanden warten, der mehr Erfahrung hat, um die Ober- und Untergrenzen für die verschiedenen Parameter anzugeben.

Ich bin derzeit testen 2.4 auf Voreinstellungen von Holyguy7 und von 1:00 AM Ich habe nur 3 Trades (1:10 verkaufen usdcad auf täglich BAD; 7:29 und 14:29 gbpusd auf H1 ersten 28 Pips und zweite tatsächlich Verlierer). Es scheint normal zu sein, jemand haben die gleichen Ergebnisse?

Auch, um mehrere timeframes Tests zu ermöglichen, änderte ich drei Zeilen auf 2.6 Version:

1 -

extern int ID;

wird zu

extern int ID_BASE=100000; um PG_2.6 eine Nummer zu geben (hier 1)

2 - Ich habe die nächste Zeile direkt unter "int Bar;" hinzugefügt

int ID;

3 - Ich habe die Funktion init() hinzugefügt

int init(){

ID=ID_BASE+Period(); return(0);

}

Auf einem Daily-Chart wird die magische Zahl also 101440 sein und im Handelskommentar erscheinen. Es wird einfacher sein, die Ergebnisse für jeden Zeitrahmen und jede Art von Parametern zu analysieren. Ich habe es noch nicht getestet, aber es sollte funktionieren.

und für ein bestimmtes Diagramm haben Sie eine feste ID und nicht eine zufällige Zahl.

Vielleicht könnten wir auch einen anfänglichen Take-Profit mit der Superclose-Funktion hinzufügen. Nur für den Fall eines Computerabsturzes.

PS: Ich habe weitere Änderungen vorgenommen, die ich vor der Veröffentlichung löschen muss. sagen Sie es mir bei Interesse.

Tolle Idee! Das Einzige, was zu beachten ist, ist, wenn Sie verschiedene Tests für dasselbe Paar und TF durchführen, um die Basis-ID zu ändern. Ich habe diese Änderungen hinzugefügt, aber eine kleine Änderung vorgenommen. ...da sich die Periode über die Variable "period" ändern kann (anders als im Chart), habe ich stattdessen folgendes gemacht:ID=ID_BASE+P(); return(0);

Das P() gibt die aktuelle Periode zurück, die vom Programm verwendet wird. Tolle Idee... welche anderen Änderungen haben Sie ausprobiert?

Hier ist 2.6.2.

 

nichts mehr seit dem letzten Beitrag über diese (gbpusd noch Verlierer), aber ich bin auf H1 und täglich laufen und ich hielt longbar=15.

Lassen Sie uns diese Nacht warten (insgesamt für jpy Paare)

 

Kann mir jemand Testparameter (SL & TP) vorschlagen?

Ich werde keine Stunden-Limit auf die wichtigsten Währungen und M1, M5, M15, H1 und H4 verwenden.

 
jojolalpin:
nichts mehr seit dem letzten Beitrag über diese (gbpusd noch Verlierer), aber ich bin auf H1 und täglich laufen und ich hielt longbar=15. lassen Sie uns diese Nacht warten (insgesamt für jpy Paare)

Ich habe festgestellt, dass der GBPUSD auf dem Tageschart besser zu funktionieren scheint:

TP: 40

SL: 30

Kein Zeitfilter

Longbar: 10

Scheint einfach zuverlässiger zu sein. EURUSD und USDCHF scheinen auf dem H1-Chart mit Longbar bei 15 und eingeschaltetem Zeitfilter besser zu funktionieren.

Ich bin gerade jetzt kämpfen, wie die wichtigsten Währungspaare geben mir passt mit diesem EA. Hat jemand Erfolg mit den großen Währungspaaren??? Wenn ja, bitte posten Sie Ihre Ergebnisse.

 

Hallo

HolyGUY,

Was ist der Fortschritt heute auf diesem neuen EA

 
kumawat:
Hallo

HolyGUY,

Was ist der Fortschritt heute auf diesem neuen EA

Nun, seit gestern gab es einen kleinen Rücksetzer bei einigen der wichtigsten Währungspaare. Immer noch über 20% für die Woche und derzeit das System hat KEINE offenen Trades.

Ich werde meine Ergebnisse in ein paar Stunden posten. Ich hatte den GBPUSD auf dem H1-Zeitrahmen, glaube aber, dass es auf dem D1-Zeitrahmen zuverlässiger ist, wie die anderen auch. Ich werde Sie auf dem Laufenden halten.

Grund der Beschwerde: