Scrivo EA gratis

  • Societe Generale quota sul segmento EuroMOT di Borsa Italiana un’obbligazione a tasso fisso di durata 18 mesi.

    Questa obbligazione prevede il pagamento di tre cedole fisse, corrisposte su base semestrale, ad un tasso annuo lordo del 3,25% e il rimborso del 100% del Valore Nominale a scadenza. Durante la sua vita, il valore di mercato dell’obbligazione può essere diverso dal Valore Nominale. L’investitore potrà quindi acquistare l’obbligazione a prezzi inferiori o superiori al Valore Nominale; il rimborso del Valore Nominale è garantito esclusivamente a scadenza.
    Per continuare a leggere visita il link

((nick35))

Nuovo Utente
Registrato
18/1/11
Messaggi
1.763
Punti reazioni
73
ciao, apprezzo molto la disponibilità! mi servirebbe un'aggiunta a questo expert che ho fatto io scopiazzando qua e là, attualmente se i trades son in positivo di almeno un numero predefinito di pips sposta lo stop in pari. vorrei che chiudesse tutte le posizioni qualora il guadagno (parliamo di floating non di beginning equity+x )raggiunga x euro, puoi aiutarmi?

extern double e_BreakEvenStop = 15;
double g_Point = 0.0001;
int init() {
if (Point == 0.00001) g_Point = 0.0001;
else {
if (Point == 0.001) g_Point = 0.01;
else g_Point = Point;
}
return (0);
}
//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
int start()
{
//----
string curr = Symbol();
int ot = OrdersTotal();
int ords[200], ordType[200], ordTicket[200]; double ordLots[200];
string ordComments[200];
int ix=0;
for (int i=0; i<ot; i++)
{
int o = OrderSelect(i, SELECT_BY_POS);
if (OrderSymbol() == Symbol())
if ((OrderType() == OP_BUY) || (OrderType() == OP_SELL))
{
double sl = 0;
if ((OrderType() == OP_BUY) && (Bid - OrderOpenPrice()) > (e_BreakEvenStop * g_Point))
sl = OrderOpenPrice() ;
if ((OrderType() == OP_SELL) && (OrderOpenPrice() - Ask) > (e_BreakEvenStop * g_Point))
sl = OrderOpenPrice() ;

if (sl != 0)
OrderModify(OrderTicket(), OrderOpenPrice(), sl, OrderTakeProfit(), 0);
}
}
//----
return(0);
}
//+------------------------------------------------------------------+

in casi anaoghi uso un ea come questo su altro chart:



extern double My_Money_Profit_Target=300; //The amount of money profit at which you want to close ALL open trades.

int Slippage=5;
int i;

//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+


int start()
{
if (AccountProfit()>= My_Money_Profit_Target)
{
for(i=OrdersTotal()-1;i>=0;i--)
{
OrderSelect(i, SELECT_BY_POS);
int type = OrderType();

bool result = false;

switch(type)
{
//Close opened long positions
case OP_BUY : result = OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),Slippage,Pink);
break;

//Close opened short positions
case OP_SELL : result = OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),Slippage,Pink);

}

if(result == false)
{
Sleep(3000);
}
}
Print ("Account Profit Reached. All Open Trades Have Been Closed");
return(0);
}

Comment("Balance: ",AccountBalance(),", Account Equity: ",AccountEquity(),", Account Profit: ",AccountProfit(),
"\nMy Account Profit Target: ",My_Money_Profit_Target);

return(0);
}
 

syson

Nuovo Utente
Registrato
18/8/11
Messaggi
21
Punti reazioni
5
ciao, apprezzo molto la disponibilità! mi servirebbe un'aggiunta a questo expert che ho fatto io scopiazzando qua e là, attualmente se i trades son in positivo di almeno un numero predefinito di pips sposta lo stop in pari. vorrei che chiudesse tutte le posizioni qualora il guadagno (parliamo di floating non di beginning equity+x )raggiunga x euro, puoi aiutarmi?

