Sto cercando di codificare un EA (usando alcuni codici già fatti) che faccia quanto segue:
Apre due ordini pendenti, un sell stop e un buy stop, ad un orario specifico (in questo caso le 23:00), entrambi con uno SL e un TP.
Scade l'ordine pendente a una certa ora (per esempio alle 10:00) e non apre nessuna operazione venerdì alle 23:00.
Se vengono aperti due trade e uno raggiunge lo SL, l'altro ha il suo TP aumentato di una certa quantità (penso che un OrderModify risolverà qualcosa del genere).
I trade aperti si chiudono automaticamente entro le 23:00 del giorno successivo.
L'EA è quasi finito e alcuni problemi precedenti che ho avuto sono stati risolti e fa la maggior parte di quanto sopra, ma ho ancora i seguenti problemi e a questo punto non so come andare oltre, quindi se qualcuno può fornire il codice necessario sarebbe molto utile.
Quando due trade sono aperti e uno colpisce lo stoploss, ho bisogno che l'altro trade che è ancora aperto abbia il suo take profit aumentato di una certa quantità.
Le compravendite vengono ancora aperte il venerdì alle 23:00, cosa che non voglio.
Tutti i trade che sono ancora aperti alle 23:00 dovrebbero essere chiusi indipendentemente dal fatto che siano in perdita o in profitto.
Sono un noob con MQL e ho provato a cercare in giro le soluzioni ad alcuni dei problemi di cui sopra e sto avendo difficoltà a trovarle. Credo che i problemi possano essere risolti abbastanza facilmente con una codifica non così complicata. Se qualcuno potesse fornirmi una o più soluzioni ai problemi di cui sopra lo apprezzerei molto, ancora una volta.
Basta sostituire stopLossToUse e takeLossToUse con i valori che si desidera che siano
kasio: amici,
Sono un principiante della programmazione MQL4 e ho bisogno di aiuto per collegare un SL & TP ad un ORDERSEND con un broker ECN.
Inizialmente non riuscivo a capire perché gli SL e i TP facessero risultare il mio ordine in un errore, finché qualcuno non mi ha fatto notare che bisogna impostare il campo StopLoss e TakeProfit all'interno dell'ORDERSEND a "0", altrimenti un broker ECN/STP non eseguirà l'ordine.
Quindi, la mia domanda è: come posso eseguire un ordine a mercato e poi immediatamente (o entro uno o due secondi) allegare uno SL/TP a quel ticket?
Ecco un pezzo di codice pertinente alla mia domanda:
Qualcuno può aiutarmi a inserire del codice subito dopo il comando OrderSend in modo che io possa attaccare un TP/SL di diciamo arbitrariamente 25pips a quello specifico ticket?
Qualsiasi aiuto sarebbe molto apprezzato. Grazie in anticipo.
Questo risolverà i tuoi punti 2 e 3 (ordini aperti al venerdì)
Il primo punto è piuttosto complicato da codificare - probabilmente dovrai ridefinire quella regola
madmax3: Qualche idea su come codificare quello che ho postato? Le mie scuse se sono impaziente o qualcosa del genere, voglio solo sapere se è stato letto.
Per favore aiutatemi! Numero di errore = 4103. pos = 10. Impossibile aprire il file
Salve,
Sono nuovo qui e sono nuovo anche nella programmazione MT. Qualcuno può aiutarmi su questo?
Ho ricevuto "Si è verificato un errore. Numero di errore = 4103. pos = 10 (impossibile aprire il file)".
Il file è salvato correttamente come gif ma sto ricevendo il messaggio di cui sopra. Dov'è il problema?
Il codice:
void Screenshot(int ticket, int cmd, datetime orderOpenTime, double orderOpenPrice)
{
RefreshRates();
if (cmd==OP_BUY) Comment (DateTimeInfo(),"\n", "Order Open Time: ",TimeToStr(orderOpenTime,TIME_DATE|TIME_SECONDS)," Buy: ",DoubleToStr(orderOpenPrice,Digits));
if (cmd==OP_SELL) Comment (DateTimeInfo(),"\n", "Order Open Time: ",TimeToStr(orderOpenTime,TIME_DATE|TIME_SECONDS)," Sell: ",DoubleToStr(orderOpenPrice,Digits)) ;
Il file deve essere nella sottocartella experts\files e ho usato come esempio il ticket numero 0, quindi il nome completo del file era nel mio esempio "EURUSD_Demo_0_Open.gif" e lo ha aperto senza problemi (lo fa bene sia se usi FILE_CSV che con FILE_BIN). Quindi, se è salvato nella cartella corretta e con il nome corretto, il tuo codice funziona bene
Akkinmore: Ciao,
Sono nuovo qui e sono nuovo anche nella programmazione MT. Qualcuno può aiutarmi su questo?
Ho ottenuto "Si è verificato un errore. Numero di errore = 4103. pos = 10 (impossibile aprire il file)".
Il file è salvato correttamente come gif ma sto ricevendo il messaggio di cui sopra. Dov'è il problema?
Il codice:
void Screenshot(int ticket, int cmd, datetime orderOpenTime, double orderOpenPrice)
{
RefreshRates();
if (cmd==OP_BUY) Comment (DateTimeInfo(),"\n", "Order Open Time: ",TimeToStr(orderOpenTime,TIME_DATE|TIME_SECONDS)," Buy: ",DoubleToStr(orderOpenPrice,Digits));
if (cmd==OP_SELL) Comment (DateTimeInfo(),"\n", "Order Open Time: ",TimeToStr(orderOpenTime,TIME_DATE|TIME_SECONDS)," Sell: ",DoubleToStr(orderOpenPrice,Digits)) ;
mladen: Funziona bene Il file deve essere nella sottocartella experts\files e ho usato come esempio il ticket numero 0, quindi il nome completo del file era nel mio esempio "EURUSD_Demo_0_Open.gif" e lo ha aperto senza problemi (lo fa bene sia se usi FILE_CSV che con FILE_BIN). Quindi, se è salvato nella cartella corretta e con il nome corretto, il tuo codice funziona bene
Grazie. Sì, il file è salvato nella cartella corretta e con il nome corretto. Potrei provare a usare FILE_BIN invece di FILE_CSV per verificare se il messaggio di errore appare di nuovo.
Consenti l'uso dei cookie per accedere al sito MQL5.com.
Abilita le impostazioni necessarie nel browser, altrimenti non sarà possibile accedere.
Hai effettuato l'accesso. L'autenticazione a due fattori è stata disattivata. Configurala di nuovo e scansiona un nuovo codice QR, oppure continua con l'autenticazione a due fattori disattivata.
Ho bisogno di aiuto per finire questo EA
Sto cercando di codificare un EA (usando alcuni codici già fatti) che faccia quanto segue:
L'EA è quasi finito e alcuni problemi precedenti che ho avuto sono stati risolti e fa la maggior parte di quanto sopra, ma ho ancora i seguenti problemi e a questo punto non so come andare oltre, quindi se qualcuno può fornire il codice necessario sarebbe molto utile.
Sono un noob con MQL e ho provato a cercare in giro le soluzioni ad alcuni dei problemi di cui sopra e sto avendo difficoltà a trovarle. Credo che i problemi possano essere risolti abbastanza facilmente con una codifica non così complicata. Se qualcuno potesse fornirmi una o più soluzioni ai problemi di cui sopra lo apprezzerei molto, ancora una volta.
Grazie,
madmax3
...
Provate qualcosa del genere:
Basta sostituire stopLossToUse e takeLossToUse con i valori che si desidera che siano
amici,
Sono un principiante della programmazione MQL4 e ho bisogno di aiuto per collegare un SL & TP ad un ORDERSEND con un broker ECN.
Inizialmente non riuscivo a capire perché gli SL e i TP facessero risultare il mio ordine in un errore, finché qualcuno non mi ha fatto notare che bisogna impostare il campo StopLoss e TakeProfit all'interno dell'ORDERSEND a "0", altrimenti un broker ECN/STP non eseguirà l'ordine.
Quindi, la mia domanda è: come posso eseguire un ordine a mercato e poi immediatamente (o entro uno o due secondi) allegare uno SL/TP a quel ticket?
Ecco un pezzo di codice pertinente alla mia domanda:
if((CurrentPriceBuy>UpperPriceTrigger) && TakeAction==1)
{
OrderSend(Sym,OP_BUY,Lots,CurrentPriceBuy,0,0,0,Comm,0,0,0,CLR_NONE);
TakeAction=0;
}
Qualcuno può aiutarmi a inserire del codice subito dopo il comando OrderSend in modo che io possa attaccare un TP/SL di diciamo arbitrariamente 25pips a quello specifico ticket?
Qualsiasi aiuto sarebbe molto apprezzato. Grazie in anticipo.
Cordiali saluti,
Kasioaiuto!
qualcuno può aiutarmi a fare in modo che questo indicatore non si ridipinga, per favore?
...
È un codice decompilato, ma comunque guarda questo thread: https: //www.mql5.com/en/forum/179650
È un altro rinominato vento solare, quindi ...
qualcuno può aiutarmi a fare questo indicatore per non ridipingere per favore?
Qualche idea su come codificare quello che ho postato? Le mie scuse se sono impaziente o qualcosa del genere, voglio solo sapere se è stato letto.
Grazie,
madmax3
...
Aggiungi qualcosa come questo nel tuo EA all'inizio della procedura start() :Aggiungete questo nel codice:
}Questo risolverà i tuoi punti 2 e 3 (ordini aperti al venerdì)
Il primo punto è piuttosto complicato da codificare - probabilmente dovrai ridefinire quella regola
Qualche idea su come codificare quello che ho postato? Le mie scuse se sono impaziente o qualcosa del genere, voglio solo sapere se è stato letto.
Grazie,
madmax3Per favore aiutatemi! Numero di errore = 4103. pos = 10. Impossibile aprire il file
Salve,
Sono nuovo qui e sono nuovo anche nella programmazione MT. Qualcuno può aiutarmi su questo?
Ho ricevuto "Si è verificato un errore. Numero di errore = 4103. pos = 10 (impossibile aprire il file)".
Il file è salvato correttamente come gif ma sto ricevendo il messaggio di cui sopra. Dov'è il problema?
Il codice:
void Screenshot(int ticket, int cmd, datetime orderOpenTime, double orderOpenPrice)
{
RefreshRates();
if (cmd==OP_BUY) Comment (DateTimeInfo(),"\n", "Order Open Time: ",TimeToStr(orderOpenTime,TIME_DATE|TIME_SECONDS)," Buy: ",DoubleToStr(orderOpenPrice,Digits));
if (cmd==OP_SELL) Comment (DateTimeInfo(),"\n", "Order Open Time: ",TimeToStr(orderOpenTime,TIME_DATE|TIME_SECONDS)," Sell: ",DoubleToStr(orderOpenPrice,Digits)) ;
string filename = Symbol()+"_"+"Demo "+"_"+ticket+"_Open.gif";
int handle = FileOpen(filename,FILE_CSV|FILE_READ);
se(handle<1)
{
if (GlobalVariableGet("_MonitorScreen_ScreenShot") != 0 )
{
if(!WindowScreenShot(filename,900,600)) Print("Errore di WindowScreenShot: "+GetLastError());
}
}
else FileClose(handle);
}
Qualsiasi aiuto è apprezzato. Grazie.
...
Funziona bene
Il file deve essere nella sottocartella experts\files e ho usato come esempio il ticket numero 0, quindi il nome completo del file era nel mio esempio "EURUSD_Demo_0_Open.gif" e lo ha aperto senza problemi (lo fa bene sia se usi FILE_CSV che con FILE_BIN). Quindi, se è salvato nella cartella corretta e con il nome corretto, il tuo codice funziona bene
Ciao,
Sono nuovo qui e sono nuovo anche nella programmazione MT. Qualcuno può aiutarmi su questo?
Ho ottenuto "Si è verificato un errore. Numero di errore = 4103. pos = 10 (impossibile aprire il file)".
Il file è salvato correttamente come gif ma sto ricevendo il messaggio di cui sopra. Dov'è il problema?
Il codice:
void Screenshot(int ticket, int cmd, datetime orderOpenTime, double orderOpenPrice)
{
RefreshRates();
if (cmd==OP_BUY) Comment (DateTimeInfo(),"\n", "Order Open Time: ",TimeToStr(orderOpenTime,TIME_DATE|TIME_SECONDS)," Buy: ",DoubleToStr(orderOpenPrice,Digits));
if (cmd==OP_SELL) Comment (DateTimeInfo(),"\n", "Order Open Time: ",TimeToStr(orderOpenTime,TIME_DATE|TIME_SECONDS)," Sell: ",DoubleToStr(orderOpenPrice,Digits)) ;
string filename = Symbol()+"_"+"Demo "+"_"+ticket+"_Open.gif";
int handle = FileOpen(filename,FILE_CSV|FILE_READ);
se(handle<1)
{
if (GlobalVariableGet("_MonitorScreen_ScreenShot") != 0 )
{
if(!WindowScreenShot(filename,900,600)) Print("Errore di WindowScreenShot: "+GetLastError());
}
}
else FileClose(handle);
}
Qualsiasi aiuto è apprezzato. Grazie.Funziona bene Il file deve essere nella sottocartella experts\files e ho usato come esempio il ticket numero 0, quindi il nome completo del file era nel mio esempio "EURUSD_Demo_0_Open.gif" e lo ha aperto senza problemi (lo fa bene sia se usi FILE_CSV che con FILE_BIN). Quindi, se è salvato nella cartella corretta e con il nome corretto, il tuo codice funziona bene
Grazie. Sì, il file è salvato nella cartella corretta e con il nome corretto. Potrei provare a usare FILE_BIN invece di FILE_CSV per verificare se il messaggio di errore appare di nuovo.
...
Come fare in modo che il mio computer mostri correttamente le parole in russo negli indicatori?...Grazie...