[ARCHIVIO]Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non posso andare da nessuna parte senza di te - 5. - pagina 32

 

Cari professionisti! Recentemente mi sono interessato al trading del calendario delle materie prime e degli spread intercontrattuali nel mercato dei futures. A questo proposito, c'è bisogno di grafici di strumenti sintetici. L'idea è di costruire un grafico a candele calcolato utilizzando la differenza di prezzo OHLC tra la benzina (XRB) e il gasolio da riscaldamento (HO), per esempio. Ho cercato di risolvere questo compito utilizzando le mie risorse, dato che la formula di calcolo è semplice - si deve solo calcolare la differenza tra i prezzi degli strumenti e salvare i valori ottenuti in un file storico e utilizzarli in modo autonomo applicando vari indicatori. Fortunatamente, ci sono diversi script già pronti per scrivere grafici sintetici, come PeriodConverter. Ho deciso di iniziare con uno semplice. Ho provato ad aggiungere il codice allo script specificato che sottrae i prezzi di un altro simbolo dai prezzi del grafico di cui lo script è applicato alle barre corrispondenti (con lo stesso tempo di apertura). Per evitare di scrivere codice per sincronizzare le barre di due strumenti in base al loro orario di apertura, ho introdotto un parametro che blocca solo le ultime, diciamo, 50 barre per il calcolo, poiché nella maggior parte dei casi queste ultime barre non devono essere sincronizzate né in base al loro orario di apertura né in base alla loro indicizzazione, poiché sono già sincronizzate. Ho intenzionalmente combinato gli strumenti in modo tale da non ottenere valori di prezzo negativi durante i calcoli perché, per quanto ne so, il terminale non li visualizza sul grafico. Ecco cosa ho ottenuto. Quando si apre un grafico sintetico ottenuto utilizzando lo script aggiornato in modalità stand-alone, il terminale non può visualizzare più della metà delle barre calcolate! Tuttavia, se l'operazione di sottrazione del prezzo viene sostituita con l'operazione di addizione nello script, tutte le barre calcolate vengono tracciate. Qual è la differenza tra le operazioni di addizione e sottrazione? Lo stesso vale per le operazioni di moltiplicazione e divisione - quando si moltiplicano i relativi prezzi, le barre del grafico sintetico vengono visualizzate normalmente, ma quando si divide, meno della metà delle barre vengono visualizzate di nuovo! Si può dire che forse uno zero è entrato nel denominatore durante la divisione. Ma ho controllato gli array calcolati con la funzione Comment e produce ogni volta valori corretti, cioè l'operazione di divisione per zero non era presente nei miei test. E ora sono perplesso, non so cosa farci.

Se non siete difficili professionisti stimati, si prega di consigliare in che cosa si trova il cane! Ho diffuso l'allegato e il suo lavoro. Guardate il codice, per favore, cosa dovete aggiungere o cambiare per far funzionare normalmente lo script. Dovrei almeno ottenere dei grafici autonomi, non è necessario che siano aggiornati in tempo reale, perché lo spread trading è di solito fatto a medio termine, in termini di giorni o settimane, quindi la velocità di disegno dei grafici non è critica. O forse l'idea di creare tali grafici non è affatto fattibile?

 
hoz:

Quindi, come cambierà la logica spostando la parentesi lungo una linea? Dopo tutto, la struttura del codice rimarrà la stessa e anche la logica...

questo è vero, ma questa variante concisa non differisce in questo modo. Nel primo caso, prima guardavamo il valore della variabile n e poi quello di ind. La differenza è che dopo aver confrontato n controlleremo comunque il valore di ind. Ma se iniziamo a controllare ind e poi n, allora il numero di operazioni diminuirà del 45-49%, perché ind è vuoto nella maggior parte dei casi.
 
Ragazzi, ricordatemi dove guardare il programma di trading del nuovo anno e le condizioni di trading... gli spread aumenteranno probabilmente di 5 volte e i requisiti di margine
 