extern double e_BreakEvenStop = 15;
double g_Point = 0.0001;
int init() {
if (Point == 0.00001) g_Point = 0.0001;
else {
if (Point == 0.001) g_Point = 0.01;
else g_Point = Point;
}
return (0);
}
//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
int start()
{
//----
string curr = Symbol();
int ot = OrdersTotal();
int ords[200], ordType[200], ordTicket[200]; double ordLots[200];
string ordComments[200];
int ix=0;
for (int i=0; i<ot; i++)
{
int o = OrderSelect(i, SELECT_BY_POS);
if (OrderSymbol() == Symbol())
if ((OrderType() == OP_BUY) || (OrderType() == OP_SELL))
{
double sl = 0;
if ((OrderType() == OP_BUY) && (Bid - OrderOpenPrice()) > (e_BreakEvenStop * g_Point))
sl = OrderOpenPrice() ;
if ((OrderType() == OP_SELL) && (OrderOpenPrice() - Ask) > (e_BreakEvenStop * g_Point))
sl = OrderOpenPrice() ;

if (sl != 0)
OrderModify(OrderTicket(), OrderOpenPrice(), sl, OrderTakeProfit(), 0);
}
}
//----
return(0);
}
//+------------------------------------------------------------------+

extern double e_BreakEvenStop = 15;
extern double profitto = 1000;
double g_Point = 0.0001;
int init() {
if (Point == 0.00001) g_Point = 0.0001;
else {
if (Point == 0.001) g_Point = 0.01;
else g_Point = Point;
}
return (0);
}
//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
int start()
{
//----
string curr = Symbol();
int ot = OrdersTotal();
int ords[200], ordType[200], ordTicket[200]; double ordLots[200];
string ordComments[200];
int ix=0;
for (int i=0; i<ot; i++)
{
int o = OrderSelect(i, SELECT_BY_POS);
if (OrderSymbol() == Symbol())
if ((OrderType() == OP_BUY) || (OrderType() == OP_SELL))
{
double sl = 0;
if ((OrderType() == OP_BUY) && (Bid - OrderOpenPrice()) > (e_BreakEvenStop * g_Point))
sl = OrderOpenPrice() ;
if ((OrderType() == OP_SELL) && (OrderOpenPrice() - Ask) > (e_BreakEvenStop * g_Point))
sl = OrderOpenPrice() ;

if (sl != 0)
OrderModify(OrderTicket(), OrderOpenPrice(), sl, OrderTakeProfit(), 0);
}
}
if(AccountProfit() >= profitto)
{
while(OrdersTotal() > 0)
{
for(i = 0; i < OrdersTotal(); i++)
{
if(OrderType() == OP_BUY)
{
OrderClose(OrderTicket(), OrderLots(), Bid, 3);
}
else if(OrderType() == OP_SELL)
{
OrderClose(OrderTicket(), OrderLots(), Ask, 3);
}
}

}
}

//----
return(0);
}
//+------------------------------------------------------------------+


Ciao, Pattinatore.

In blu la parte di codice che ho aggiunto io affinché l'EA faccia quello che desideri

ho impostato il valore cui chiudere tutto a 1000 (te lo auguro); ovviamente, essendo una variabile esterna, lo puoi editare come meglio credi.

N.B: Raggiunto il profitto che desideri, l'EA chiude tutti gli ordini, indipendentemente dal fatto se siano stati inseriti dall'EA o meno.
Perché vengano chiusi solo gli ordini aperti da questo stesso EA, sarebbe utile impostare il Magic Number, ma vedo che questo codice non gestisce l'invio di ordini.

Ciao
 

pattinatore

*******
Registrato
19/3/09
Messaggi
5.310
Punti reazioni
114
in casi anaoghi uso un ea come questo su altro chart:



extern double My_Money_Profit_Target=300; //The amount of money profit at which you want to close ALL open trades.

int Slippage=5;
int i;

//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+


int start()
{
if (AccountProfit()>= My_Money_Profit_Target)
{
for(i=OrdersTotal()-1;i>=0;i--)
{
OrderSelect(i, SELECT_BY_POS);
int type = OrderType();

bool result = false;

switch(type)
{
//Close opened long positions
case OP_BUY : result = OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),Slippage,Pink);
break;

//Close opened short positions
case OP_SELL : result = OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),Slippage,Pink);

}

