10 punti 3.mq4 - pagina 92

 

Ciao yeoeleven,

Grazie per la tua risposta e i tuoi consigli.

Li seguirò

 
forex4syg:
Sembra esserci un bug in Jugulator per il calcolo di ActualOrders.

Nel mio test, solo una posizione si è aperta per GBPJPYm ad un certo punto. E' stata chiusa a causa di ConfirmedOrders=1 e ActualOrders=2.

Non sono sicuro di dove venga questo problema. Nel codice, sembra che ActualOrders aumenti sempre di 1 quando viene inviato un ordine. Se SendOrder fallisce (per vari motivi), ActualOrders aumenterebbe ancora di 1. Forse è meglio controllare l'errore di SendOrder. Se nessun errore, allora ActualOrders aumenta di 1.

Grazie!

Questo dovrebbe essere corretto qui (pagina 89, post 890, Jugulator.zip). C'è una nuova variabile nell'EA che viene impostata al numero dell'ordine. Se l'ordine fallisce non dovrebbe esserci un numero d'ordine e il codice lo controlla prima di incrementare la variabile ActualOrders.

void OrderNeedsOpening() {

//Preserva il valore prima di cambiarlo

double TempActualLotSize = ActualLotSize;

//aumentare la dimensione del lotto

ActualLotSize = NormalizeDouble(ActualLotSize * LotsIncreaseBy, LotPrecision);

//Siamo cercando di andare lunghi?

if (OrderDirection == 1) {

//Impostare il Take Profit e aprire un ordine Long

ActualTP = Ask + (TakeProfit * Point);

LastTicket = OrderSend(Symbol(), OP_BUY, ActualLotSize, Ask, OrderSlippage, ActualSL, ActualTP, "Order" + (ActualOrders + 1), Magic, 0, Blue);

}

//Siamo cercando di andare allo scoperto?

else if (OrderDirection == 2) {

//Impostare il Take Profit e aprire un ordine short

ActualTP = Bid - (TakeProfit * Point);

LastTicket = OrderSend(Symbol(), OP_SELL, ActualLotSize, Bid, OrderSlippage, ActualSL, ActualTP, "Order" + (ActualOrders + 1), Magic, 0, Red);

}

//se l'ordine è andato a buon fine sarà maggiore di 0

se (LastTicket > 0) {

ActualOrders++;

}

/L'ordine non è andato a buon fine, quindi dobbiamo reimpostarne il valore

else {

ActualLotSize = TempActualLotSize;

}

}

Il codice che stai usando riflette questo cambiamento perché questo è quello che sto eseguendo e non ho problemi ad aprire più ordini e farli chiudere quando dovrebbero TP o SL. Nota che questo tipo di cambiamento è anche in altre aree del codice quindi copiare e incollare questa sezione da sola non risolverà il problema.

 

Risultati dello Jugulator H4

Ecco i risultati di 0.10 e 0.01 per questa mattina.

 

Risultati Jugulator H4

Ecco i risultati dello 0.10 e dello 0.01 per questa mattina alle 10am EST dopo diverse notizie importanti.

Il conto 0.01 è salito di 268,94 dollari

Il conto 0.10 è salito di $1.912,44

 

10points3 Dynamic Stop

Chiuso per la settimana 10points3 Dynamic Stop. Chiudere le coppie man mano che diventano in profitto. Impostazioni precedentemente pubblicate

Una buona settimana nel complesso.

Sto ancora aspettando che USDJPY ritracci prima di chiudere Jugulator.

Giovanni

File:
 

Jugulator1.1

Continuando con le impostazioni sul post #891 e i risultati precedenti sul post #898. Ecco la dichiarazione dettagliata dopo la chiusura per la settimana.

Guarderà le impostazioni prima di aprire il Lunedi probabilmente per utilizzare più vicino a Matt dal momento che sono chiaramente meglio del mio.

John

File:
jug4.htm  67 kb
jug4.gif  6 kb
 
mtaboneweb:
Questo dovrebbe essere corretto qui (pagina 89, post 890, Jugulator.zip). C'è una nuova variabile nell'EA che viene impostata sul numero dell'ordine. Se l'ordine fallisce non dovrebbe esserci un numero d'ordine e il codice lo controlla prima di incrementare la variabile ActualOrders.

