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
Kikousi,
Potresti voler testare da solo le migliori coordinate. FerruFX e CJA hanno utilizzato le migliori soluzioni di avere posizioni angolari predefinite con input dell'utente per il posizionamento degli oggetti. Potresti anche guardare OBJPROP_CORNER
Inoltre, per favore cerca di non postare la stessa richiesta che hai fatto tu. Gli utenti vedono il tuo post e se qualcuno può aiutarti lo farà.
Grazie
Edit: Usando la proprietà dell 'angolo 0 è in alto a sinistra, 1 è in alto a destra, 2 in basso a sinistra, 3 in basso a destra. Il conteggio è 0.
Aiuto per il debugging del mio EA
Ciao, scusate se questo è il forum sbagliato per postare e per favore correggete se lo è.
Ho programmato il mio EA e ho alcuni problemi con il riempimento degli ordini e gli ordini stop loss. Qualcuno potrebbe aiutarmi? Posso condividere l'EA.
Grazie
codobro,
Grazie mille per la tua gentile risposta.
Non posterò più la stessa domanda d'ora in poi.
Apprezzo il tuo suggerimento.
A questo proposito, ho capito che la posizione in alto a sinistra è (0,0), allora qual è l'indicazione del basso a destra in quel momento?
Per esempio, posso usare (250,350) per l'indicazione in basso a destra quando la posizione in alto a sinistra è (0,0)?
Vi ringrazio in anticipo per la vostra gentile comprensione di quanto sopra.
Il grafico dell'indicatore non mostra tutti i dati
Ciao
Sono abbastanza bravo a programmare in C, ma sto iniziando con MQL4.
Ho appena fatto il mio primo indicatore e mostra un array parzialmente nella finestra separata.
Con parzialmente intendo dire che se si scorre a sinistra, allora per alcuni periodi di tempo non viene visualizzato nulla, e se scorro ulteriormente a sinistra, allora i dati i visualizzati per alcuni periodi e così via.
Se si scorre a destra, allora gli stessi periodi di tempo non vengono visualizzati.
Altrimenti non vedo alcuno schema.
Inoltre, se mi sposto da 1-min, dove vedo alcuni dati, a diciamo 5-min, allora non viene mostrato proprio nulla.
Perché non vengono mostrati tutti i dati? Cosa potrebbe essermi sfuggito?
Buon EA - BISOGNO DI AIUTO
Hai,
C'è qualcuno in questo grande forum, potrebbe modificare questo EA senza alcuno stop loss.
Grazie
//---- parametri di input ---------------------------------------------+
extern int INCREMENT=35;
extern double LOTS=0.1;
extern int LEVELS=3;
extern double MAX_LOTS=99;
extern int MAGIC=1803;
extern bool CONTINUE=true;
extern bool MONEY_MANAGEMENT=falso;
extern int RISK_RATIO=2;
//+------------------------------------------------------------------+
bool UseProfitTarget=falso;
bool UsePartialProfitTarget=false;
int Target_Increment = 50;
int First_Target = 20;
bool UseEntryTime=falso;
int EntryTime=0;
//+------------------------------------------------------------------+
bool Enter=true;
int nextTP;
int init()
{
//+------------------------------------------------------------------+
nextTP = First_Target;
//+------------------------------------------------------------------+
return(0);
}
//+------------------------------------------------------------------+
//| funzione di deinizializzazione esperta |
//+------------------------------------------------------------------+
int deinit()
{
return(0);
}
//+------------------------------------------------------------------+
//| funzione di avvio esperto |
//+------------------------------------------------------------------+
int start()
{
int ticket, cpt, profit, total=0, BuyGoalProfit, SellGoalProfit, PipsLot;
double ProfitTarget=INCREMENTO*2, BuyGoal=0, SellGoal=0, spread=(Ask-Bid)/Point, InitialPrice=0;
//----
if(INCREMENT<MarketInfo(Symbol(),MODE_STOPLEVEL)+spread) INCREMENT=1+MarketInfo(Symbol(),MODE_STOPLEVEL)+spread;
if(MONEY_MANAGEMENT) LOTS=NormalizeDouble(AccountBalance()*AccountLeverage()/1000000*RISK_RATIO,0)*MarketInfo(Symbol(),MODE_MINLOT);
if(LOTS<MarketInfo(Symbol(),MODE_MINLOT))
{
Comment("Non c'è abbastanza margine libero per iniziare");
return(0);
}
for(cpt=1;cpt<LEVELS;cpt++) PipsLot+=cpt*INCREMENT;
for(cpt=0;cpt<OrdiniTotali();cpt++)
{
OrderSelect(cpt,SELECT_BY_POS,MODE_TRADES);
if(OrderMagicNumber()==MAGIC && OrderSymbol()==Symbol())
{
totale++;
if(!InitialPrice) InitialPrice=StrToDouble(OrderComment());
if(UsePartialProfitTarget && UseProfitTarget && OrderType()<2)
{
double val=getPipValue(OrderOpenPrice(),OrderType());
takeProfit(val,OrderTicket());
}
}
}
if(total<1 && Enter && (!UseEntryTime || (UseEntryTime && Hour()==EntryTime))
{
if(AccountFreeMargin()<(100*LOTS))
{
Print("Non c'è abbastanza margine libero per iniziare");
return(0);
}
// - Conto aperto - Inizio ciclo
InitialPrice=Ask;
SellGoal=InitialPrice-(LEVELS+1)*INCREMENTO*Punto;
BuyGoal=InitialPrice+(LEVELS+1)*INCREMENTO*Punto;
for(cpt=1;cpt<=LEVELLI;cpt++)
{
OrderSend(Symbol(),OP_BUYSTOP,LOTS,InitialPrice+cpt*INCREMENT*Point,2,SellGoal,BuyGoal,DoubleToStr(InitialPrice,MarketInfo(Symbol(),MODE_DIGITS)),MAGIC,0);
OrderSend(Symbol(),OP_SELLSTOP,LOTS,InitialPrice-cpt*INCREMENT*Point,2,BuyGoal+spread*Point,SellGoal+spread*Point,DoubleToStr(InitialPrice,MarketInfo(Symbol(),MODE_DIGITS)),MAGIC,0);
}
} // setup iniziale fatto - tutti i canali sono impostati
else // Abbiamo ordini aperti
{
BuyGoal=InitialPrice+INCREMENT*(LEVELS+1)*Point;
SellGoal=InitialPrice-INCREMENT*(LEVELS+1)*Point;
total=OrdersHistoryTotal();
for(cpt=0;cpt<totale;cpt++)
{
OrderSelect(cpt,SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC && StrToDouble(OrderComment())==InitialPrice){EndSession();return(0);}
}
if(UseProfitTarget && CheckProfits(LOTS,OP_SELL,true,InitialPrice)>ProfitTarget) {EndSession();return(0);}
BuyGoalProfit=CheckProfits(LOTS,OP_BUY,false,InitialPrice);
SellGoalProfit=CheckProfits(LOTS,OP_SELL,false,InitialPrice);
if(BuyGoalProfit<ProfitTarget)
// - Incriminazioni Lotti Acquisto
{
for(cpt=LEVELLI;cpt>=1 && BuyGoalProfit<ProfitTarget;cpt--)
{
if(Ask<=(InitialPrice+(cpt*INCREMENT-MarketInfo(Symbol(),MODE_STOPLEVEL))*Point))
{
ticket=OrderSend(Symbol(),OP_BUYSTOP,cpt*LOTS,InitialPrice+cpt*INCREMENT*Point,2,SellGoal,BuyGoal,DoubleToStr(InitialPrice,MarketInfo(Symbol(),MODE_DIGITS)),MAGIC,0);
}
if(ticket>0) BuyGoalProfit+=LOTS*(BuyGoal-InitialPrice-cpt*INCREMENT*Point)/Point;
}
}
if(SellGoalProfit<ProfitTarget)
// - Aumenta i lotti di vendita
{
for(cpt=LEVELS;cpt>=1 && SellGoalProfit<ProfitTarget;cpt--)
{
if(Bid>=(InitialPrice-(cpt*INCREMENT-MarketInfo(Symbol(),MODE_STOPLEVEL))*Point))
{
ticket=OrderSend(Symbol(),OP_SELLSTOP,cpt*LOTS,InitialPrice-cpt*INCREMENT*Point,2,BuyGoal+spread*Point,SellGoal+spread*Point,DoubleToStr(InitialPrice,MarketInfo(Symbol(),MODE_DIGITS)),MAGIC,0);
}
if(ticket>0) SellGoalProfit+=LOTS*(InitialPrice-cpt*INCREMENT*Point-SellGoal-spread*Point)/Point;
}
}
}
//+------------------------------------------------------------------+
Comment("mGRID EXPERT ADVISOR ver 2.0\n",
"FX Acc Server:",AccountServer(),"\n",
"Data:",Mese(),"-",Giorno(),"-",Anno()," Ora del server:",Ora(),":",Minuti(),":",Secondi(),"\n",
"Dimensione minima del lotto: ",MarketInfo(Symbol(),MODE_MINLOT),"\n",
"Saldo del conto: $",Saldo del conto(),"\n",
"Simbolo: ", Symbol(),"\n",
"Prezzo: ",NormalizeDouble(Bid,4),"\n",
"Pip Spread: ",MarketInfo("EURUSD",MODE_SPREAD),"\n",
"Incremento=" + INCREMENTO,"\n",
"Lotti: ",LOTTI,"\n",
"Livelli: " + LIVELLI,"\n");
return(0);
}
//+------------------------------------------------------------------+
int CheckProfits(double LOTS, int Goal, bool Current, double InitialPrice)
{
int profit=0, cpt;
if(Current)//restituisce il profitto attuale
{
for(cpt=0;cpt<OrdersTotal();cpt++)
{
OrderSelect(cpt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol()==Symbol() && StrToDouble(OrderComment())==InitialPrice)
{
if(OrderType()==OP_BUY) profit+=(Bid-OrderOpenPrice())/Point*OrderLots()/LOTS;
se(OrderType()==OP_SELL) profit+=(OrderOpenPrice()-Ask)/Point*OrderLots()/LOTS;
}
}
return(profit);
}
else
{
se(Obiettivo==OP_BUY)
{
for(cpt=0;cpt<OrdersTotal();cpt++)
{
OrderSelect(cpt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol()==Symbol() && StrToDouble(OrderComment())==InitialPrice)
{
if(OrderType()==OP_BUY) profit+=(OrderTakeProfit()-OrderOpenPrice())/Point*OrderLots()/LOTS;
if(OrderType()==OP_SELL) profit-=(OrderStopLoss()-OrderOpenPrice())/Point*OrderLots()/LOTS;
if(OrderType()==OP_BUYSTOP) profit+=(OrderTakeProfit()-OrderOpenPrice())/Point*OrderLots()/LOTS;
}
}
return(profit);
}
else
{
for(cpt=0;cpt<OrdersTotal();cpt++)
{
OrderSelect(cpt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol()==Symbol() && StrToDouble(OrderComment())==InitialPrice)
{
se(OrderType()==OP_BUY) profit-=(OrderOpenPrice()-OrderStopLoss())/Point*OrderLots()/LOTS;
if(OrderType()==OP_SELL) profit+=(OrderOpenPrice()-OrderTakeProfit())/Point*OrderLots()/LOTS;
if(OrderType()==OP_SELLSTOP) profit+=(OrderOpenPrice()-OrderTakeProfit())/Point*OrderLots()/LOTS;
}
}
return(profit);
}
}
}
bool EndSession()
{
int cpt, total=OrdersTotal();
for(cpt=0;cpt<totale;cpt++)
{
Sleep(3000);
OrderSelect(cpt,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol() && OrderType()>1) OrderDelete(OrderTicket());
else if(OrderSymbol()==Symbol() && OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),Bid,3);
else if(OrderSymbol()==Symbol() && OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),Ask,3);
}
if(!CONTINUE) Enter=false;
return(true);
}
double getPipValue(double ord,int dir)
{
double val;
RefreshRates();
if(dir == 1) val=(NormalizeDouble(ord,Digits) - NormalizeDouble(Ask,Digits));
else val=(NormalizeDouble(Bid,Digits) - NormalizeDouble(ord,Digits));
val = val/Point;
return(val);
}
//========== FUNZIONE takeProfit
void takeProfit(int current_pips, int ticket)
{
if(OrderSelect(ticket, SELECT_BY_TICKET))
{
if(current_pips >= nextTP && current_pips < (nextTP + Target_Increment))
{
if(OrderType()==1)
{
if(OrderClose(ticket, MAX_LOTS, Ask, 3))
nextTP+=Target_Increment;
altrimenti
Print("Errore nella chiusura dell'ordine: ",GetLastError());
}
else
{
if(OrderClose(ticket, MAX_LOTS, Bid, 3))
nextTP+=Target_Increment;
altrimenti
Print("Errore nella chiusura dell'ordine: ",GetLastError());
}
}
}
}
Hai,
C'è qualcuno in questo grande forum, potrebbe modificare questo EA senza alcuno stop loss.
Grazie
//---- parametri di input ---------------------------------------------+
extern int INCREMENT=35;
extern double LOTS=0.1;
extern int LEVELS=3;
extern double MAX_LOTS=99;
extern int MAGIC=1803;
extern bool CONTINUE=true;
extern bool MONEY_MANAGEMENT=falso;
extern int RISK_RATIO=2;
//+------------------------------------------------------------------+
bool UseProfitTarget=falso;
bool UsePartialProfitTarget=false;
int Target_Increment = 50;
int First_Target = 20;
bool UseEntryTime=falso;
int EntryTime=0;
//+------------------------------------------------------------------+
bool Enter=true;
int nextTP;
int init()
{
//+------------------------------------------------------------------+
nextTP = First_Target;
//+------------------------------------------------------------------+
return(0);
}
//+------------------------------------------------------------------+
//| funzione di deinizializzazione esperta |
//+------------------------------------------------------------------+
int deinit()
{
return(0);
}
//+------------------------------------------------------------------+
//| funzione di avvio esperto |
//+------------------------------------------------------------------+
int start()
{
int ticket, cpt, profit, total=0, BuyGoalProfit, SellGoalProfit, PipsLot;
double ProfitTarget=INCREMENTO*2, BuyGoal=0, SellGoal=0, spread=(Ask-Bid)/Point, InitialPrice=0;
//----
if(INCREMENT<MarketInfo(Symbol(),MODE_STOPLEVEL)+spread) INCREMENT=1+MarketInfo(Symbol(),MODE_STOPLEVEL)+spread;
if(MONEY_MANAGEMENT) LOTS=NormalizeDouble(AccountBalance()*AccountLeverage()/1000000*RISK_RATIO,0)*MarketInfo(Symbol(),MODE_MINLOT);
if(LOTS<MarketInfo(Symbol(),MODE_MINLOT))
{
Comment("Non c'è abbastanza margine libero per iniziare");
return(0);
}
for(cpt=1;cpt<LEVELS;cpt++) PipsLot+=cpt*INCREMENT;
for(cpt=0;cpt<OrdiniTotali();cpt++)
{
OrderSelect(cpt,SELECT_BY_POS,MODE_TRADES);
if(OrderMagicNumber()==MAGIC && OrderSymbol()==Symbol())
{
totale++;
if(!InitialPrice) InitialPrice=StrToDouble(OrderComment());
if(UsePartialProfitTarget && UseProfitTarget && OrderType()<2)
{
double val=getPipValue(OrderOpenPrice(),OrderType());
takeProfit(val,OrderTicket());
}
}
}
if(total<1 && Enter && (!UseEntryTime || (UseEntryTime && Hour()==EntryTime))
{
if(AccountFreeMargin()<(100*LOTS))
{
Print("Non c'è abbastanza margine libero per iniziare");
return(0);
}
// - Conto aperto - Inizio ciclo
InitialPrice=Ask;
SellGoal=InitialPrice-(LEVELS+1)*INCREMENTO*Punto;
BuyGoal=InitialPrice+(LEVELS+1)*INCREMENTO*Punto;
for(cpt=1;cpt<=LEVELLI;cpt++)
{
OrderSend(Symbol(),OP_BUYSTOP,LOTS,InitialPrice+cpt*INCREMENT*Point,2,SellGoal,BuyGoal,DoubleToStr(InitialPrice,MarketInfo(Symbol(),MODE_DIGITS)),MAGIC,0);
OrderSend(Symbol(),OP_SELLSTOP,LOTS,InitialPrice-cpt*INCREMENT*Point,2,BuyGoal+spread*Point,SellGoal+spread*Point,DoubleToStr(InitialPrice,MarketInfo(Symbol(),MODE_DIGITS)),MAGIC,0);
}
} // setup iniziale fatto - tutti i canali sono impostati
else // Abbiamo ordini aperti
{
BuyGoal=InitialPrice+INCREMENT*(LEVELS+1)*Point;
SellGoal=InitialPrice-INCREMENT*(LEVELS+1)*Point;
total=OrdersHistoryTotal();
for(cpt=0;cpt<totale;cpt++)
{
OrderSelect(cpt,SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC && StrToDouble(OrderComment())==InitialPrice){EndSession();return(0);}
}
if(UseProfitTarget && CheckProfits(LOTS,OP_SELL,true,InitialPrice)>ProfitTarget) {EndSession();return(0);}
BuyGoalProfit=CheckProfits(LOTS,OP_BUY,false,InitialPrice);
SellGoalProfit=CheckProfits(LOTS,OP_SELL,false,InitialPrice);
if(BuyGoalProfit<ProfitTarget)
// - Incriminazioni Lotti Acquisto
{
for(cpt=LEVELLI;cpt>=1 && BuyGoalProfit<ProfitTarget;cpt--)
{
if(Ask<=(InitialPrice+(cpt*INCREMENT-MarketInfo(Symbol(),MODE_STOPLEVEL))*Point))
{
ticket=OrderSend(Symbol(),OP_BUYSTOP,cpt*LOTS,InitialPrice+cpt*INCREMENT*Point,2,SellGoal,BuyGoal,DoubleToStr(InitialPrice,MarketInfo(Symbol(),MODE_DIGITS)),MAGIC,0);
}
if(ticket>0) BuyGoalProfit+=LOTS*(BuyGoal-InitialPrice-cpt*INCREMENT*Point)/Point;
}
}
if(SellGoalProfit<ProfitTarget)
// - Aumenta i lotti di vendita
{
for(cpt=LEVELS;cpt>=1 && SellGoalProfit<ProfitTarget;cpt--)
{
if(Bid>=(InitialPrice-(cpt*INCREMENT-MarketInfo(Symbol(),MODE_STOPLEVEL))*Point))
{
ticket=OrderSend(Symbol(),OP_SELLSTOP,cpt*LOTS,InitialPrice-cpt*INCREMENT*Point,2,BuyGoal+spread*Point,SellGoal+spread*Point,DoubleToStr(InitialPrice,MarketInfo(Symbol(),MODE_DIGITS)),MAGIC,0);
}
if(ticket>0) SellGoalProfit+=LOTS*(InitialPrice-cpt*INCREMENT*Point-SellGoal-spread*Point)/Point;
}
}
}
//+------------------------------------------------------------------+
Comment("mGRID EXPERT ADVISOR ver 2.0\n",
"FX Acc Server:",AccountServer(),"\n",
"Data:",Mese(),"-",Giorno(),"-",Anno()," Ora del server:",Ora(),":",Minuti(),":",Secondi(),"\n",
"Dimensione minima del lotto: ",MarketInfo(Symbol(),MODE_MINLOT),"\n",
"Saldo del conto: $",Saldo del conto(),"\n",
"Simbolo: ", Symbol(),"\n",
"Prezzo: ",NormalizeDouble(Bid,4),"\n",
"Pip Spread: ",MarketInfo("EURUSD",MODE_SPREAD),"\n",
"Incremento=" + INCREMENTO,"\n",
"Lotti: ",LOTTI,"\n",
"Livelli: " + LIVELLI,"\n");
return(0);
}
//+------------------------------------------------------------------+
int CheckProfits(double LOTS, int Goal, bool Current, double InitialPrice)
{
int profit=0, cpt;
if(Current)//restituisce il profitto attuale
{
for(cpt=0;cpt<OrdersTotal();cpt++)
{
OrderSelect(cpt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol()==Symbol() && StrToDouble(OrderComment())==InitialPrice)
{
if(OrderType()==OP_BUY) profit+=(Bid-OrderOpenPrice())/Point*OrderLots()/LOTS;
se(OrderType()==OP_SELL) profit+=(OrderOpenPrice()-Ask)/Point*OrderLots()/LOTS;
}
}
return(profit);
}
else
{
se(Obiettivo==OP_BUY)
{
for(cpt=0;cpt<OrdersTotal();cpt++)
{
OrderSelect(cpt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol()==Symbol() && StrToDouble(OrderComment())==InitialPrice)
{
if(OrderType()==OP_BUY) profit+=(OrderTakeProfit()-OrderOpenPrice())/Point*OrderLots()/LOTS;
if(OrderType()==OP_SELL) profit-=(OrderStopLoss()-OrderOpenPrice())/Point*OrderLots()/LOTS;
if(OrderType()==OP_BUYSTOP) profit+=(OrderTakeProfit()-OrderOpenPrice())/Point*OrderLots()/LOTS;
}
}
return(profit);
}
else
{
for(cpt=0;cpt<OrdersTotal();cpt++)
{
OrderSelect(cpt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol()==Symbol() && StrToDouble(OrderComment())==InitialPrice)
{
se(OrderType()==OP_BUY) profit-=(OrderOpenPrice()-OrderStopLoss())/Point*OrderLots()/LOTS;
if(OrderType()==OP_SELL) profit+=(OrderOpenPrice()-OrderTakeProfit())/Point*OrderLots()/LOTS;
if(OrderType()==OP_SELLSTOP) profit+=(OrderOpenPrice()-OrderTakeProfit())/Point*OrderLots()/LOTS;
}
}
return(profit);
}
}
}
bool EndSession()
{
int cpt, total=OrdersTotal();
for(cpt=0;cpt<totale;cpt++)
{
Sleep(3000);
OrderSelect(cpt,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol() && OrderType()>1) OrderDelete(OrderTicket());
else if(OrderSymbol()==Symbol() && OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),Bid,3);
else if(OrderSymbol()==Symbol() && OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),Ask,3);
}
if(!CONTINUE) Enter=false;
return(true);
}
double getPipValue(double ord,int dir)
{
double val;
RefreshRates();
if(dir == 1) val=(NormalizeDouble(ord,Digits) - NormalizeDouble(Ask,Digits));
else val=(NormalizeDouble(Bid,Digits) - NormalizeDouble(ord,Digits));
val = val/Point;
return(val);
}
//========== FUNZIONE takeProfit
void takeProfit(int current_pips, int ticket)
{
if(OrderSelect(ticket, SELECT_BY_TICKET))
{
if(current_pips >= nextTP && current_pips < (nextTP + Target_Increment))
{
if(OrderType()==1)
{
if(OrderClose(ticket, MAX_LOTS, Ask, 3))
nextTP+=Target_Increment;
altrimenti
Print("Errore nella chiusura dell'ordine: ",GetLastError());
}
else
{
if(OrderClose(ticket, MAX_LOTS, Bid, 3))
nextTP+=Target_Increment;
altrimenti
Print("Errore nella chiusura dell'ordine: ",GetLastError());
}
}
}
}Ciao
qui si va
jdun,
Il codice di SL & TP è già scritto in questo EA:
Guarda queste linee:
PipsForEntry= 13;
TrailingStop = 40;
TakeProfit = 45;
InitialStopLoss=33;
} else if (Symbol()=="EURUSD") {
PipsForEntry= 13;
TrailingStop = 30;
TakeProfit = 45;
InitialStopLoss=23;
} else if (Symbol()=="USDCHF") {
PipsForEntry= 13;
TrailingStop = 30;
TakeProfit = 45;
InitialStopLoss=15;
} else {
PipsForEntry= 13;
TrailingStop = 30;
TakeProfit = 45;
InitialStopLoss=30;
} [/PHP]
If you want to make SL & TP external variables which you can set, you have to comment the above lines of code and uncomment these lines:
[PHP]/*
extern int PipsForEntry= 5;
extern double TrailingStop = 40;
extern double TakeProfit = 120;
extern double InitialStopLoss=50;
*/numero massimo di compravendite per segnale
Qualcuno sa cosa dovrei usare per limitare il numero di operazioni per segnale (vorrei 1 operazione per segnale ma ne ottengo tipo 8 e l'ultima è sempre perdente)
Aiuto
Hai,
C'è ancora uno stop loss
Ciao qui si va
EA con più tempi personalizzati?
Mi rendo conto che un EA può essere fatto con più time frame, MA è possibile scriverne uno con tempi personalizzati? Ho un EA con MTF ma ho bisogno di tempi personalizzati e non di tempi predefiniti, quindi non si "allineano" molto spesso.
saluti