if(result == false)
{
Sleep(3000);
}
}
Print ("Account Profit Reached. All Open Trades Have Been Closed");
return(0);
}

Comment("Balance: ",AccountBalance(),", Account Equity: ",AccountEquity(),", Account Profit: ",AccountProfit(),
"\nMy Account Profit Target: ",My_Money_Profit_Target);

return(0);
}

extern double e_BreakEvenStop = 15;
extern double profitto = 1000;
double g_Point = 0.0001;
int init() {
if (Point == 0.00001) g_Point = 0.0001;
else {
if (Point == 0.001) g_Point = 0.01;
else g_Point = Point;
}
return (0);
}
//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
int start()
{
//----
string curr = Symbol();
int ot = OrdersTotal();
int ords[200], ordType[200], ordTicket[200]; double ordLots[200];
string ordComments[200];
int ix=0;
for (int i=0; i<ot; i++)
{
int o = OrderSelect(i, SELECT_BY_POS);
if (OrderSymbol() == Symbol())
if ((OrderType() == OP_BUY) || (OrderType() == OP_SELL))
{
double sl = 0;
if ((OrderType() == OP_BUY) && (Bid - OrderOpenPrice()) > (e_BreakEvenStop * g_Point))
sl = OrderOpenPrice() ;
if ((OrderType() == OP_SELL) && (OrderOpenPrice() - Ask) > (e_BreakEvenStop * g_Point))
sl = OrderOpenPrice() ;

if (sl != 0)
OrderModify(OrderTicket(), OrderOpenPrice(), sl, OrderTakeProfit(), 0);
}
}
if(AccountProfit() >= profitto)
{
while(OrdersTotal() > 0)
{
for(i = 0; i < OrdersTotal(); i++)
{
if(OrderType() == OP_BUY)
{
OrderClose(OrderTicket(), OrderLots(), Bid, 3);
}
else if(OrderType() == OP_SELL)
{
OrderClose(OrderTicket(), OrderLots(), Ask, 3);
}
}

}
}

//----
return(0);
}
//+------------------------------------------------------------------+


Ciao, Pattinatore.

In blu la parte di codice che ho aggiunto io affinché l'EA faccia quello che desideri

ho impostato il valore cui chiudere tutto a 1000 (te lo auguro); ovviamente, essendo una variabile esterna, lo puoi editare come meglio credi.

N.B: Raggiunto il profitto che desideri, l'EA chiude tutti gli ordini, indipendentemente dal fatto se siano stati inseriti dall'EA o meno.
Perché vengano chiusi solo gli ordini aperti da questo stesso EA, sarebbe utile impostare il Magic Number, ma vedo che questo codice non gestisce l'invio di ordini.

Ciao

grazie 1000 ad entrambi! lo sto testando ora ;)
veramente una gran iniziativa.
 

pattinatore

*******
Registrato
19/3/09
Messaggi
5.310
Punti reazioni
114
grazie 1000 ad entrambi! lo sto testando ora ;)
veramente una gran iniziativa.
purtroppo non sembra funzionare e lo sto usando in real... lo stop in pari funge semrpe ma nonostante avessi impostato 410 di gain (e poi ben chiuso manualmente le posizioni a 460 :) )non ha chiuso le posizioni... fa differenza su che time frame lo utilizzo? questo il codice usato.. ovviamente il profitto è in euro giusto?

quell'account profit non è che sia equity meno beginning equity che contndo i loss nel mezzo non fa il floating attuale?


