![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Gestione del denaro - Ryan Jones Codice a rapporto fisso
L'attuale codice Fixed Ratio funziona bene, ma vorrei consolidare il seguente codice attualmente è codificato per aggiungere 20 lotti.
{
if (MM == True)
{
if (AccountEquity() >= InitialCapital && AccountEquity() < (InitialCapital+(1*Delta))) {MMLots=1*Lots;}
if (AccountEquity() > (InitialCapital + (1*Delta)) && AccountEquity() < (InitialCapital+(3*Delta))) {MMLots=2*Lots;}
if (AccountEquity() > (InitialCapital + (3*Delta)) && AccountEquity() < (InitialCapital+(6*Delta))) {MMLots=3*Lots;}
if (AccountEquity() > (InitialCapital + (6*Delta)) && AccountEquity() < (InitialCapital+(10*Delta))) {MMLots=4*Lots;}
if (AccountEquity() > (InitialCapital + (10*Delta)) && AccountEquity() < (InitialCapital+(15*Delta))) {MMLots=5*Lots;}
if (AccountEquity() > (InitialCapital + (15*Delta)) && AccountEquity() < (InitialCapital+(21*Delta))) {MMLots=6*Lots;}
if (AccountEquity() > (InitialCapital + (21*Delta)) && AccountEquity() < (InitialCapital+(28*Delta))) {MMLots=7*Lots;}
if (AccountEquity() > (InitialCapital + (28*Delta)) && AccountEquity() < (InitialCapital+(36*Delta))) {MMLots=8*Lots;}
if (AccountEquity() > (InitialCapital + (36*Delta)) && AccountEquity() < (InitialCapital+(45*Delta))) {MMLots=9*Lots;}
if (AccountEquity() > (InitialCapital + (45*Delta)) && AccountEquity() < (InitialCapital+(55*Delta))) {MMLots=10*Lots;}
if (AccountEquity() > (InitialCapital + (55*Delta)) && AccountEquity() < (InitialCapital+(66*Delta))) {MMLots=11*Lots;}
if (AccountEquity() > (InitialCapital + (66*Delta)) && AccountEquity() < (InitialCapital+(78*Delta))) {MMLots=12*Lots;}
if (AccountEquity() > (InitialCapital + (78*Delta)) && AccountEquity() < (InitialCapital+(91*Delta))) {MMLots=13*Lots;}
if (AccountEquity() > (InitialCapital + (91*Delta)) && AccountEquity() < (InitialCapital+(105*Delta))) {MMLots=14*Lots;}
if (AccountEquity() > (InitialCapital + (105*Delta)) && AccountEquity() < (InitialCapital+(125*Delta))) {MMLots=15*Lots;}
if (AccountEquity() > (InitialCapital + (125*Delta)) && AccountEquity() < (InitialCapital+(141*Delta))) {MMLots=16*Lots;}
if (AccountEquity() > (InitialCapital + (141*Delta)) && AccountEquity() < (InitialCapital+(158*Delta))) {MMLots=17*Lots;}
if (AccountEquity() > (InitialCapital + (158*Delta)) && AccountEquity() < (InitialCapital+(176*Delta))) {MMLots=18*Lots;}
if (AccountEquity() > (InitialCapital + (176*Delta)) && AccountEquity() < (InitialCapital+(195*Delta))) {MMLots=19*Lots;}
if (AccountEquity() > (InitialCapital + (195*Delta)) && AccountEquity() < (InitialCapital+(215*Delta))) {MMLots=20*Lots;}
}
else MMLots = Lots;
}TimeFreedom
Ryan Jones
Ciao a tutti,
Ho pagato quasi 2500 dollari per il suo EA, che fa schifo. Quando gli ho scritto, ha detto che funziona per lui. pieno di B*** S***, se ha venduto diciamo 100 EAs, la sua mossa è sicuramente in modalità rialzista.
blueocean
Non proprio la stessa cosa
if (MM == True)
{
int i,n=0;
if (AccountEquity() >= InitialCapital)
{
for (i=1;i<=20;i++)
{
n += i;
if (AccountEquity() < (InitialCapital+(n*Delta)))
{
MMLots=i*Lots;
break;
}
}
}
}
else MMLots = Lots;
Avete ">=" solo sulla prima se
Qual è il codice per mettere stop a break even?
Qualcuno sa come posso aggiungere del codice al mio ea per avere lo stop impostato sul break even o addirittura avere il contesto quando si aggiunge a quanti ne voglio?
extern double BreakEven = 0;
Theres che bit, ma quale codice devo effettivamente mettere?
C'È UN MODO PER METTERE UN BREAK EVEN STOP LOSS!!!!!![](https://c.mql5.com/forextsd/smiles/angry_smile.png)
Accidenti. Calmati. Ecco il codice che uso per la maggior parte dei miei EA, semplificato per la tua richiesta.
{
for(int cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if (BreakEven>0 )
{
if (OrderType()==OP_BUY)
{
if (Bid-OrderOpenPrice()>=Point*BreakEven)
{
if (OrderStopLoss()<OrderOpenPrice() || OrderStopLoss()==0)
OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice() ,OrderTakeProfit(),0,Green);
}
}
else if (OrderType()==OP_SELL)
{
if (OrderOpenPrice()-Ask>=Point*BreakEven)
{
if (OrderStopLoss()>OrderOpenPrice() || OrderStopLoss()==0)
OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice() ,OrderTakeProfit(),0,Red);
}
}
}
}
}Grazie, ma questo non si adatta alla cosa del breakEven esterno.
L'ho messo in dice, Funzione "breakEvenManager" non è referenziato e sarà rimosso.
Grazie, ma questo non si adatta alla cosa di extern breakeven. L'ho messo in dice, La funzione "breakEvenManager" non è referenziata e sarà rimossa.
Devi chiamare il modulo ad un certo punto del tuo codice.
ho bisogno di aiuto in codice semplice
Ciao a tutti
ho bisogno di qualcuno può aiutare in un codice semplice che invertire l'ordine quando ha perso e aprire lo stesso ordine se ha vinto, e il primo ordine verrà aperto manualmente, impostare qualsiasi takeprofit e stopand
grazie per l'aiuto