Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Aiuto per le aspettative matematiche
Ciao
Sembra che io abbia fatto un po' di confusione con me stesso.
Sto cercando di utilizzare un modulo di aspettativa all'interno del mio EA, ho il modulo 1-avgwin/avgloss*sistema di precisione+1 e questo funziona bene, ma vorrei sapere come calcolare e visualizzare la differenza tra l'ordine e lo StopLoss, ad esempio
OP_SELLSTOP 1.63406
StopLoss 1.63603
1.63406 - 1.63603 = -0.00197 Penso che questo debba essere un numero positivo.
Un'aspettativa di 1,45
Quindi per calcolare il TakeProfit -0.00197 * 1.45 = -0.00285
Posizionare il TP a OP_SELLSTOP 1.63406 - 1.63121
e viceversa per la posizione Long
fa tutto parte di questo thread https://www.mql5.com/en/forum/178980 e se date un'occhiata al foglio excel vedrete che sono quasi arrivato.
Qualsiasi aiuto sarebbe fantastico.
Grazie Beno
Ciao
Mi sembra di aver fatto un po' di confusione.
Sto cercando di utilizzare un modulo di aspettativa all'interno del mio EA, ho il modulo 1-avgwin/avgloss*system accuracy+1 e questo funziona bene, ma vorrei sapere come calcolare e visualizzare la differenza tra l'ordine e lo StopLoss, ad esempio
OP_SELLSTOP 1.63406
StopLoss 1.63603
1.63406 - 1.63603 = -0.00197 Penso che questo debba essere un numero positivo.
Un'aspettativa di 1,45
Quindi per calcolare il TakeProfit -0.00197 * 1.45 = -0.00285
Posizionare il TP a OP_SELLSTOP 1.63406 - 1.63121
e viceversa per la posizione Long
fa tutto parte di questo thread https://www.mql5.com/en/forum/178980 e se date un'occhiata al foglio excel vedrete che sono quasi arrivato.
Qualsiasi aiuto sarebbe fantastico.
Salute BenoIl modo più semplice è non pensarci e usare:
double MathAbs(double value)
MathAbs - Documentazione MQL4
Saluti
Ciao CRN
Grazie per la risposta questo è quello che ho provato
Penso che sia giusto ma stampa solo PipSL 15769.68328362
1 2011.01.04 00:00 vendere stop 1 0.01 1.54279 0.00000 0.00000 0.00 10000.00
2 2011.01.07 08:20 vendere 1 0,01 1,54279 0,00000 0,00000 0,00 10000.00
3 2011.01.07 08:20 modificare 1 0.01 1.54279 1.57712 0.00000 0.00 10000.00
4 2011.01.11 23:40 chiudere allo stop 1 0.01 1.56045 1.57712 0.00000 -17.66 9982.34
e ho bisogno della differenza effettiva tra la vendita e lo SL
Qualcuno mi aiuti per favore.
Ciao e Buon Natale a tutti.
Prima di tutto sono un nuovo arrivato in questo forum, ho un problema con l'EA e qualcuno può risolverlo per me? Il problema è come impostare questo EA per il trading reale e l'EA è solo di colore grigio sul mio trade live.
Qui l'allegato:
spielershedge_library.mqh
spielershedge_pipstar.mq4
spielershedge_ea_v2.8.1.ex4
spielershedge_divergence_v5.1.ex4
-anche se era un vecchio ea ma penso che forse possiamo condividere e prendere qualcosa che andrà a beneficio di tutti noi.
-Ho appena trovato questo da Hedge trading spieler system derivato da futures spread trading - Pagina 193 @ Forex Factory ( SpielersHedge PipStar.mq4 ) e il resto da Hedge trading spieler system derivato da futures spread trading - Pagina 87 @ Forex Factory
-Scusate il mio cattivo inglese.
P/S : Sono molto apprezzato per la lezione, guide, commenti e critiche da tutti voi per il mio miglioramento. Credo che più diamo la nostra conoscenza, più guadagniamo la conoscenza.
Ciao CRN
Grazie per la risposta questo è quello che ho provato
Penso che sia giusto ma stampa solo PipSL 15769.68328362
1 2011.01.04 00:00 vendere stop 1 0,01 1,54279 0,00000 0,00000 0,00 10000,00
2 2011.01.07 08:20 vendere 1 0,01 1,54279 0,00000 0,00000 0,00 10000.00
3 2011.01.07 08:20 modificare 1 0.01 1.54279 1.57712 0.00000 0.00 10000.00
4 2011.01.11 23:40 chiudere allo stop 1 0.01 1.56045 1.57712 0.00000 -17.66 9982.34
e richiedo la differenza effettiva tra la vendita e lo SLSe è necessario utilizzare iClose(0,0,0)-OrderStopLoss().
ma prima seleziona l'ordine giusto con OrderSelect;
Saluti
Filtro orario con CloseAll Aiuto per favore
Gidday
Ho un filtro a tempo che funziona sull'EA ma ho cercato di allegare un closeall ad esso in modo che se il tempo è uguale al tempo di chiusura, allora le posizioni aperte closeall
extern int gmtshift=1; // gmt offset of the broker
extern bool generalfilter=false; // enable time filter
extern int starthour=7; // start hour to trade after this hour
extern int startminutes=0; // minutes of the start hour
extern int endhour=21; // stop to trade after this hour
extern int endminutes=0; // minutes of the start hour
extern bool tradesunday=true; // trade on sunday
extern bool fridayfilter=false; // enable special time filter on friday
extern int fridayhour=21; // stop to trade after this hour
extern int fridayminutes=0; // minutes of the friday hour[/CODE]
[CODE]void start() {
if(generalfilter){
nstarthour=starthour+(gmtshift);if(nstarthour>23)nstarthour=nstarthour-24;
if(nstarthour<10)istarthour="0"+nstarthour;
if(nstarthour>9)istarthour=nstarthour;
if(startminutes<10)istartminutes="0"+startminutes;
if(startminutes>9)istartminutes=startminutes;
tstart=StrToTime(istarthour+":"+istartminutes);
nendhour=endhour+(gmtshift);if(nendhour>23)nendhour=nendhour-24;
if(endhour<10)iendhour="0"+nendhour;
if(endhour>9)iendhour=nendhour;
if(endminutes<10)iendminutes="0"+endminutes;
if(endminutes>9)iendminutes=endminutes;
tend=StrToTime(iendhour+":"+iendminutes);
}
if(fridayfilter){
nfridayhour=fridayhour+(gmtshift);if(nfridayhour>23)nfridayhour=nfridayhour-24;
if(nfridayhour<10)ifridayhour="0"+nfridayhour;
if(nfridayhour>9)ifridayhour=nfridayhour;
if(fridayminutes<10)ifridayminutes="0"+fridayminutes;
if(fridayminutes>9)ifridayminutes=fridayminutes;
tfriday=StrToTime(ifridayhour+":"+ifridayminutes);
}
if((generalfilter && (nstarthour<nendhour && TimeCurrent()tend) || (nstarthour>nendhour && TimeCurrent()tend))
|| (tradesunday==false && DayOfWeek()==0) || (fridayfilter && DayOfWeek()==5 && TimeCurrent()>tfriday))return(0);
if (TimeCurrent() >= tend) {
for (int i=OrdersTotal()-1; i>=0; i--) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==TradeSymbol) {
if (OrderType()==OP_BUY) {
pBid=MarketInfo(OrderSymbol(), MODE_BID);
OrderClose(OrderTicket(), OrderLots(), Bid, slippage, Yellow);
}
if (OrderType()==OP_SELL) {
pAsk=MarketInfo(OrderSymbol(), MODE_ASK);
OrderClose(OrderTicket(), OrderLots(), Ask, slippage, Orange);
}
}
}
}
}per favore aiutatemi
extern int BuyStopTakeProfit=10;
extern int BuyStopSL=1000;
come codificare
se BuyStopTakeProfit Hit TakeProfit, cancella tutti gli ordini in sospeso
per favore qualcuno può aiutare
Aiuto!!!! Per favore!!!! funzione iCustom
Aiuto,
Ho provato di tutto per far sì che il mio C_EA_rev6.mq4 chiami il buffer qualsiasi dall'indicatore personalizzato VSATEXTSIGNALS.mq4. Ho usato la funzione iCustom ma restituisce sempre 2147483647 che mi sembra di capire sia un codice di errore. L'indicatore personalizzato posiziona segnali di testo sul grafico basati su tecniche di analisi di diffusione del volume. L'indicatore personalizzato funziona bene quando lo collego a un grafico. Ho speso innumerevoli ore su questo e provato ogni combinazione che conosco. Qualsiasi aiuto sarebbe molto apprezzato. Inoltre, ho una domanda, è possibile utilizzare la funzione iCustom su un indicatore personalizzato che chiama uno script o un file .dll?
Vedere gli allegati per il codice dell'indicatore e dell'EA.
Grazie,
cmfxtrader
Aiuto,
Ho provato di tutto per far sì che il mio C_EA_rev6.mq4 chiami il buffer qualsiasi dall'indicatore personalizzato VSATEXTSIGNALS.mq4. Ho usato la funzione iCustom ma restituisce sempre 2147483647 che mi pare di capire sia un codice di errore. L'indicatore personalizzato posiziona segnali di testo sul grafico basati su tecniche di analisi di diffusione del volume. L'indicatore personalizzato funziona bene quando lo collego a un grafico. Ho speso innumerevoli ore su questo e provato ogni combinazione che conosco. Qualsiasi aiuto sarebbe molto apprezzato. Inoltre, ho una domanda, è possibile utilizzare la funzione iCustom su un indicatore personalizzato che chiama uno script o un file .dll?
Vedere gli allegati per il codice dell'indicatore e dell'EA.
Grazie,
cmfxtraderCiao,
Il fatto è che mentre stai cercando di leggere il buffer dall'indicatore, esso emette messaggi di testo, che non sono buffer. Ecco perché stai ottenendo il valore 2147483647 che è EMPTY_VALUE e non un errore.
Comunque immagino che tu voglia automatizzare i segnali di questo indicatore. C'è una soluzione semplice per questo. L'indicatore è dichiarato per avere 7 buffer (#property indicator_buffers 7) ma ne sta usando solo 5. Gli indicatori possono usare al massimo 8 buffer. Ciò significa che puoi dichiarare un altro buffer aggiuntivo solo per i tuoi calcoli e riempirlo con i messaggi identificativi. Troverete i numeri dei messaggi nella funzione TextOutput. Aggiungete semplicemente i numeri al vostro buffer a seconda del messaggio che viene visualizzato. Per esempio se il testo è : "UPTHRUST / Weakness_" allora aggiungi 1 al tuo buffer, se il messaggio è PSEUDO UPTHRUST / Weakness_ allora aggiungi 4 e così via. L'indice del buffer sarà lo stesso del valore della variabile "i".
Per quanto riguarda la tua seconda domanda: puoi sempre utilizzare la funzione iCustom per un indicatore (non uno script) e leggere i valori se questo riempie i buffer dichiarati nell'indicatore. Per esempio, se si tratta di un indicatore che disegna delle linee, puoi leggere i valori delle linee - perché per disegnare qualcosa (tranne le etichette) l'indicatore deve riempire dei buffer. Se l'indicatore creerà oggetti grafici (come quello che hai allegato) allora dovrai: a) leggere i valori dagli oggetti grafici, o b) ricodificare l'indicatore (come ho suggerito sopra). Non importa se l'indicatore sta usando la DLL o no - ha solo bisogno di riempire correttamente il buffer per leggere i suoi valori dalla funzione iCustom.
Gidday
Ho un Time Filter che lavora sull'EA ma ho cercato di allegare un closeall ad esso in modo che se il tempo è uguale al tempo di chiusura allora closeall posizioni aperte
extern int gmtshift=1; // gmt offset of the broker
extern bool generalfilter=false; // enable time filter
extern int starthour=7; // start hour to trade after this hour
extern int startminutes=0; // minutes of the start hour
extern int endhour=21; // stop to trade after this hour
extern int endminutes=0; // minutes of the start hour
extern bool tradesunday=true; // trade on sunday
extern bool fridayfilter=false; // enable special time filter on friday
extern int fridayhour=21; // stop to trade after this hour
extern int fridayminutes=0; // minutes of the friday hour[/CODE]
[CODE]void start() {
if(generalfilter){
nstarthour=starthour+(gmtshift);if(nstarthour>23)nstarthour=nstarthour-24;
if(nstarthour<10)istarthour="0"+nstarthour;
if(nstarthour>9)istarthour=nstarthour;
if(startminutes<10)istartminutes="0"+startminutes;
if(startminutes>9)istartminutes=startminutes;
tstart=StrToTime(istarthour+":"+istartminutes);
nendhour=endhour+(gmtshift);if(nendhour>23)nendhour=nendhour-24;
if(endhour<10)iendhour="0"+nendhour;
if(endhour>9)iendhour=nendhour;
if(endminutes<10)iendminutes="0"+endminutes;
if(endminutes>9)iendminutes=endminutes;
tend=StrToTime(iendhour+":"+iendminutes);
}
if(fridayfilter){
nfridayhour=fridayhour+(gmtshift);if(nfridayhour>23)nfridayhour=nfridayhour-24;
if(nfridayhour<10)ifridayhour="0"+nfridayhour;
if(nfridayhour>9)ifridayhour=nfridayhour;
if(fridayminutes<10)ifridayminutes="0"+fridayminutes;
if(fridayminutes>9)ifridayminutes=fridayminutes;
tfriday=StrToTime(ifridayhour+":"+ifridayminutes);
}
if((generalfilter && (nstarthour<nendhour && TimeCurrent()tend) || (nstarthour>nendhour && TimeCurrent()tend))
|| (tradesunday==false && DayOfWeek()==0) || (fridayfilter && DayOfWeek()==5 && TimeCurrent()>tfriday))return(0);
if (TimeCurrent() >= tend) {
for (int i=OrdersTotal()-1; i>=0; i--) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==TradeSymbol) {
if (OrderType()==OP_BUY) {
pBid=MarketInfo(OrderSymbol(), MODE_BID);
OrderClose(OrderTicket(), OrderLots(), Bid, slippage, Yellow);
}
if (OrderType()==OP_SELL) {
pAsk=MarketInfo(OrderSymbol(), MODE_ASK);
OrderClose(OrderTicket(), OrderLots(), Ask, slippage, Orange);
}
}
}
}
}prova a controllare questa parte
if((generalfilter && (nstarthour<nendhour && TimeCurrent()tend) || (nstarthour>nendhour && TimeCurrent()tend))
|| (tradesunday==false && DayOfWeek()==0) || (fridayfilter && DayOfWeek()==5 && TimeCurrent()>tfriday))return(0);
l'altra parte del codice potrebbe essere più semplice, ma dovrebbe funzionare.
Tuttavia, se uscite dallo script prima di chiudere tutta la parte, allora non funzionerà, e sembra che lo script lo stia facendo.
Date un'occhiata a questa parte per esempio:
(fridayfilter && DayOfWeek()==5 && TimeCurrent()>tfriday) return(0);
In inglese significa: se è venerdì, e il filtro friday è ON, e il TimeMark è stato passato (es. l'ora finale è 18.00 ed è 18.01) allora return(0).
Dovrebbe essere: se è venerdì, e il filtro venerdì è ON, e il TimeMark è stato passato CLOSE ALL e (es. l'ora finale è 18.00 ed è 18.01) allora return(0).