extern double e_BreakEvenStop = 15;
extern double profitto = 1000;
double g_Point = 0.0001;
int init() {
if (Point == 0.00001) g_Point = 0.0001;
else {
if (Point == 0.001) g_Point = 0.01;
else g_Point = Point;
}
return (0);
}
//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
int start()
{
//----
string curr = Symbol();
int ot = OrdersTotal();
int ords[200], ordType[200], ordTicket[200]; double ordLots[200];
string ordComments[200];
int ix=0;
for (int i=0; i<ot; i++)
{
int o = OrderSelect(i, SELECT_BY_POS);
if (OrderSymbol() == Symbol())
if ((OrderType() == OP_BUY) || (OrderType() == OP_SELL))
{
double sl = 0;
if ((OrderType() == OP_BUY) && (Bid - OrderOpenPrice()) > (e_BreakEvenStop * g_Point))
sl = OrderOpenPrice() ;
if ((OrderType() == OP_SELL) && (OrderOpenPrice() - Ask) > (e_BreakEvenStop * g_Point))
sl = OrderOpenPrice() ;

if (sl != 0)
OrderModify(OrderTicket(), OrderOpenPrice(), sl, OrderTakeProfit(), 0);
}
}
if(AccountProfit() >= profitto)
{
while(OrdersTotal() > 0)
{
for(i = 0; i < OrdersTotal(); i++)
{
if(OrderType() == OP_BUY)
{
OrderClose(OrderTicket(), OrderLots(), Bid, 3);
}
else if(OrderType() == OP_SELL)
{
OrderClose(OrderTicket(), OrderLots(), Ask, 3);
}
}

}
}

//----
return(0);
}
//+------------------------------------------------------------------+
 
Ultima modifica:

syson

Nuovo Utente
Registrato
18/8/11
Messaggi
21
Punti reazioni
5
purtroppo non sembra funzionare e lo sto usando in real... lo stop in pari funge semrpe ma nonostante avessi impostato 410 di gain (e poi ben chiuso manualmente le posizioni a 460 :) )non ha chiuso le posizioni... fa differenza su che time frame lo utilizzo? questo il codice usato.. ovviamente il profitto è in euro giusto?

quell'account profit non è che sia equity meno beginning equity che contndo i loss nel mezzo non fa il floating attuale?

Non fa differenza su che time frame lo utilizzi, ma chiude solo gli ordini relativi al cross su cui sta girando
ad esempio, se lo hai piazzato su EURUSD ma hai ordini su USDJPY.questi ultimi non verranno chiusi
 

tetsuo

Nuovo Utente
Registrato
22/3/08
Messaggi
993
Punti reazioni
72
purtroppo non sembra funzionare e lo sto usando in real... lo stop in pari funge semrpe ma nonostante avessi impostato 410 di gain (e poi ben chiuso manualmente le posizioni a 460 :) )non ha chiuso le posizioni... fa differenza su che time frame lo utilizzo? questo il codice usato.. ovviamente il profitto è in euro giusto?

quell'account profit non è che sia equity meno beginning equity che contndo i loss nel mezzo non fa il floating attuale?
Ciao patti


Quella funzione restituisce il profitto in valuta corrente complessivo dei trade attualmente aperti sul quell'account

Comunque quello che hai postato e che continuate a chiamare EA è uno script mentre è un EA quello postato da nick35. :D

:bye:
 

syson

Nuovo Utente
Registrato
18/8/11
Messaggi
21
Punti reazioni
5
Ciao patti


Quella funzione restituisce il profitto in valuta corrente complessivo dei trade attualmente aperti sul quell'account
Sì, ed è ciò che interessa a Pattinatore (o ho capito male? :mmmm:)
Comunque quello che hai postato e che continuate a chiamare EA è uno script mentre è un EA quello postato da nick35. :D
:bye:

Beh sì... può sempre farlo diventare un EA, anzi... deve!

Ciao
 

tetsuo

Nuovo Utente
Registrato
22/3/08
Messaggi
993
Punti reazioni
72
Beh sì... può sempre farlo diventare un EA, anzi... deve!

ops

Ho imparato una cosina in più (non mi ero mai messo lì a controllare :))
effettivamente pensavo che era la struttura del codice che faceva la differenza tra EA, script ed indi invece a quanto pare è solo una questione di cartelle :rolleyes:

Sorry e grazie OK!
 

pattinatore

*******
Registrato
19/3/09
Messaggi
5.310
Punti reazioni
114
Sì, ed è ciò che interessa a Pattinatore (o ho capito male? :mmmm:)


Beh sì... può sempre farlo diventare un EA, anzi... deve!

Ciao
sisi a me serve un EA ;) in qual caso la parte riguardante la chiusura dell'ordine, a me non funzia... non so come mai..
 

syson

Nuovo Utente
Registrato
18/8/11
Messaggi
21
Punti reazioni
5
sisi a me serve un EA ;) in qual caso la parte riguardante la chiusura dell'ordine, a me non funzia... non so come mai..

