Generatore di profitto EA - pagina 13

 
jojolalpin:
Non mi piace avere ordini senza SL o senza TP e quando si usa superclose(), non c'è TP fino a quando non si attiva il Trailing. Quindi chiedo perché non impostare un takeprofit iniziale (prima di superclose) per essere sicuri in caso di crash del computer. Ecco perché ho proposto due volte il valore della variabile takeprofit.

Anche per avviare il piano di test, i parametri sono:

Stoploss: 10 a 30?

Takeprofit: da 20 a 100?

TimeFrames: M1 M15 H4 Daily Weekly.

Valute: 12 dalla selezione di Holyguy7? solo quelle con poco spread (<=5)?

Questi sono solo suggerimenti.

Ok, ora ho capito cosa intendi. È abbastanza facile da fare. Io uso un server dedicato con il 100% di up time, quindi trascuro di pensare a cose del genere.

Ed ecco alcune note sul superclose(). Speravo di poter avere la possibilità di tracciare i prezzi dei TS in base al numero di ticket, in modo da poter impostare MaxTrades a più di 1 E poter seguire meno di 10 pip.

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

} } } }
 
 

Ecco l'EA con il cambiamento del TP dopo che UseClose è vero. Raddoppierà il TP per sicurezza. Grazie Jo!

 
dazminder:
Speravo di testare Profit Generator 2.4. Non ha piazzato nessun trade da 630GMT.....Ha piazzato altri trade per qualcuno. TF15 $/CHT, £/$, Euro/$... Fatemi sapere, perché penso che questo sia un buon EA in linea di principio.

Otterrai meno trades perché il primo criterio è che la barra attuale deve essere maggiore del valore di LongBar in lunghezza. Consiglierei una candela più piccola sul TF inferiore.

 
jojolalpin:
Ok, ma essendo un principiante aspetterò che qualcuno più esperto dia limiti alti e bassi ai diversi parametri.

Attualmente sto testando la 2.4 sui preset di Holyguy7 e dall'1:00 AM ho fatto solo 3 trade (1:10 vendere usdcad su daily BAD; 7:29 e 14:29 gbpusd su H1 primo 28 pips e secondo effettivamente perdente). Sembra essere normale, qualcuno ha gli stessi risultati?

Inoltre, per permettere test su più timeframes, ho cambiato tre linee sulla versione 2.6:

1 -

extern int ID;

diventa

extern int ID_BASE=100000; per dare un numero a PG_2.6 (qui 1)

2 - Ho aggiunto la prossima linea appena sotto "int Bar;"

int ID;

3 - Ho aggiunto la funzione init()

int init(){

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

}

Così su un grafico giornaliero magicnumber sarà 101440 e apparirà nel commento del trade. Sarà più facile analizzare i risultati per ogni timeframe e tipo di parametri. Non l'ho ancora testato ma dovrebbe funzionare.

e per un grafico specifico si avrà un ID fisso e non un numero casuale.

Inoltre, forse potremmo aggiungere un takeprofit iniziale usando la funzione superclose. Solo in caso di crash del computer.

PS: ho fatto altre modifiche che devo cancellare prima di postare. ditemi se siete interessati.

Grande idea! L'unica cosa da tenere a mente è se hai intenzione di eseguire diversi test sulla stessa coppia e TF per cambiare l'ID di base. Ho aggiunto queste modifiche, ma ho fatto una piccola modifica. ...poiché il periodo può cambiare dalla variabile "period" (diversa dal grafico), ho fatto invece questo:ID=ID_BASE+P(); return(0);

La P() restituisce il periodo attuale in uso dal programma. Ottima idea... con quali altre modifiche hai giocato?

Ecco la 2.6.2.

 

niente di più dall'ultimo post su questo (gbpusd ancora perdente) ma sto correndo su H1 e daily e ho tenuto longbar=15.

Aspettiamo questa notte (in generale per le coppie jpy)

 

qualcuno mi suggerisce i parametri di test (SL & TP)?

Userò nessun limite orario sulle valute principali e M1, M5, M15, H1 e H4.

 
jojolalpin:
Niente di più dall'ultimo post su questo (gbpusd ancora perdente) ma sto correndo su H1 e daily e ho tenuto longbar=15. aspettiamo questa notte (in generale per le coppie jpy)

Ho notato che il GBPUSD sembra funzionare meglio sul grafico giornaliero:

TP: 40

SL: 30

Nessun filtro temporale

Longbar: 10

Sembra più affidabile. EURUSD e USDCHF sembrano fare meglio sul grafico H1 con longbar a 15 e timefliter su.

In questo momento sto lottando perché le principali coppie di valute mi stanno dando problemi con questo EA. Qualcuno ha avuto successo con le principali coppie di valute? Se sì, per favore pubblicate i vostri risultati.

 

Ciao

HolyGUY,

Qual è il progresso oggi su questo nuovo EA

 
kumawat:
Ciao

HolyGUY,

Qual è il progresso oggi su questo nuovo EA

Beh, c'è stato un certo ritracciamento da ieri in poi a causa di alcune delle principali coppie di valute. Ancora su oltre il 20% per la settimana e attualmente il sistema non ha scambi aperti.

Pubblicherò i miei risultati tra qualche ora. Avevo il GBPUSD sul timeframe H1 ma credo che sia più affidabile sul timeframe D1 come gli altri. Vi terrò informati.