Il mio approccio. Il nucleo è il motore. - pagina 89

 
Реter Konow:

Dimostrare un esempio di lavoro.

Quindi potete usare union per tradurre TUTTI i tipi (inclusa la stringa) in uint .

Altrimenti, sono solo parole vuote.

Cavalcando le conoscenze di qualcun altro? E poi gonfiate le guance dicendo che avete fatto tutto da soli?

Non puoi studiare e farlo da solo?

Tutto è stato masticato, dato, mostrato.

Quello che ho evidenziato assomiglia - come ha detto Nikolay - a un asilo: "Non credo..., e mio padre picchierà tuo padre, e mia madre picchierà tua madre...".

 
Реter Konow:

Mostratemi quindi il vostro esempio. Come si fa a bypassare la conversione della stringa in uint attraverso l'unione per memorizzarla in una risorsa?

Allora a cosa serve mostrarvelo, se per voi sarà "solo parole", "complicazione dell'architettura" e "la velocità sarà circa la stessa". Avete deciso in anticipo. Non vuoi imparare niente di nuovo, ma hai un grande aplomb.

 
Artyom Trishkin:


Questo è un argomento.

Ho offerto una soluzione. Tutti l'hanno criticato, ma non hanno mostrato il loro. Tipo, "vai a vedere il codice di fxsaber, vai a leggere l'aiuto...".

Aww. Ragazzi.)))

 
Реter Konow:

Questo è un argomento.

Ho offerto una soluzione. Tutti l'hanno criticato, ma non hanno mostrato il loro. Tipo, "vai a vedere il codice di fxsaber, vai a leggere l'aiuto...".

Aww. Ragazzi.)))

Questa non è una discussione. È una dissezione della tua decisione intuitiva.

Non sto discutendo, si può piantare un albero in un vaso capovolto, escogitare un sistema per innaffiarlo, un sistema per immagazzinare l'acqua piovana e spruzzarla nel vaso capovolto, un sistema per tenere la terra in quel vaso capovolto, un sistema di illuminazione dal basso verso l'alto, e pretendere che questa soluzione intuitiva è la più corretta e più efficace, e quando la gente ti dice di guardare fuori dalla finestra, e non compostiruyut cervello - lì - fuori dalla finestra - ci sono esempi viventi di come meglio, voi, fumando una pipa su cuscini di raso, trasmettere qualcosa dalla zona di "sollevare le mie palpebre - non può vedere, mi mostrano, e tutte queste parole vuote" ... Scusa, sembra divertente.

Vado a prendere dei popcorn.

 

La domanda principale rimane senza risposta:

Come può un insieme di dati di tipo diverso, bypassando la conversione in stringa, essere convertito in uint tramite unione, per essere memorizzato in una risorsa?


Cari oppositori. Lei ha attaccato la mia soluzione riferendosi specificamente all'uso di UNION per tradurre TUTTI i dati in UINT.


NON È STATO FORNITO ALCUN ESEMPIO. FINORA TUTTO È PRIVO DI FONDAMENTO.


Di conseguenza, una conclusione rimane per ora: lamia soluzione è stata criticata, secondo i pregiudizi inerenti ai programmatori.

Se la soluzione è dimostrata, allora è senza dubbio migliore. Lo riconosco immediatamente.

 
Реter Konow:

Questo è un argomento.

Ho offerto una soluzione. Tutti l'hanno criticato, ma non hanno mostrato il loro. Tipo, "vai a vedere il codice di fxsaber, vai a leggere l'aiuto...".

Aww. Ragazzi.)))

Peter, te l'ho detto molte volte - il problema del tuo approccio è l'estrema ristrettezza del tuo target. Non hai nemmeno un prodotto di "nicchia", ma solo uno "slot" - persone che sono abbastanza brave a programmare, ma preferiscono scambiare "mani".

Guardati - sei osteggiato soprattutto dai codificatori, per i quali il tuo approccio è anche abbastanza comprensibile, ma molto scomodo. Ecco perché vogliono vedere "realizzazioni reali", "prodotto reale" - non useranno il tuo approccio, ma sono interessati ad esso come opzione, quindi vogliono valutare "se il tuo approccio vale il costo", se la scomodità del tuo approccio vale il profitto che potenzialmente può dare.

E avete bisogno di altri - i veri commercianti, che commerciano con le loro mani. Allo stesso tempo, sono abbastanza bravi a programmare. Sono in grado di scrivere un semplice Expert Advisor, ma hanno difficoltà a capire come lavorare con oggetti grafici. E finora non li vedo. Ecco perché i suoi sviluppi non sono un successo, ma sono costantemente criticati. Non è il pubblico giusto!

Hai detto qualcosa come "abbiamo bisogno di educarli" - ma allora hai sicuramente bisogno di dimostrare i tuoi risultati nel trading - almeno un conto demo con una crescita costante di Equity, che è ottenuto attraverso questo trading molto "manuale" utilizzando oggetti visivi dalla tua libreria.
 

Vari parametri sono cambiati sul lato EA. I loro valori devono essere passati al motore.

Parametri di TUTTI i tipi. E anche la corda. I valori da passare sono degli array di interi.

  1. Oppure convertire tutto in stringhe e scrivere le descrizioni degli oggetti.
  2. Oppure convertirli tutti in stringa, dividerli e passarli per parti usando OnChartEvent().
  3. Oppure convertire tutto in stringa e convertire in char e memorizzare nella risorsa.
  4. Oppure convertire tutto in uint attraverso un'unione e memorizzare nella risorsa.