Estrai il file nella cartella experts, aprilo, compilalo, hai finito.

Ciao
 

Allegati

  • pattinatore.zip
    599 bytes · Visite: 66

pattinatore

*******
Registrato
19/3/09
Messaggi
5.310
Punti reazioni
114
Estrai il file nella cartella experts, aprilo, compilalo, hai finito.

Ciao
nada ti confermo che non funziona, mentre quello di nick35 funge! volevo a questo punto integrare lo stop in pari con l'ea di nick 35..
 

MarcoF78

Nuovo Utente
Registrato
4/9/11
Messaggi
238
Punti reazioni
2
io ho fatto partire l'expert advisor...

e' caricato e' c'e' la faccine felice in alto a dx...

ma l'ordine lo inserisce in automatico???

sto parlando di quello di pattinatore
 

pattinatore

*******
Registrato
19/3/09
Messaggi
5.310
Punti reazioni
114
io ho fatto partire l'expert advisor...

e' caricato e' c'e' la faccine felice in alto a dx...

ma l'ordine lo inserisce in automatico???

sto parlando di quello di pattinatore

gli ordini non partono in automatico, quell'ea semplicemente dovrebbe mettere lo stop in pari a 15 pips e chiudere con 1000 euro di gain... attualmente gli sto utilizzando separati e funzionano... assieme no
 

tetsuo

Nuovo Utente
Registrato
22/3/08
Messaggi
993
Punti reazioni
72
...assieme no



Codice:
extern double e_BreakEvenStop = 15;
extern double profitto = 1000;
double g_Point = 0.0001;
int init() {
if (Point == 0.00001) g_Point = 0.0001;
else {
if (Point == 0.001) g_Point = 0.01;
else g_Point = Point;
}
return (0);
}
//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
int start()
{
//----
string curr = Symbol();
int ot = OrdersTotal();
int ords[200], ordType[200], ordTicket[200]; double ordLots[200];
string ordComments[200];
int ix=0;
for (int i=0; i<ot; i++)
{
int o = OrderSelect(i, SELECT_BY_POS);
if (OrderSymbol() == Symbol())
if ((OrderType() == OP_BUY) || (OrderType() == OP_SELL))
{
double sl = 0;
if ((OrderType() == OP_BUY) && (Bid - OrderOpenPrice()) > (e_BreakEvenStop * g_Point))
sl = OrderOpenPrice() ;
if ((OrderType() == OP_SELL) && (OrderOpenPrice() - Ask) > (e_BreakEvenStop * g_Point))
sl = OrderOpenPrice() ;

if (sl != 0)
OrderModify(OrderTicket(), OrderOpenPrice(), sl, OrderTakeProfit(), 0);
}
}
if(AccountProfit() >= profitto)
{

for(i = 0; i < OrdersTotal(); i++)
{
o = OrderSelect(i, SELECT_BY_POS);
if(OrderType() == OP_BUY)
{
OrderClose(OrderTicket(), OrderLots(), Bid, 3);
}
else if(OrderType() == OP_SELL)
{
OrderClose(OrderTicket(), OrderLots(), Ask, 3);
}
}

}


//----
return(0);
}
//+------------------------------------------------------------------+


mo' funge ti allego il report di un fortunato momento per testarlo (settato a 15pip e 200euro)

2011.09.15 16:25:12 '######': order XXXXXXX sell 1.00 EURUSD at 1.38672 sl: 1.38672 tp: 0.00000 closed at price 1.38470
2011.09.15 16:25:12 '######': request in process
2011.09.15 16:25:12 '######': request was accepted by server
2011.09.15 16:25:11 '######': close order XXXXXXX sell 1.00 EURUSD at 1.38672 sl: 1.38672 tp: 0.00000 at price 1.38470
2011.09.15 16:24:16 '######': order XXXXXXX sell 1.00 EURUSD at 1.38672 was modified -> sl: 1.38672 tp: 0.00000
2011.09.15 16:24:16 '######': request in process
2011.09.15 16:24:16 '######': request was accepted by server
2011.09.15 16:24:15 '######': modify order XXXXXXX sell 1.00 EURUSD at 1.38672 sl: 0.00000 tp: 0.00000 -> sl: 1.38672 tp: 0.00000
2011.09.15 16:19:09 '######': order was opened : XXXXXXX sell 1.00 EURUSD at 1.38672 sl: 0.00000 tp: 0.00000
2011.09.15 16:19:09 '######': request in process
2011.09.15 16:19:09 '######': request was accepted by server


