Come si calcola il volume del lotto in incrementi? Se deposito =1000, lotto = 0,1, il deposito è diventato 2000 lotto = 0,2. Cioè, se il deposito è 1500 o 1700, il lotto non viene incrementato.
Come si calcola il volume del lotto in incrementi? Se deposito =1000, lotto = 0,1, il deposito è diventato 2000 lotto = 0,2. Cioè, se il deposito è di 1500 o 1700, il lotto non aumenta.
double percentLot = 0.01,
lot = NormalizeDouble(MathFloor(AccountInfoDouble(ACCOUNT_BALANCE)*percentLot/10)/10, 1);
No, no, con un deposito di 1100, il lotto sarà 0,11, e ho bisogno che il lotto non aumenti fino a 2000. Come faccio a impostare il passo =1000 nelle impostazioni?
Buon pomeriggio, potreste dirmi se è possibile aggiungere le coordinate dell'indicizzatore al mouse, se è possibile, per favore inviatemi una mail a ereminmikola@yandex.ru
Ciao programmatori. Potreste darmi un suggerimento su come affrontare correttamente la seguente condizione:
1. L'Expert Advisor apre 2 ordini a mercato (acquisto e vendita) con lo stesso lotto specificato nelle impostazioni. - L'ordine viene eseguito senza problemi
Il prossimo presenta un problema, il prezzo può muoversi sia in direzione SELL che in direzione BUY. Come possiamo organizzare il codice in modo che quando sono passati n punti, l'Expert Advisor scannerizzi la redditività di queste due operazioni in LIVE e chiuda l'ordine che ha un saldo negativo dopo n punti? Se avete altre idee su come farlo, per favore consigliatemi.
Vi do il codice - progetto, solo il primo punto viene eseguito, e si aprono 2 trade con TP e SL
2. Quando il prezzo raggiunge la quantità specificata di pip, allora chiudo l'ordine con un saldo negativo e apro altri 2 ordini (acquisto e vendita) con lo stesso lotto,
Gli stop sono fissati al prezzo di apertura del primo ordine, cioè se il trend si inverte, tutti e 3 gli ordini dovrebbero chiudersi simultaneamente.
externint _ms = 1000;
externdouble _lots = 0.01;
externdouble _TP = 80;
externdouble _SL = 35;
int _mn;
double pt;
//+------------------------------------------------------------------+//| Expert initialization function |//+------------------------------------------------------------------+intOnInit()
{
pt = Point;
if (Digits==3||Digits==5) {pt*=10;} else pt = Point;
_mn = MagicNumberGenerator(_ms);
Print("The magic number is ",_mn);
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+//| Expert deinitialization function |//+------------------------------------------------------------------+voidOnDeinit(constint reason)
{
}
//+------------------------------------------------------------------+//| Expert tick function |//+------------------------------------------------------------------+voidOnTick()
{
if (IsNewCandle())
{
if (TotalOpenOrders(_mn)==0)
{
EnterTrade(OP_BUY);
EnterTrade(OP_SELL);
}
}
}
//+------------------------------------------------------------------+//+------------------------------------------------------------------+//| Открытие первых позиций |//+------------------------------------------------------------------+void EnterTrade(int type)
{
double price = 0; double sl = 0; double tp = 0; double lot = _lots;
if (type == OP_BUY) price = Ask;
elseif (type == OP_SELL) price = Bid;
int err = 0;
int ticket = OrderSend(_Symbol, type, lot, price, 30, 0, 0, NULL, _mn, 0, clrGreen);
if (ticket == -1)
{
err = GetLastError();
Print("Could not place the order due to error ",err," ",ErrorDescription(err));
if (err == ERR_TRADE_NOT_ALLOWED) Alert("You need to enable you autotrade button");
}
else
{
if(!OrderSelect(ticket,SELECT_BY_TICKET))
{
err = GetLastError();
Print("Could not select the order due to error ",err," ",ErrorDescription(err));
}
else
{
if (OrderType()==OP_SELL)
{
sl = OrderOpenPrice()+(_SL*pt);
if (_SL==0) sl = 0;
tp = OrderOpenPrice()-(_TP*pt);
}
elseif (OrderType()==OP_BUY)
{
sl = OrderOpenPrice()-(_SL*pt);
if (_SL==0) sl = 0;
tp = OrderOpenPrice()+(_TP*pt);
}
if(!OrderModify(ticket, OrderOpenPrice(), sl, tp, 0, clrNONE))
err = GetLastError();
Print("Could not modify the order due to error ",err," ",ErrorDescription(err));
}
}
}
Il compito è trovare la barra con la chiusura minima
for(int x=0; x<=xBars -1; x++)
{
contro++;
// Print(Close[x],",",counter);
int h = ArrayMinimum(Close[x]);
se(contatore > 20) pausa;
}
Il compilatore giura su Close
Scrivi i prezzi di chiusura in un array separato e poi fuori dal pulcino ArrauMinimum
Il compito è quello di trovare la barra con la chiusura minima
ci sono le funzioni iHighest e iLowest (ora anche in MT5)
ci sono le funzioni iHighest e iLowest (ora anche in MT5)
Il compito è trovare la barra con la chiusura minima
for(int x=0; x<=xBars -1; x++)
{
contro++;
// Print(Close[x],",",counter);
int h = ArrayMinimum(Close[x]);
se(contatore > 20) pausa;
}
Il compilatore giura su Close
Il compito di cercare il prezzo minimo/massimo in MQL4 è risolto da una linea:
è possibile, ma non sarà esattamente un timer.
Grazie.
Come si calcola il volume del lotto in incrementi? Se deposito =1000, lotto = 0,1, il deposito è diventato 2000 lotto = 0,2. Cioè, se il deposito è 1500 o 1700, il lotto non viene incrementato.
Grazie.
Come si calcola il volume del lotto in incrementi? Se deposito =1000, lotto = 0,1, il deposito è diventato 2000 lotto = 0,2. Cioè, se il deposito è di 1500 o 1700, il lotto non aumenta.
In qualche modo...
Come questo...
No, no, con un deposito di 1100, il lotto sarà 0,11, e ho bisogno che il lotto non aumenti fino a 2000. Come faccio a impostare il passo =1000 nelle impostazioni?
Ciao programmatori. Potreste darmi un suggerimento su come affrontare correttamente la seguente condizione:
1. L'Expert Advisor apre 2 ordini a mercato (acquisto e vendita) con lo stesso lotto specificato nelle impostazioni. - L'ordine viene eseguito senza problemi
Il prossimo presenta un problema, il prezzo può muoversi sia in direzione SELL che in direzione BUY. Come possiamo organizzare il codice in modo che quando sono passati n punti, l'Expert Advisor scannerizzi la redditività di queste due operazioni in LIVE e chiuda l'ordine che ha un saldo negativo dopo n punti? Se avete altre idee su come farlo, per favore consigliatemi.
Vi do il codice - progetto, solo il primo punto viene eseguito, e si aprono 2 trade con TP e SL
2. Quando il prezzo raggiunge la quantità specificata di pip, allora chiudo l'ordine con un saldo negativo e apro altri 2 ordini (acquisto e vendita) con lo stesso lotto,
Gli stop sono fissati al prezzo di apertura del primo ordine, cioè se il trend si inverte, tutti e 3 gli ordini dovrebbero chiudersi simultaneamente.