Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 337

 
Tapochun:
Non è il robot... Funziona senza alcun errore. La struttura del risultato della negoziazione è MqlTradeResult, è il secondo parametro della funzione OrderSend(), vedi la documentazione. Il codice è stato scritto usando OOP, non ho familiarità con esso... Dovete trovare un metodo che invii una richiesta di compravendita usando OrderSend() e dopo chiamare Print( result.retcode ) dove result è un oggetto della struttura MqlTradeResult.

L'ha fatto funzionare.

Si fa così

MqlTradeResult result;

 trade.Result(result)

Print(result.retcode)

trade è un oggetto di classe CTrade.

Il codice restituisce 10030 ( Tipo di esecuzione dell'ordine di saldo non supportato specificato)

Cosa significa?

 
Maxi-M:

L'ha fatto funzionare.

Si fa così

trade è un oggetto di classe CTrade.

Il codice restituisce 10030 ( Tipo di esecuzione dell'ordine di saldo non supportato specificato)

Cosa significa?

Hai provato ad aprire un conto demo sul server MetaQuotes-Demo? In caso contrario, provate e se tutto va bene, scrivete al Service Desk e lamentatevi che la classe CTrade dell'Expert Advisor funziona male sul server che state usando. Se è ancora male... Puoi anche scrivere al Service Desk e dire che non puoi eseguire il robot, c'è un errore... Ma prima di tutto, assicuratevi di provare ad eseguirlo sul server demo methaqvot!
 

Aiuto Plz!

1 Ecco la funzione:

 if (OrdersTotal()==1) 
   if(profit>=tp_in_money || a>0) 
   {
      closeall();
      closeall();
      closeall();
      //a++;
      //if(total()==0) a=0;

Questo significa chiudere tutti gli ordini quando si raggiunge un certo profitto.

E voglio che chiudano ad un certo profitto definito MAJIKa non mi dice come farlo? forse aggiungere dopoOrdersTotal()cheta bisogno????ad esempio!=magia ?????????

Per favore, datemi un suggerimento, sto cercando di capirlo.

2) Mettere uno stop virtuale del 50% del deposito, ho ragione?

double BOL    =AccountBalance();
double PROS    =AccountCredit();
   if(PROS<BOL*0.5 || a>0) 
   {
      closeall();
      closeall();
      closeall();
      //a++;
      //if(total()==0) a=0;
 
CapitalUser:
Aiuto Plz!
1 qui è una funzione:
se(OrdiniTotali()==1)
if(profitto>=tp_in_denaro || a>0)
{
closeall();
closeall();
closeall();
//a++;
//if(total()==0) a=0;
Quello che voglio dire qui è che tutti gli ordini devono essere chiusi una volta ottenuto un certo profitto.
E voglio che si chiudano ad un certo profitto definito MAGIC mi puoi dire come fare questo? forse aggiungere dopo OrdersTotal()cheta need????ad esempio=magia ?????????
Per favore, ditemelo, non riesco a capirlo.

2) Voglio uno stop virtuale del 50% del deposito, ho ragione:

double BOL =AccountBalance();
doppio PROS =AccountCredit();
se(PROS<BOL*0.5 || a>0)
{
closeall();
closeall();
closeall();
//a++;
//if(total()==0) a=0;

  • Design dolorosamente familiare, ma ok.

Non pretendo di essere perfetto.

//+------------------------------------------------------------------+
void CloseProfit(int mag,double profit)
  {

   double pro=0,pri=0;
   static bool flag=false;
   for(int i=OrdersTotal()-1; i>=0; i--)
      if(OrderSelect(i,SELECT_BY_POS))
         if(OrderSymbol()==_Symbol)
            if(OrderMagicNumber()==mag || mag==-1)
               pro+=OrderProfit()+OrderCommission()+OrderSwap();

   if(pro>=profit)flag=true;  if(pro==0)flag=false;

   for(int i=OrdersTotal()-1; i>=0; i--)
      if(OrderSelect(i,SELECT_BY_POS))
         if(OrderSymbol()==_Symbol)
            if(OrderMagicNumber()==mag || mag==-1)
              {
               if(OrderType()==OP_BUY )pri=Bid;
               if(OrderType()==OP_SELL)pri=Ask;
               if(OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(pri,_Digits),30,clrRed)==false)
                  Comment("Error "+GetLastError());
              }

  }
//+------------------------------------------------------------------+
 
VOLDEMAR:

  • Design dolorosamente familiare, ma ok.

Non pretendo di essere perfetto.

Grazie!
 
Tapochun:
Hai provato ad aprire un conto demo sul server MetaQuotes-Demo? Se no - provate, se tutto è OK - scrivete al Service Desk e lamentatevi che la classe CTrade nel vostro EA non funziona correttamente sul server. Se è ancora male... Puoi anche scrivere al Service Desk e dire che non puoi eseguire il robot, c'è un errore... Ma prima di tutto, assicuratevi di provare ad eseguirlo sul server demo methaqvot!

Grazie mille!

Hafunzionato inMetaQuotes-Demo. Scriverò al service desk in settimana per sistemare il server BCS5-Real.

 
Maxi-M:

Grazie mille!

Hafunzionato inMetaQuotes-Demo. Scriverò al service desk in settimana per sistemare il server BCS5-Real.

Non c'è di che. Sfortunatamente, gli EA possono funzionare in modo diverso su server diversi.
 

Buona sera, signori!

Domanda: è possibile creare elementi grafici(linea di tendenza, indicatore..........) con estensione Gif, cioè con effetto di animazione (shimmering, flashing..........) in MT4? Grazie per la vostra risposta.

 
gnawingmarket:

Buona sera, signori!

Domanda: è possibile creare elementi grafici(linea di tendenza, indicatore..........) con estensione Gif, cioè con effetto di animazione (shimmering, flashing..........) in MT4? Grazie per la vostra risposta.

La tua domanda non è chiara, programmaticamente puoi fare linee e cose del genere, ma cosa intendi per gif?
 
VOLDEMAR:
La tua domanda non è chiara, il software può fare linee e altre cose, ma cosa intendi per gif?
In generale, sì, la domanda è cruda. Mi prenderò del tempo ...... lasciando che l'argomento cuocia a fuoco lento nel mio calderone. Grazie.