
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
ecco la mia funzione per mt4 ecn, ndd, stp ...
Non un solo errore in un anno
//+----------------------------------------------------------------------------+
//| Funzione di apertura dell'ordine (BeerGod) |
//+----------------------------------------------------------------------------+
//| Parametri: |
//| sy - nome dello strumento ("" - simbolo corrente) |
//| op - operazione |
| //| ll - lotto |
//| sl - livello di stop |
//| tp - take level |
//| mn - MagicNumber |
//+----------------------------------------------------------------------------+
bool OpenPosition(string sy, int op, double ll, double sl=0, double tp=0, int MagicNumber=0)
{
double MinLl = MarketInfo(Symbol(),MODE_MINLOT);
double MaxLl = MarketInfo(Symbol(),MODE_MAXLOT);
ll = NormalizeDouble(ll,2);
se (ll < MinLl) ll = MinLl; altrimenti ll = ll;
se (ll > MaxLl) ll = MaxLl; altrimenti ll = ll;
if (op == 0) // apertura BUY
{
// Controlla se sono disponibili fondi liberi
if((AccountFreeMarginCheck(sy,OP_BUY,ll)<=0) || (GetLastError()==134))
{
Print(sy," ",ll," È impossibile aprire l'ordine Buy, non ci sono abbastanza soldi");
ritorno(0);
}
RefreshRates();
// Ordine aperto
int ticketbuy = OrderSend(sy,OP_BUY,ll,MarketInfo(sy,MODE_ASK),Slippage,0,0,Commenti,MagicNumber,0,BuyColor);
se(ticketbuy<0)
Stampa(sy," OpenPosition. OrderSend Buy fail #",GetLastError());
else
Print(sy," OpenPosition. OrderSend Buy successfully");
// Sleep (Pausa);
// Modificare l'ordine (impostare take profit e stop loss)
se (sl !=0 || tp !=0)
{
//--- I prezzi SL e TP calcolati devono essere normalizzati
double BSLoss = NormalizeDouble(MarketInfo(sy,MODE_ASK)-sl*MarketInfo(sy,MODE_POINT),(int)MarketInfo(sy,MODE_DIGITS))
double BTProfit = NormalizeDouble(MarketInfo(sy,MODE_ASK)+tp*MarketInfo(sy,MODE_POINT),(int)MarketInfo(sy,MODE_DIGITS));
//--- Se il valore di input è zero, sostituisce il prezzo di modifica con zero
se (sl == 0) BSLoss = 0;
se (tp == 0) BTProfit = 0;
bool resbuy = OrderModify (ticketbuy,OrderOpenPrice(),BSLoss,BTProfit,0,StopColor);
se(!resbuy)
Stampa(sy," OpenPosition. OrderModify Buy fail #",GetLastError());
else
Print(sy," OpenPosition. OrderModify Buy successfully");
}
}
if (op == 1) // Aprire la vendita.
{
// Verificare la disponibilità di fondi liberi
if((AccountFreeMarginCheck(sy,OP_SELL,ll)<=0) || (GetLastError()==134))
{
Print(sy," ",ll," È impossibile aprire l'ordine Vendere, non ci sono abbastanza soldi");
ritorno(0);
}
RefreshRates();
// Ordine aperto
int ticketsell = OrderSend(sy,OP_SELL,ll,MarketInfo(sy,MODE_BID),Slippage,0,0,Commenti,MagicNumber,0,SellColor);
se(ticketsell<0)
Stampa(sy," OpenPosition. OrderSend Sell fail #",GetLastError());
else
Print(sy," OpenPosition. OrderSend Sell successfully");
// Sleep (Pausa);
// Modificare l'ordine (impostare take profit e stop loss)
se (sl !=0 || tp !=0)
{
//--- I prezzi SL e TP calcolati devono essere normalizzati
double SSLoss = NormalizeDouble(MarketInfo(sy,MODE_BID)+sl*MarketInfo(sy,MODE_POINT),(int)MarketInfo(sy,MODE_DIGITS))
double STProfit = NormalizeDouble(MarketInfo(sy,MODE_BID)-tp*MarketInfo(sy,MODE_POINT),(int)MarketInfo(sy,MODE_DIGITS));
//--- Se il valore di input è zero, sostituisce il prezzo di modifica con zero
se (sl == 0) SSLoss = 0;
se (tp == 0) STProfit = 0;
bool ressell = OrderModify (ticketsell,OrderOpenPrice(),SSLoss,STProfit,0,StopColor);
se(!ressell)
Stampa(sy," OpenPosition. OrderModify Sell fail #",GetLastError());
else
Print(sy," OpenPosition. OrderModify Sell successfully");
}
}
return(True);
}
/Fine
P.S. Moderatori, il codice non può essere inserito tramite il pulsante.
Sto dando lezioni gratuite (senza costi) online su Skype sull'inserimento del codice:)
Do lezioni gratuite (non a pagamento) online su Skype sull'inserimento del codice:)
Do lezioni gratuite (non a pagamento) online su Skype sull'inserimento del codice:)
Grazie!
Fatto, se avete domande sul codice scrivere, disponibile anche di persona o su Skype
pronto, se avete domande sul codice, e-mail o Skype
L'allarme esce con il messaggio: nessun prezzo. Aspettiamo nuove zecche...
Avevo un conto demo che funzionava bene e ho aperto un trade al primo tentativo. Ho bisogno di più dettagli.