void OrderNeedsOpening() {

//Preserva il valore prima di cambiarlo

double TempActualLotSize = ActualLotSize;

//aumentare la dimensione del lotto

ActualLotSize = NormalizeDouble(ActualLotSize * LotsIncreaseBy, LotPrecision);

//Siamo cercando di andare lunghi?

if (OrderDirection == 1) {

//Impostare il Take Profit e aprire un ordine Long

ActualTP = Ask + (TakeProfit * Point);

LastTicket = OrderSend(Symbol(), OP_BUY, ActualLotSize, Ask, OrderSlippage, ActualSL, ActualTP, "Order" + (ActualOrders + 1), Magic, 0, Blue);

}

//Siamo cercando di andare allo scoperto?

else if (OrderDirection == 2) {

//Impostare il Take Profit e aprire un ordine short

ActualTP = Bid - (TakeProfit * Point);

LastTicket = OrderSend(Symbol(), OP_SELL, ActualLotSize, Bid, OrderSlippage, ActualSL, ActualTP, "Order" + (ActualOrders + 1), Magic, 0, Red);

}

//se l'ordine è andato a buon fine sarà maggiore di 0

se (LastTicket > 0) {

ActualOrders++;

}

/L'ordine non è andato a buon fine, quindi dobbiamo reimpostarne il valore

else {

ActualLotSize = TempActualLotSize;

}

}

Il codice che stai usando riflette questo cambiamento perché questo è quello che sto eseguendo e non ho alcun problema nell'aprire ordini multipli e farli chiudere quando dovrebbero essere TP o SL. Nota che questo tipo di cambiamento è anche in altre aree del codice, quindi copiare e incollare solo questa sezione non risolverà il problema.

La versione che sto testando non contiene il cambiamento di cui sopra. Userò la versione più recente. Grazie mtaboneweb!

 
yeoeleven:
Sto ancora continuando a testare il 10points3 Dynamic Stop e sto ancora ottenendo buoni risultati.

Ho rimosso GBPUSD ieri nel tentativo di rendere questo EA sicuro per i piccoli conti, probabilmente ha ridotto la redditività ma si spera che abbia aumentato la sicurezza.

John

Stai ancora usando l'originale 10points3 Dynamic Stop che si trova a pagina 18?

Grazie

 

10punti3 arresto dinamico

hawkv:
Stai ancora usando l'originale 10points3 Dynamic Stop che si trova a pagina 18? Grazie

Sì, questa è la versione che sto ancora testando insieme a Goblin e Jugulator. Regge ancora bene con quegli EAs che sono stati sviluppati da esso.

John

 

tf

1. Attendere sulla barra: In questo momento, l'EA apre nuovi ordini in un ciclo di livelli di pip coerenti. Un approccio alternativo sarebbe quello di assicurare che i nuovi ordini non vengano aperti nella stessa barra. Quindi, se hai un movimento molto grande, l'EA aspetterebbe fino alla chiusura della barra, rivaluterebbe il trend, poi piazzerebbe un altro ordine nel ciclo se il valore del pip è maggiore di quello specificato nell'impostazione dei pip dell'EA.

.1 - .2 - .3 - .5 - .8 - 1.3 - 2.1 - 4.4 - 6.5 - ecc.

Questa è stata postata da stockwet nel thread di goblin. idea molto interessante, ma invece di riprendere da dove gli ordini sono stati lasciati, salta gli ordini che sono stati passati e va con l'incremento successivo, quindi se il prezzo si è mosso rapidamente, hai solo perdite su ciò che hai sul tabellone. diciamo che dopo 3 incrementi di prezzo il prezzo vola su 40 pip su una barra di 15 minuti. Quando la barra è completa, l'ea controlla per vedere quale ordine # dovrebbe essere implementato e inizia da lì con il corretto # di lotti. così l'ordine # 4 potrebbe finire per essere effettivamente 2,1 lotti invece di .5 lotti. In questo modo i tuoi 2.1 lotti potrebbero compensare le perdite che il prossimo ordine normale (.5), non sarebbe in grado di fare se fosse iniziato a quel particolare punto del prezzo. il tuo ordine da 2.1 lotti ora diventa l'ordine # 4 e progredisce da lì. Questo non taglierebbe le perdite se la progressione andasse a 10, ma permetterebbe alla progressione di andare più lontano prima di chiudere, permettendovi così una migliore possibilità di recupero. Oppure i trade potrebbero essere chiusi se si determinasse che la tendenza è cambiata per una perdita minore di quella che si avrebbe normalmente. Sarebbe un'idea fattibile?