[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 299

Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
//-----------------------------------------------------------------------------+
//Kim Rispetto e rispetto !!! |
//+----------------------------------------------------------------------------+
Questa è stata senza dubbio la parte più stressante del codice))))
Ok. Non capisco niente. Ho messo in funzione il secondo TF. Tutto dovrebbe funzionare come un orologio. Ma non è così. No, funziona, ma non è come previsto. L'ho controllato mille volte. Io stesso non vedo alcun errore sintattico o algoritmico. Provo a spiegarmi, allego il codice completo. Quindi:
All'inizio di start() ho messo un gestore per il numero di secondi passati dall'ultimo start(). Le sezioni ripetute vengono spostate in funzioni definite dall'utente. Il nuovo valore time=TimeCurrent() è assegnato lì, nelle funzioni utente.
La funzione funziona in due modi: nel primo ramo, AtFirst=true, cattura solo un tick e pre-azzera l'array-storage, mentre nel secondo ramo, AtFirst=false, funziona esattamente come un tick store. Cioè, o azzeriamo e tronchiamo il disco e catturiamo il bid-ask in una cella zero, o allunghiamo il disco e catturiamo il bid-ask. L'allarme è stato impostato solo a scopo di debug. Descriverò più avanti la condizione di azzeramento dell'accumulatore.
La funzione di 'disegnare' la candela (aggiungere una candela al .hst aperto nel grafico autonomo). Allo stesso modo - ho messo degli avvisi per il debug. Il primo avviso segnala a due tick catturati in un secondo (la dimensione dell'array è uguale a due, e in idea il volume dovrebbe essere uguale a due), mentre il secondo segnala a bit uguale a ack nel tick catturato (avviso simile in drive: ma lavorano non sincronicamente per qualche motivo), e il volume della candela. Questo è tutto in teoria, infatti, quando si inserisce nel file (per avviso), per esempio, due (o 0x00 00 00 00 00 00 00 40, doppio 2.0) risulta ancora in qualche modo essere uno (0x00 00 00 00 00 F0 3F, doppio 1.0 in formato BigEndian). Di solito sovrascrivo quell'allarme nell'unità, suona spesso, lavoro con questi due.
La funzione "disegna" un trattino nel caso in cui non ci sia stato alcun tick in quale secondo. Funziona secondo il seguente algoritmo:
Δtime=0: catch (copy) ticks.
Δtime=1: Disegna una candela sul tick che è stato catturato prima, poi cattura il tick (con un accumulatore preliminarmente azzerato).
Δtime>1: disegna una candela sul tick catturato prima, disegna dei trattini sulla linea Close[0] nella quantità diΔtime-1, cattura un tick (con accumulatore preliminarmente azzerato). In tutti i casi l'accumulatore dovrebbe essere azzerato quando una candela è già stata disegnata su di esso e significa che l'accumulatore non è più necessario. Questo accade quandoΔtime>0.
Facciamo un giro di prova:
Con la freccia ho disegnato i momenti in cui l'offerta è presumibilmente uguale all'asc e il volume dovrebbe essere presumibilmente uguale a uno. Non ho catturato il fondo con i volumi, non si può vedere nulla lì comunque, è poco profondo. Ma sono tutti a livello, cioè o zero o uno, nessuno sale a due (anche se l'allarme è segnalato). Due tick al secondo - ancora quando si passa il mouse mostra ironicamente volume = 1, e l'offerta è uguale a asku mostra anche ironicamente volume = 0. Perché? Capisco che da qualche parte c'è un errore, ma molto probabilmente non mi accorgo dell'errore, o guardo nel posto sbagliato. Sto allegando il codice, ho commentato bene la mia parte di codice, ho controllato i rientri ovunque, ho rimosso gli inluder, ho solo selezionato le funzioni da usare, in modo che si compili più velocemente. L'unica osservazione - non funziona offline, cioè con TimeLocal, a differenza del raccoglitore di tick originale, perché ho scritto in if(tickTimeLocal==true) lì da zero (dato che non ne avevo molto bisogno). Ho provato a tradurlo in Expert Advisor seguendo i consigli di Taras - le candele non sono mostrate nel grafico autonomo (ma la linea della quotazione attuale si muove bene).
le tue pantofole.
Ciao
Ecco una domanda. Diciamo che oggi è lunedì. Ho bisogno di sapere il prezzo di chiusura di venerdì. Ho bisogno di sapere il prezzo di chiusura di venerdì.
Ho fatto questa domanda perché vedo le barre del sabato e della domenica nello Strategy Tester. Non ho scambiato in questi giorni. Sopra la linea scritta c'è il prezzo di chiusura di venerdì o di domenica?Ciao
Ecco una domanda. Diciamo che oggi è lunedì. Ho bisogno di sapere il prezzo di chiusura di venerdì. Posso scrivere
Ho questa domanda perché nello Strategy Tester vedo delle barre il sabato e la domenica. Non faccio trading in quei giorni. Sopra la linea scritta dà il prezzo di chiusura del venerdì o della domenica?Dammi il prezzo di venerdì! Se il server chiude non più tardi delle 24.00 di venerdì e inizia non prima delle 0.00 di domenica!
Usa l'indicatore DailyPivotPoints!
No, non lo capisco affatto. Chiaramente già scrivendo
Agli avvisi uguali a 2, tolgo l'indicatore dalle minuzie, trascino il mouse sulla candela... Volume=1.
Guardato RateInfo in hst attraverso FileInsight (come debugger), penso che forse c'è int, ma non doppio in Volume - no, stesso-doppio...
Buona sera.
Grazie per la risposta alla mia domanda))
Per favore ditemi se piazzo un ordine di acquisto come questo OrderSend (Symbol(),OP_BUY,Lot,Ask,3,0,0, "Buy",0,0,Green);
Se è un ordine di venditaOrderSend (Symbol(),OP_SELL,Lot,Ask,3,0,0, "Sell",0,0,0,Red);
la differenza è blu o deve cambiare anche il colore rosso? cioè dove OP_BUY è il prezzo dell'offerta
dove OP_SELL ha il prezzo Ask
Volevo anche controllare se il mio ordine non è cambiato e non volevo cambiarlo, quindi perché tutto è andato bene nello Strategy Tester e nella Demo, ma ho avuto un errore di 129 quando ho provato ad aprirlo nel mercato reale?
Buona sera.
Grazie per aver risposto alla mia domanda))
Per favore ditemi se apro un ordine di acquisto come questo OrderSend (Symbol(),OP_BUY,Lot,Ask,3,0,0, "Buy",0,0,Green);
Se è un ordine di venditaOrderSend (Symbol(),OP_SELL,Lot,Ask,3,0,0, "Sell",0,0,0,Red);
la differenza è blu o deve cambiare anche il colore rosso? cioè dove OP_BUY è il prezzo dell'offerta
dove OP_SELL ha il prezzo Ask
Volevo anche controllare se il mio ordine non è cambiato e non volevo cambiarlo, quindi perché tutto è andato bene nello Strategy Tester e nella Demo, ma ho avuto un errore di 129 quando ho provato ad aprirlo nel mercato reale?
Buona sera.
Grazie per aver risposto alla mia domanda))
Potete dirmi se apro un ordine di acquisto come questo OrderSend (Symbol(),OP_BUY,Lot,Ask,3,0,0, "Buy",0,0,0,Green);
Se è un ordine di venditaOrderSend (Symbol(),OP_SELL,Lot,Ask,3,0,0, "Sell",0,0,0,Red);
...Vendere:
Raccomando di aggiornare i preventivi prima di inviare un ordine:
RefreshRates(); OrderSend (...);
E notate che il vostro slipage =3, per le quotazioni a 4 cifre sarà =3 pips e per le quotazioni a 5 cifre sarà calcolato come 0,3 pips. Quindi, se il tuo EA lavorerà con quotazioni a 5 cifre, allora imposta slipage = 30.No, non lo capisco affatto. Chiaramente già scrivendo
Agli avvisi uguali a 2, tolgo l'indicatore dai minuti, trascino il mouse sulla candela... Volume=1.
Guardato RateInfo in hst attraverso FileInsight (come debugger), penso che forse c'è int, ma non doppio in Volume - no, stesso-doppio...
Ho guardato il tuo codice.... Hai tutto troppo confuso))))
Non capisco bene perché abbiamo bisogno di accumulare ticks, perché è sufficiente memorizzare in memoria (o anche non memorizzare, perché la barra corrente deve essere scritta in HST - altrimenti il grafico non sarà aggiornato) i parametri della barra corrente - sei numeri TOHLCV, e aggiornarli come necessario alla ricezione del tick, e fare il cutoff della barra alla condizione specificata(TimeCurrent()-O>1).
Provate a rielaborare il codice in questo modo, sarà ridotto di 8 volte, ve lo garantisco (ho controllato:)