Domande da un "manichino" - pagina 177

 
tol64:

In OnTrade() riceviamo una risposta dal server. Significa che se controlliamo l'evento in OnTrade(), sapremo già con certezza se c'è una posizione o no. Anche se potremmo fornire opzioni standard come DEAL_ENTRY_FULLOUT (chiusura completa) oDEAL_ENTRY_PARTOUT (chiusura parziale) per rendere tutto perfettamente elegante.)))


Buon suggerimento. Per il momento attuale in tempo reale, non c'è nessun problema, ma quando si analizza la storia abbiamo bisogno di riassumere i volumi di tutte le operazioni che hanno creato la posizione, per sapere quando è stata finalmente chiusa.
 
Valmars:
Questo è un buon suggerimento. Nessun problema per il momento attuale in tempo reale, ma quando si analizza la storia abbiamo bisogno di sommare i volumi di tutte le operazioni che hanno formato la posizione, per sapere quando è stata finalmente chiusa.
Sì, è più difficile analizzare la storia. È vero, tutte le informazioni necessarie possono rientrare nel commento, ma il codice diventa sempre più "vario". :)
 
tol64:
Sì, è più difficile analizzare la storia. È vero, tutte le informazioni necessarie possono di nuovo essere contenute in un commento, ma il codice diventa sempre più "vario". :)
Attraverso il commento, naturalmente, è possibile, ma solo nel trading automatizzato con il tuo EA, ma quando si analizzano i conti di altre persone, e anche con il controllo manuale, non avrai successo. Solo attraverso la selezione tramite HistorySelectByPosition().
 
Valmars:
Attraverso il commento, naturalmente, è possibile, ma solo nel trading automatico del tuo EA, e non funzionerà quando si analizzano i conti di altri e anche con controllo manuale. Solo attraverso la selezione tramite HistorySelectByPosition().

Molto, molto tempo fa, ho trovato una soluzione che rende superfluo un enorme mucchio di questo tipo di casino.

Ma è dalla parte degli sviluppatori.:(

Consiste nell'aggiungere alla descrizione (struttura) di un trade un campo che descrive la posizione aperta risultante su un simbolo (dopo che un trade ha avuto luogo).

Valori positivi di questo campo potrebbero significare una posizione di acquisto, negativi - una posizione di vendita. 0 = nessuna posizione.

--

Questo può essere fatto anche ora - e nessun server ne soffrirà. Non c'è bisogno di cambiare il server. Per niente. Tutto può essere risolto all'interno del terminale.

// Questo cambiamento è ancora più economico che pagare i crediti per tutti i post del forum che discutono il casino con il calcolo delle posizioni sulla storia. :)

 
MetaDriver:

... aggiungere un campo alla descrizione (struttura) del trade che descriva la posizione aperta risultante sullo strumento (dopo che il trade ha avuto luogo).

Valori positivi di questo campo potrebbero significare posizione di acquisto, negativi - posizione di vendita. 0 = nessuna posizione.

Mossa interessante! E in combinazione con le nuove proprietà DEAL_ENTRY_DECREASE (diminuzione del volume) e DEAL_ENTRY_INCREASE(aumento del volume) sarebbe perfetto: tutti coloro che hanno bisogno del risultato del volume di una transazione - chiedete a noi, tutti coloro che hanno bisogno solo dei risultati della transazione (diminuzione/aumento del volume) - chiedete a noi!

Avete scritto al consiglio di amministrazione riguardo alla vostra proposta? - Perché non è difficile per me fare una bella idea.

MetaDriver:

Questo può essere fatto anche adesso - e nessun server ne soffrirà. Non è necessario cambiare il server. Per niente. Tutto può essere risolto all'interno del terminale, abbastanza facilmente.
// Questo cambiamento è ancora più economico che pagare i crediti per tutti i post del forum che discutono il casino con il calcolo della posizione sulla storia.:)

"Crediti per tutti i post del forum che discutono il fastidio intorno al conteggio delle posizioni sulla storia" - sono così costosi? :) Dandoli all'altare del cambiamento :)

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства сделок
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства сделок
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства сделок - Документация по MQL5
 
Yedelkin:

Mossa interessante! E in combinazione con le nuove proprietà DEAL_ENTRY_DECREASE (diminuzione del volume) e DEAL_ENTRY_INCREASE(aumento del volume) sarebbe perfetto: chi ha bisogno del volume risultante di uno specifico trade - siete i benvenuti, chi ha bisogno solo del risultato del trade (come "diminuzione/aumento del volume") - siete i benvenuti!