queste culate ovviamente solo in demo :wall:

mi giocassi in real un lotto come minimo mi fanno istantaneamente uno spike doppio a quello delle 15 :rolleyes:

Ciao
 

pattinatore

*******
Registrato
19/3/09
Messaggi
5.310
Punti reazioni
114
Codice:
extern double e_BreakEvenStop = 15;
extern double profitto = 1000;
double g_Point = 0.0001;
int init() {
if (Point == 0.00001) g_Point = 0.0001;
else {
if (Point == 0.001) g_Point = 0.01;
else g_Point = Point;
}
return (0);
}
//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
int start()
{
//----
string curr = Symbol();
int ot = OrdersTotal();
int ords[200], ordType[200], ordTicket[200]; double ordLots[200];
string ordComments[200];
int ix=0;
for (int i=0; i<ot; i++)
{
int o = OrderSelect(i, SELECT_BY_POS);
if (OrderSymbol() == Symbol())
if ((OrderType() == OP_BUY) || (OrderType() == OP_SELL))
{
double sl = 0;
if ((OrderType() == OP_BUY) && (Bid - OrderOpenPrice()) > (e_BreakEvenStop * g_Point))
sl = OrderOpenPrice() ;
if ((OrderType() == OP_SELL) && (OrderOpenPrice() - Ask) > (e_BreakEvenStop * g_Point))
sl = OrderOpenPrice() ;

if (sl != 0)
OrderModify(OrderTicket(), OrderOpenPrice(), sl, OrderTakeProfit(), 0);
}
}
if(AccountProfit() >= profitto)
{

for(i = 0; i < OrdersTotal(); i++)
{
o = OrderSelect(i, SELECT_BY_POS);
if(OrderType() == OP_BUY)
{
OrderClose(OrderTicket(), OrderLots(), Bid, 3);
}
else if(OrderType() == OP_SELL)
{
OrderClose(OrderTicket(), OrderLots(), Ask, 3);
}
}

}


//----
return(0);
}
//+------------------------------------------------------------------+


mo' funge ti allego il report di un fortunato momento per testarlo (settato a 15pip e 200euro)




queste culate ovviamente solo in demo :wall:

mi giocassi in real un lotto come minimo mi fanno istantaneamente uno spike doppio a quello delle 15 :rolleyes:

Ciao

grazie per l'aiuto ma purtroppo ancora non funge come questo. probabilmente chiude se il profitto è quello, non "quando viene raggiunto tale profitto chiudi tutto" infatti mi chiude solo una parte degli oridini!!
extern double My_Money_Profit_Target=300; //The amount of money profit at which you want to close ALL open trades.

int Slippage=5;
int i;

//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+


int start()
{
if (AccountProfit()>= My_Money_Profit_Target)
{
for(i=OrdersTotal()-1;i>=0;i--)
{
OrderSelect(i, SELECT_BY_POS);
int type = OrderType();

bool result = false;

switch(type)
{
//Close opened long positions
case OP_BUY : result = OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),Slippage ,Pink);
break;

//Close opened short positions
case OP_SELL : result = OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),Slippage ,Pink);

}

if(result == false)
{
Sleep(3000);
}
}
Print ("Account Profit Reached. All Open Trades Have Been Closed");
return(0);
}

Comment("Balance: ",AccountBalance(),", Account Equity: ",AccountEquity(),", Account Profit: ",AccountProfit(),
"\nMy Account Profit Target: ",My_Money_Profit_Target);

return(0);
}
 

looping

Nuovo Utente
Registrato
23/12/00
Messaggi
322
Punti reazioni
34
Mi accorgo che, in pratica, il mio è l'unico post a cui non è stato dato seguito alcuno :( .
La mia richiesta era davvero tanto assurda? O forse è troppo facile?
Sapete se qualcuno tra gli esperti ha realizzato o è in grado di realizzare uno script che, semplicemente, va a leggere i punti di ingresso e di uscita dal mercato da un foglio Excel?
Grazie.
 

