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
Ciao a tutti...
come posso impostare un codice d'ordine in metaeditor,
uso un conto demo... è possibile impostare un ordine nel conto demo
ho provato, ma non è riuscito
Parametro BE
Salve, ho bisogno di aiuto per aggiungere il parametro BE stop in questo EA.
Ho bisogno di aiuto per aggiungere il parametro BE stop in questo EA, l'ho preso dalla prima pagina di questo thread che si basa sul sistema Trendmanager.
Grazie in anticipo.
Cha.
e-trendmanager.mq4
File MQ4 per favore
Grazie in anticipo.
Cha.#property copyright "Copyright ฉ 2006, www.easyforexsignals.com"
#property link "paul@easyforexsignals.com"
#define LONGCOLOR DodgerBlue
#define SHORTCOLOR ArancioneRosso
#define MAGICTM 20070610
extern double TMlots=0.1;
extern int MoveStopAmount = 20;
extern int MoveStopAfterProfitof = 55;
extern int minadxlevel = 20;
extern double minSolarWind = 0.25;
extern double minJuice = 0.001;
extern int StopLoss=50,
Slippage = 3,
TakeProfit=120;
datetime LastTMSignalTime;
extern int MinTimeBetweenSignals = 60;
int init(){
return(0);
}
int deinit(){
return(0);
}
int start()
{
int res= 0;
if(Bars<100 || IsTradeAllowed()==false) return;
CheckTrendManager(); // controlla il sistema di gestione delle tendenze
CheckForTMClose(); // controlla le chiusure su questo sistema
CheckForStopMove(); // sposta gli stop su qualsiasi operazione aperta
}
void CheckForStopMove() {
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderMagicNumber()!=MAGICTM || OrderSymbol()!=Symbol()) continua;
if(OrderType()==OP_BUY)
{
// spostare gli stop verso l'alto per bloccare il profitto
se ((OrderOpenPrice()-Ask) >= (MoveStopAfterProfitof * Point()) {
OrderModify(OrderTicket(),0,OrderOpenPrice()+(MoveStopAmount*Point),OrderTakeProfit(),0,Black);
}
}
if(OrderType()==OP_SELL)
{
// spostare gli stop verso l'alto per bloccare il profitto
if ((OrderOpenPrice() - Bid) >= (MoveStopAfterProfitof * Point()) {
OrderModify(OrderTicket(),0,OrderOpenPrice()-(MoveStopAmount*Point),OrderTakeProfit(),0,Black);
}
}
}
}
void CheckTrendManager() {
if (Time[0]-LastTMSignalTime > MinTimeBetweenSignals) {
doppio PipsStopLoss, PipsTakeProfit;
double TMbuy = iCustom(Symbol(),Period(), "TrendManagerNT",2, 0);
double TMsell = iCustom(Symbol(),Period(), "TrendManagerNT",3, 0);
int orderresult;
se (TMbuy > 0) {
if (CheckFilters(OP_BUY)==true) {
PipsStopLoss = Ask-(StopLoss * Point());
PipsTakeProfit = Ask+(TakeProfit * Point());
CloseExisting(OP_SELL);
orderresult =OrderSend(Symbol(),OP_BUY,TMlots,Ask,Slippage,PipsStopLoss, PipsTakeProfit,"",MAGICTM,0,Maroon);
Print(Time[0] + "BUY ON TM, il risultato dell'ordine era:" + orderresult + "stop:" + PipsStopLoss + ",takeprofit:" + PipsTakeProfit);
LastTMSignalTime = Time[0];
}
}
se (TMsell > 0){
if (CheckFilters(OP_SELL)==true) {
PipsStopLoss = Bid+(StopLoss * Point());
PipsTakeProfit = Bid-(TakeProfit * Point());
CloseExisting(OP_BUY);
orderresult = OrderSend(Symbol(),OP_SELL,TMlots,Bid,Slippage,PipsStopLoss,PipsTakeProfit,"",MAGICTM,0,Green);
Stampa (Time[0] + "SELL ON TM, il risultato dell'ordine era:" + orderresult + "stop:" + PipsStopLoss + ",takeprofit:" + PipsTakeProfit);
LastTMSignalTime = Time[0];
}
}
}
}
void CheckForTMClose() {
double TMclosesell = iCustom(Symbol(),Period(), "TrendManagerNT",4, 0);
double TMclosebuy = iCustom(Symbol(),Period(), "TrendManagerNT",5, 0);
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==falso) break;
if(OrderMagicNumber()!=MAGICTM || OrderSymbol()!=Symbol()) continua;
//---- basta chiudere
if ((TMclosesell > 0) && (OrderType()==OP_SELL)) {
OrderClose(OrderTicket(),OrderLots(),Bid,10,Pink);
}
se ((TMclosebuy > 0) && (OrderType()==OP_BUY)) {
OrderClose(OrderTicket(),OrderLots(),Bid,10,Pink);
}
}
}
// chiude solo le posizioni esistenti
void CloseExisting(int OrderTyp)
{
for(int i=0;i<OrdiniTotali();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderMagicNumber()!=MAGICTM || OrderSymbol()!=Symbol()) continua;
//---- basta chiudere lo slippage std
if(OrderType()==OrderTyp)
{
OrderClose(OrderTicket(),OrderLots(),Bid,10,White);
}
}
}
bool CheckFilters(int OrderTyp) {
return(true);
}
Basta rinominare il file con estensione .mq4. Questo è tutto.
Ciao, ho provato a cambiarlo ma non funziona.
Ho provato a cambiarlo ma non funziona, puoi finirlo per me per favore?
Grazie.
Cha.
Ciao.
Ho provato a cambiarlo ma non funziona.
Grazie.
Cha.Fatto plut fissato alcuni bug nel codice.
Robert
Aiuto necessario per la funzione ordeersend
Ciao a tutti,
sto avendo problemi con la funzione ordersend().
Ecco il codice che ho fatto:
Con questo codice, ottengo l'errore #130 (errore si ferma)Qualcuno può spiegarmi cosa c'è di sbagliato, non capisco...
grazie.
Se state usando la cosiddetta"Esecuzione immediata", cioè l'uso di ordini OP_BUY o OP_SELL, non potete specificare un prezzo d'entrata diverso da Ask per gli acquisti e Bid per le vendite.
Ciao a tutti,
ticket1=OrderSend(Symbol(),OP_BUY,1,prixdachat+10*Point,5,prixdachat,prixdachat+20*Point, "ordre",1,15,Green);
ticket2=OrderSend(Symbol(),OP_SELL,1,prixdevente-10*Point,5,prixdevente,prixdevente-20*Point, "ordre",2,15,Rosso);
Con questo codice, ottengo l'errore #130 (l'errore si ferma)
Qualcuno può spiegarmi cosa c'è di sbagliato, non capisco...
grazie.UTILIZZARE ORDINI PENDENTI INVECE DI ORDINI ISTANTANEI.
(es. cambiare OP_BUY PER OP_BUYSTOP e OP_SELL PER OP_SELLSTOP)
e andrà bene.
GRAZIE MILLE SIGNOR PIP,
CHA.