Qualcuno sa come fare in modo che gli editor di fogli di calcolo gratuiti come OpenOffice o LibreOffice non cancellino il primo zero nel formato testo?

Ho letto tutto quello che posso sul web. Non ha trovato nulla. Perché tutti gli editori simili sono impostati in questo modo? Inoltre, in tutti gli editor è scritto che il formato di testo emette tutto come scritto.

 
Zhunko:

Qualcuno sa come fare in modo che gli editor di fogli di calcolo gratuiti come OpenOffice o LibreOffice non cancellino il primo zero nel formato testo?

Ho letto tutto quello che posso sul web. Non ha trovato nulla. Perché tutti gli editori simili sono impostati in questo modo? Inoltre, in tutti gli editor è scritto che il formato di testo emette tutto come scritto.


Forse scrivere tra virgolette? ""
 
keep87:

Questo è vero, ma non è questo che è diverso nella versione concisa. Nel primo caso si guarda prima il valore di n e poi ind. e nel secondo caso è il contrario. La differenza è che dopo aver confrontato n controlleremo comunque il valore di ind. Ma se iniziamo a controllare ind e poi n, il numero di operazioni diminuirà del 45-49%, perché ind è vuoto nella maggior parte dei casi.

Esattamente! Sono sorpreso, davvero. Ora ho capito tutto, grazie.
 
Replikant:

Grazie!!!

ma ho paura che "un po'" non funzioni))) - Ho una formula booleana a tre piani con 16 parametri di tipo bool)

Che carico che hai... Prendi int fino a 16 bit e passa attraverso ogni bit...

//|                                                         test.mq4 |
//|                              Copyright © 2012 Mikhail Kozhemyako |
//|                                               ua3xcm@obninsk.com |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2012 Mikhail Kozhemyako"
#property link      "ua3xcm@obninsk.com"
extern  int Биты=0;
bool СработалоУсловие№_i;
int init()
  {
   return(0);
  }
int deinit()
  {
   return(0);
  }
int start()
  {
   int i;
   int Сдвиг=1;
// Гденить здесь нужно определиться с вашими условиями
   for(i=0;i<=15;i++)
    {
     if(СработалоУсловие№_i)
      {
       Биты=Биты | Сдвиг;
      }
     Сдвиг=Сдвиг << 1; 
    }
   for(i=0;i<=15;i++)
    {
     if(0x0001 & Биты == 1)
      {
       // Делать что-то по условию i
      }
     Биты = Биты >> 1;
    }
   return(0);
  }

E nel tester, impostate la variabile bit perobore da 0 a 65535 in incrementi di 1.

Non lo so, l'ho fatto, penso che dovrebbe funzionare....

 
Buona sera! Dimmi, sullo screenshot del test c'è scritto la percentuale di trade short vincenti0. Queste sono vendite, vero? Quindi deduco che nessuno di loro era redditizio? Questo indica un forte squilibrio?
 
Dimka-novitsek:
Buona sera! Dimmi, sullo screenshot del test c'è scritto la percentuale di trade short vincenti0. Queste sono vendite, vero? Quindi deduco che nessuno di loro era redditizio? Questo indica un forte squilibrio?

Sì, fa Short-Sell-Short. Ma forse non li hai aperti per qualche motivo.
 
chief2000:

Devo scriverlo tra virgolette? ""

Come si elabora questo? Un formato speciale per programmi storti? Alcune informazioni sono tra virgolette, altre senza... O è tutto tra virgolette?

È in qualche modo sbagliato scrivere gli zeri tra virgolette se si tratta di testo. Nei file CSV tutto è testo. È l'utente che decide cosa e come elaborare, non l'editore.

Per Excel, c'è un'opzione per mettere un apostrofo davanti al testo. Risolve tutti i problemi di visualizzazione, ma non il contenuto. Perché il carattere in più?

Motivazione: