Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 801

 

C'èun tickvalue nelle variabili dichiarate, ma non è coinvolto nel calcolo.Dove dovrebbe essere?

  double lots_bzu = 0;
  double sum_bzu = 0;
  double tickvalue=MarketInfo(Symbol(),MODE_TICKVALUE);
  double price_bzu_o = 0;
  for (double i_bzu = 0; i_bzu < OrdersTotal(); i_bzu++)
  {
   if ( !OrderSelect ( i_bzu , SELECT_BY_POS , MODE_TRADES )) break;
   if ( OrderSymbol () != Symbol()) continue;

   if ( OrderType () == OP_BUY)
   {
    lots_bzu = lots_bzu + OrderLots ();
    sum_bzu = sum_bzu + OrderLots () * OrderOpenPrice ();
   }

   if ( OrderType () == OP_SELL )
   {
    lots_bzu = lots_bzu - OrderLots ();
    sum_bzu = sum_bzu - OrderLots () * OrderOpenPrice ();
   }
   
   price_bzu_o = 0;
   if (lots_bzu != 0 )
   price_bzu_o = sum_bzu / lots_bzu;                                  // уровень общего безубытка
  }
 
yiduwi:

C'èun tickvalue nelle variabili dichiarate, ma non è coinvolto nel calcolo.Dove dovrebbe essere?

quando si determina il livello di breakeven tickvalue è tenuto a tenere conto di swap e commissioni proprio in quel livello.

Ma nel codice che hai preso non c'è, forse le transazioni sono veloci, gli swap non sono formati o sono estremamente piccoli, quindi puoi semplicemente commentarlo;-)

 
Maxim Kuznetsov:

quando si determina il livello di breakeven tickvalue è tenuto a tenere conto di swap e commissioni proprio in quel livello.

ma nel codice che hai preso non c'è, probabilmente le transazioni sono veloci, gli swap non sono formati o sono molto piccoli, quindi puoi semplicemente commentarlo;-)

Grazie) Swap e commissione sono scritti nella variabilesumsvop, come prendere in considerazione lo swap e di conseguenza dove si trova questo prezzo di tick?

double sumsvop = 0;
  double tickvalue=MarketInfo(Symbol(),MODE_TICKVALUE);
  
  for (int i_bzu = 0; i_bzu < OrdersTotal(); i_bzu++)
  {
   if ( !OrderSelect ( i_bzu , SELECT_BY_POS , MODE_TRADES )) break;
   if ( OrderSymbol () != Symbol()) continue;
   if ( OrderType () == OP_BUY)
   {
    lots_bzu = lots_bzu + OrderLots ();
    sum_bzu = sum_bzu + OrderLots () * OrderOpenPrice ();
    sumsvop+=OrderSwap()+OrderCommission();                            //Swap

   }

   if ( OrderType () == OP_SELL )
   {
    lots_bzu = lots_bzu - OrderLots ();
    sum_bzu = sum_bzu - OrderLots () * OrderOpenPrice ();
    sumsvop+=OrderSwap()+OrderCommission();                            //Swap

   }
   
   price_bzu_o = 0;
   if (lots_bzu != 0 )
   price_bzu_o = sum_bzu / lots_bzu;                                  // уровень общего безубытка
  }
 
yiduwi:

Grazie), come si tiene conto dello scambio e di conseguenza dove va questo prezzo di tick?

Pensaci.

Avete il volume della posizione e conoscete la sua perdita in bilancio (swap e commissioni). Quanti punti devono essere corretti?


 
Maxim Kuznetsov:

Pensateci.

Avete il volume della posizione e conoscete la perdita in bilancio (swap e commissioni). Quanti punti devono essere aggiustati?


È chiaro che gli swap e le commissioni devono essere regolati in punti. Come influisce il prezzo di una zecca?

 
yiduwi:

È chiaro che swap e commissioni devono essere tradotti in punti. Come è coinvolto il prezzo di una zecca?

Basta puntare l'F1 su
MODE_TICKVALUE

Lo avete nel vostro codice. Ed è stata la sua applicazione a sollevare la questione.

 
Maxim Kuznetsov:
già spingere l'F1 a

Lo avete nel vostro codice. Ed è stata la sua applicazione a sollevare la questione.

Quindi sto chiedendo come(tickvalue) è coinvolto nella formula per convertire i soldi in punti.

double tickvalue=MarketInfo(Symbol(),MODE_TICKVALUE);
 
Ciao. Qualcuno ha un indicatore che scrive il volume sul grafico degli ordini aperti? O dimmi come
 

Ho delle quotazioni in tick in formato csv, come posso portarle in MT5 tester?

C'è un fantastico script csv2fxt per MT4 per esempio, c'è un analogo per 5?

 
Ciao, nelle impostazioni del terminale Service-Settings-Advisors puoi aggiungere un link all'area fidata in WebRequest..... puoi rimuoverlo da lì? Anche dopo la modifica è ancora in esecuzione e non può essere rimosso dal terminale...