agentzero82

Nuovo Utente
Registrato
12/5/11
Messaggi
3.002
Punti reazioni
50
se posso scomodare anche io il programmatore tanto disponibile avrei una richiesta....da un pò di tempo uso un ea,La Griglia,come parte della mia operatività;in sostanza è un ea che crea un canale di ordini pendenti intorno al prezzo,all'uscita di questo canale garantisce il gain attraverso un sistema compensativo di ordini di size maggiore...sistema ovviamente pericoloso anche se usato con cautela.per calibrare le entrate io uso un indicatore che disegna sul grafico un canale sui max e min.quando il prezzo si trova sulle bande esterne o sulla mediana io lancio la griglia,di solito impostandola con 3 livelli con un incremento di 15....posto un'immagine
in sostanza vorrei fare dei back test e per questo mi servirebbe un ea che,automaticamente, lancia la griglia di ordini pendenti quando il prezzo tocca uno di questi 3 livelli...
la griglia che uso io ha un difetto,una volta che il prezzo esce dalla griglia di ordini,non cancella gli ordini pendenti contrapposti...
spero che tu abbia la voglia di aiutarmi..
ti ringrazio in anticipo

posto l'ea e l'indicatore:
 

Allegati

  • eur usd 3°.gif
    eur usd 3°.gif
    37,5 KB · Visite: 168
  • mGRID EA.mq4
    9,3 KB · Visite: 173
  • INDI3.mq4
    7 KB · Visite: 179
Ultima modifica:

alwaiStop

Nuovo Utente
Registrato
5/9/11
Messaggi
7
Punti reazioni
1
Ciao Syson, sono nuovo qui (non del forex), saluti a tutti!
dunque: Ho vari metodi di trading sul forex che vorre automatizzare in maniera che siano sempre attivi anche a pc spento! naturalmente non capisco un acc. di MQL ne di Java. Puoi, Vuoi aiutarmi? L'appello è rivolto eventualmente anche ad altre persone capaci di scrivere queste diavolerie personalizzate. Grazie + grazie...

Veramente molto gentili qui, scusate se non ce la farò a rispondere a tutti :) saluti e auguri
 

tattik1975

Nuovo Utente
Registrato
16/2/10
Messaggi
87
Punti reazioni
4
:bow: Mi permetto di fare anche io una richiesta.
Essendo assolutamente incapace di scrivere EA, vorrei provarne uno semplice semplice...basato su un solo indicatore: QQE (lo allego).
In pratica vorrei che ogni qual volta l'indicatore dia il segnale, parta l'ordine. Vorrei avere l'impostazione del take profit e dello stop loss. Vorrei che in caso il take profit sia a 0, prenda profitto al prossimo segnale di inversione dell'indicatore. Vorrei che se lo stop loss venga lasciato a 0, chiuda comunque al segnale di inversione dell'indicatore. Vorrei avere la possibilità di scegliere ovviamente il lotto. Lo vorrei provare sul TF5 di EUR/USD con take profit impostato a 10pip.
 

Allegati

  • SuperScalperEA1.0.mq4
    43,5 KB · Visite: 192

((nick35))

Nuovo Utente
Registrato
18/1/11
Messaggi
1.763
Punti reazioni
73
scalping

un template per chi fa scalping veloce:D
non servono grandi spiegazioni
sui 5 minuti EUR USD 10 pips alla volta max ma anche 5 vanno bene
fatelo 20 volte al giorno e poi diventate ricchi come me:p:p

se qualcuno vuole automatizzarlo ben venga ma credo sia molto difficile...
la rossa darebbe il trend di massima...
gialla e blue sono le veloci.....
se volete attendere conferma della rossa sull'incrocio della blu e gialla aumentate le possibilità di successo.

se tradate sui livelli di tf superiori potreste lavorare solo su UP o DOWN se siete trend follower.
posto gli indicatori:cool:
 

Allegati

  • indi.zip
    70,9 KB · Visite: 174
  • my template.jpg
    my template.jpg
    84,6 KB · Visite: 126