Domanda:

  1. Quale di queste opere è più veloce?
  2. Quale di questi non funziona affatto?

ZS. Ho il sospetto che il punto 4 non funzioni affatto.

 
Georgiy Merts:

Peter, te l'ho detto più di una volta - il problema del tuo approccio è l'estrema ristrettezza del tuo target. Non hai nemmeno un prodotto di "nicchia", ma solo uno "scanalato" - persone che sono brave a programmare, ma preferiscono commerciare "hands on".

Guardati - sei osteggiato soprattutto dai codificatori, per i quali il tuo approccio è anche abbastanza comprensibile, ma molto scomodo. Ecco perché vogliono vedere "realizzazioni reali", "prodotto reale" - non useranno il vostro approccio, ma sono interessati ad esso come opzione, quindi vogliono valutare "se il vostro approccio vale la pena", se il profitto che può potenzialmente dare vale il disagio.

E avete bisogno di altri - i veri commercianti, che commerciano con le loro mani. Allo stesso tempo, sono abbastanza bravi a programmare. Che sono in grado di scrivere un semplice Expert Advisor, ma che hanno difficoltà a lavorare con oggetti grafici. E finora non li vedo. Ecco perché i suoi sviluppi non sono un successo, ma sono costantemente criticati. Non è il pubblico giusto!

C'è un pubblico. Solo su altri siti. Ho visto un sito, o meglio mi è stato suggerito da uno dei miei clienti - quindi lì con un cucciolo deliziare il parsing del codice di uno dei miei esperti, che ho scritto su richiesta, e il cliente (non quello che mi ha dato l'indirizzo per questa discussione) ha poi postato lì con una richiesta di aggiungere il nuovo vuole gratuitamente. La gente era scioccata dagli approcci standard. Lì - tra quel pubblico scolastico - Peter può grattare il suo ego - lì sarà un dio.

 
Реter Konow:

Come faccio a bypassare la conversione delle stringhe in uint attraverso l'unione per memorizzare in una risorsa?

Forum sul trading, sistemi di trading automatico e test di strategie di trading

Biblioteche: TradeTransactions

fxsaber, 2018.12.17 23:48

Puoi scambiare qualsiasi cosa attraverso le Risorse.

// Пример обмена любыми данными (включая строковые массивы).

#include <fxsaber\TradeTransactions\ResourceData.mqh> // https://www.mql5.com/ru/code/22166

#define  PRINT(A) Print(#A + " = " + (string)(A));

void OnStart()
{    
  // Произвольные данные для примера
  string Str[] = {"123", "Hello World!"};
  double Num = 5;
  MqlTick Tick = {0};
  Tick.bid = 1.23456;

  const RESOURCEDATA<uint> Resource; // Ресурс для обмена данными
  CONTAINER<uint> Container;         // Создаем контейнер - все будет храниться в массиве простого типа (в примере выбран uint)
  
  // Заполняем контейнер разными данными
  Container[0] = Str;
  Container[1] = Num;
  Container[2] = Tick;
    
  // Распечатаем типы хранимых в контейнере данных
  for (int i = 0; i < Container.GetAmount(); i++)
    PRINT(Container[i].GetType())

  Resource = Container.Data;  // Отправили данные на обмен
  
  CONTAINER<uint> Container2; // Сюда будем получать данные
  
  Resource.Get(Container2.Data); // Получили данные
      
  // Получим данные в исходном виде
  string Str2[];
  Container[0].Get(Str2);                // Получили массив
  ArrayPrint(Str2);

  PRINT(Container[1].Get<double>())      // Получили число
  PRINT(Container[2].Get<MqlTick>().bid) // Получили структуру  
}
 
Реter Konow:

Vari parametri sono cambiati sul lato EA. I loro valori devono essere passati al motore.

Parametri di TUTTI i tipi. E anche la corda. I valori da passare sono degli array di interi.

  1. Oppure convertire tutto in stringhe e scrivere le descrizioni degli oggetti.
  2. Oppure convertirli tutti in stringa, dividerli e passarli per parti usando OnChartEvent().
  3. Oppure convertire tutto in stringa e convertire in char e memorizzare nella risorsa.
  4. Oppure convertire tutto in uint attraverso un'unione e memorizzare nella risorsa.

Domanda:

  1. Quale di queste opere è più veloce?
  2. Quale di questi non funziona affatto?

SZY. Ho il sospetto che il punto 4 non funzioni affatto.

Le sole e uniche variabili globali e i file per lo scambio di dati tra EA, indicatori e script sono

Tutti e 4 i punti di cui sopra sono "hack" locali di pesca. Tutti e 4 i punti di cui sopra stanno usando meccanismi non destinati a scambiare dati arbitrari, tanto meno array di dati.

п1. Il 100% porta al blocco temporaneo del thread di interfaccia (sì, gli oggetti vivono lì e anche le loro "descrizioni") e non funziona nell'ottimizzatore. Le descrizioni degli oggetti sono per la descrizione leggibile dall'uomo degli oggetti,

p2. n2. non funziona nel tester e nell'ottimizzatore, e serve a notificare gli eventi

P3. p4. le risorse (anche nominate) sono destinate alla conservazione a lungo termine, non allo scambio rapido. Non posso dire nulla sull'usabilità in tester/optimizer :-) Uso risorse di sola lettura

Non ha senso parlare della velocità delle soluzioni storte.

ps/ a proposito si possono usare i file, più precisamente i tubi