Sulla tua proposta al CD ha scritto? - Perché non è difficile per me buttare dentro una bella idea.

"Crediti per tutti i post del forum che discutono il fastidio di calcolare le posizioni sulla storia" - sono così costosi? :) Dare loro sull'altare del cambiamento :)

No. Si stressano molto di fronte a proposte che cambiano le strutture di dati sottostanti.

E non mi piace molto litigare con loro.

Comunque, ho dei complessi quando si tratta di proposte "fondamentali". :)

// Ne ho fatti molti, e una percentuale molto piccola è stata implementata.

Spero che la gente lo sostenga, la proposta sembra essere valida.

 
MetaDriver:

No. Diventano molto tesi sulle proposte che cambiano le strutture di dati sottostanti.

E non mi piace molto litigare con loro.

Comunque, ho dei complessi quando si tratta di proposte "fondamentali". :)

// Ne ho fatti molti e una piccolissima percentuale è stata implementata.

Quindi: avere un incentivo - andare avanti e applicare. Spero che la gente sosterrà, la proposta è di valore.

OK, essendo un fondamentalista radicale, non vedo ragione di tirarsi indietro :) Se la proposta di cambiare le strutture di dati sottostanti è per il bene e non per il male, allora è una proposta ideologicamente valida.
 
Grazie!!!
 

Ciao a tutti!

Potete consigliarmi, se apro un trade (Acquisto o Vendita) nel tester MT5 ad un certo"punto nel tempo".

Ma in questomomento non c'era nessuna quotazione sulla coppia di valute (cioè c'è un vuoto nei dati, cioè inizio della barra M5 alle 00:05, e la barra successiva è già iniziata alle 00:25)

E apro un affare nel tester per esempio alle 00:15.

Quale prezzo il tester stabilisce nell'affare dalla prima barra (Clowes) o dalla seconda (Open).

O si rifiuterà di aprirla del tutto?

 
Sto cercando di aprire cinque ordini e ho cercato di padroneggiare le peculiarità del quinto terminale. Allora, non l'ho capito per 40 minuti, non vedo nessun output nel log! Se potete, per favore, dategli un'occhiata.
//+------------------------------------------------------------------+
//|                                                     ордерній.mq5 |
//|                        Copyright 2012, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link      "http://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   
//---
   return(0);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+

uint resultat=0;
          int i;
void OnTick()
  {
//---
                      for( ;i<5;i++){

 // if( resultat!=10009){
   MqlTick last_tick;
SymbolInfoTick(_Symbol,last_tick);
double Ask=last_tick.ask;
double Bid=last_tick.bid;

   MqlTradeRequest request={0};
   MqlTradeResult result={0};
   
   request.action= TRADE_ACTION_DEAL;
   request.magic =600;
   request.symbol=Symbol();
   request.price=Bid;
   request.deviation=20;
   request.volume=1;
   request.sl=Bid-300*Point();
   request.tp=Bid+300*Point();
   request.type=ORDER_TYPE_BUY;
   OrderSend( request,   result    );    
        
  int Error=GetLastError( ) ; ResetLastError();
  printf("Error %i ",Error);
  
   resultat= result.retcode ;
   printf("resultat %i ",resultat); //}
   Print ( i, PositionsTotal());
   // int PositionTicket= PositionGetInteger(POSITION_IDENTIFIER)
   
                                          }
  

   
  }
//+------------------------------------------------------------------+

 bool  PositionModify( int PositionTicket, double price, double stoploss, double takeprofit, datetime expiration, color arrow_color=CLR_NONE)
      {  MqlTradeRequest request  = {0};

Sì, apre gli ordini, tutto va bene, ma non scrive stampanti. Dice

2012.09.04 17:20:10 Trades '1232639': ordine #11979593 compra 1.00 / 1.00 EURUSD a 1.25755 fatto

2012.09.04 17:20:10 Transazioni '1232639': affare #11107137 comprare 1.00 EURUSD a 1.25755 fatto (basato sull'ordine #11979592)

2012.09.04 17:20:10 Trades '1232639': instant buy 1.00 EURUSD a 1.25739 sl: 1.25439 tp: 1.26039 (deviazione: 20)


2012.09.04 17:20:10 Trades '1232639': instant buy 1.00 EURUSD a 1.25739 sl: 1.25439 tp: 1.26039 (deviazione: 20)

2012.09.04 17:20:09 Expert Advisor (EURUSD,M5) caricato con successo

Motivazione: