Benvenuto, Ospite
Nome utente: Password: Ricordami
Un buon post inizia dal titolo, che deve essere chiaro e immediato... e non aprite nuovi Topics se ne esiste già uno recente sullo stesso argomento... anche in questo Forum le regole sono poche (ma buone).
  • Pagina:
  • 1
  • 2

ARGOMENTO:

codice da sistemare 6 Anni 4 Mesi fa #25054

  • w4rri0r
  • Avatar di w4rri0r Autore della discussione
  • Offline
  • Junior Member
  • Junior Member
  • Messaggi: 81
  • Ringraziamenti ricevuti 19
Ciao a tutti,
Ho iniziato a codificare una cosa semplice (compra sopra il max o vendi sotto il min) ma il sistema continua a ricomprare una volta chiusa la posizione

è un problema di linguaggio?
Input:	ATRLenght ( 1 ),
		TgtATR ( 2 ),
		StpATR ( 1 ),
		TrlKickIn ( 1 ),
		TrlAmt ( 5 ) ;
Vars: 
	FirstBarHi( 0 ), 
	FirstBarLo( 0 ),
	ATR ( 0 ), 
	MP (0),
	TrlL ( 0 ),
	TrlS ( 9999999999 ),
	StartLTrl ( FALSE ),
	StartSTrl ( FALSE ),
	Value1 (0),
	Value2 (0);
	
MP = Marketposition;
ATR = ( ATRLenght );
FirstBarHi = High; 
FirstBarLo = Low; 
Value1 = FirstBarHi + .01;
Value2 = FirstbarLo - .01;

If CurrentSession(0) <> CurrentSession(0)[1] then begin         
ATR = ( ATRLenght );
FirstBarHi = High; 
FirstBarLo = Low;   
end; 

 // Entries
if Time > 0930 and Time <= 0935 then begin  // allow five min. after the open to break below or above the first min. bar of the day 
Buy ("MyBuy") next bar at  Value1 stop; 
Sell short next bar at Value2 stop; 

if MP <> 1 then
Begin
	StartLTrl = FALSE;
	TrlL = 0;
end;

if MP <> -1 then
Begin
	StartSTrl = FALSE;
	TrlS = 9999999;
end;
end; 


// Stops
if MP = 1 then Sell Next Bar at ( Low ) Stop;
if MP = -1 then BuyToCover Next Bar at ( High ) Stop;

// Targets
if MP = 1 then Sell next bar at (Entryprice + ( .10 )) limit;
if MP = -1 then BuyToCover Next Bar at (EntryPrice - ( .10 ) ) Limit;

// Trailing stop
if MP = 1 and C >= (EntryPrice + ( .10 ) ) then StartLTrl = True;
if MP = -1 and C <= (EntryPrice - ( .10 ) ) then StartSTrl = True;
if   StartLTrl then if C - (EntryPrice + ( .10 ) ) > TrlL then TrlL = C -(EntryPrice + ( .10 ) );
if   StartSTrl then if C + (EntryPrice - ( .10 ) ) < TrlS then TrlL = C +(EntryPrice - ( .10 ) );

// Exit on close
if MP = 1 then Sell Next Bar at TrlL Stop;
if MP = -1 then BuyToCover Next Bar at TrlS Stop;
setexitonclose;
  

Si prega Accedi o Crea un account a partecipare alla conversazione.

codice da sistemare 6 Anni 3 Mesi fa #25078

  • marcebelgu
  • Avatar di marcebelgu
  • Offline
  • Senior Member
  • Senior Member
  • Messaggi: 179
  • Ringraziamenti ricevuti 97
Ho provato su MGC 5m e a me sembra funzionare.

Il motivo per cui chiama le uscite ad esempio Sell#2 è perchè non è stato assegnato un nome esplicito alle uscite multiple. Sell#2 è la seconda uscita registrata dallo script. Conviene dare un nome a tutte le uscite come hai fatto per il Buy.

Per fare debug lascia solo gli ingressi e l'uscita a fine giornata commentando il resto, e piano piano includi le parti di codice commentato finchè trovi quel che non va.

Ti allego qualche screenshot.




Questo messaggio ha immagini allegate.
Accedi o registrati per visualizzarle.

Ringraziano per il messaggio: w4rri0r

Si prega Accedi o Crea un account a partecipare alla conversazione.

codice da sistemare 6 Anni 3 Mesi fa #25082

  • w4rri0r
  • Avatar di w4rri0r Autore della discussione
  • Offline
  • Junior Member
  • Junior Member
  • Messaggi: 81
  • Ringraziamenti ricevuti 19
grazie Marce,
ho risolto includendo una funzione che "conta" i trade e assegna un numero massimo eseguibile.

a te funzionava giusto sul 5 minuti perchè il programma era settato per inizializzare solo per i primi 5 minuti > con timeframes inferiori apriva un'infinità di operazioni di fila.....
ho incluso anche una funzione per il money management

se interessa posso postare il codice manoa mano che lo completo


******************************************************

nuovo problema.....lo stop non rimane fisso....
dovrebbe essere fisso sui livelli della prima barra invece il programma legge massimo e minimo della barra precedente e adegua di conseguenza


esiste un modo per dirgli ad un certo punto di escludersi? passare al manuale?

Questo messaggio ha un'immagine allegata.
Accedi o registrati per visualizzarla.

Si prega Accedi o Crea un account a partecipare alla conversazione.

codice da sistemare 6 Anni 3 Mesi fa #25091

  • marcebelgu
  • Avatar di marcebelgu
  • Offline
  • Senior Member
  • Senior Member
  • Messaggi: 179
  • Ringraziamenti ricevuti 97
Memorizzi il valore che ti serve della prima candela in una variabile e lo usi per il sell stop. Sai anche da quante candele sei in posizione quindi decidi quando memorizzare il valore. Ok?


Non direi che si possa passare manuale / automatico da codice. Per lo meno non con l'EasyLanguage di base (forse con quello ad oggetti).

Si prega Accedi o Crea un account a partecipare alla conversazione.

codice da sistemare 6 Anni 3 Mesi fa #25097

  • w4rri0r
  • Avatar di w4rri0r Autore della discussione
  • Offline
  • Junior Member
  • Junior Member
  • Messaggi: 81
  • Ringraziamenti ricevuti 19
ah ok, ci provo grazie!

esiste un easylanguage tipo labview?

Si prega Accedi o Crea un account a partecipare alla conversazione.

codice da sistemare 6 Anni 3 Mesi fa #25100

  • marcebelgu
  • Avatar di marcebelgu
  • Offline
  • Senior Member
  • Senior Member
  • Messaggi: 179
  • Ringraziamenti ricevuti 97
Labview ha un linguaggio grafico chiamato G per l'elaborazione dei segnali (digital signal processing).

Ma in generale intendiamo con linguaggio ad oggetti come istanze di classi, cioè non procedurale come ad esempio il C++, Java, C#.

Cioè esiste un EasyLanguage ad oggetti cioè a classi.

www.tradestation.com/education/events/live-webcasts/easylanguage/implementing-objects-in-easylanguage

Si prega Accedi o Crea un account a partecipare alla conversazione.

codice da sistemare 6 Anni 3 Mesi fa #25101

  • w4rri0r
  • Avatar di w4rri0r Autore della discussione
  • Offline
  • Junior Member
  • Junior Member
  • Messaggi: 81
  • Ringraziamenti ricevuti 19
ok, come memorizzare il vaore della prima cnadela ho bisogno del max e del min

Si prega Accedi o Crea un account a partecipare alla conversazione.

codice da sistemare 6 Anni 3 Mesi fa #25102

  • marcebelgu
  • Avatar di marcebelgu
  • Offline
  • Senior Member
  • Senior Member
  • Messaggi: 179
  • Ringraziamenti ricevuti 97
Prima barra della sessione? Oppure prima barra ad 1 minuto cioè alle 9.31?
if Time = 0931 then begin

FirstBarHi = H;
FirstBarLow = L;

end;

Si prega Accedi o Crea un account a partecipare alla conversazione.

codice da sistemare 6 Anni 3 Mesi fa #25105

  • w4rri0r
  • Avatar di w4rri0r Autore della discussione
  • Offline
  • Junior Member
  • Junior Member
  • Messaggi: 81
  • Ringraziamenti ricevuti 19
@Marce
if Time = 0931 then begin

FirstBarHi = H;
FirstBarLow = L;

end;

prima barra della sessione (poi il time frame diventa relativo)

il codice che mi segnali era già inserito nel programma che ho postato sopra. Non funziona.
Mi restituisce quanto postato nello screenshot

...boh...se trovo una soluzione la posto

grazie

Si prega Accedi o Crea un account a partecipare alla conversazione.

codice da sistemare 6 Anni 3 Mesi fa #25106

  • marcebelgu
  • Avatar di marcebelgu
  • Offline
  • Senior Member
  • Senior Member
  • Messaggi: 179
  • Ringraziamenti ricevuti 97
Questo succede perche' assegni i due valori ad ogni barra senza condizioni nelle prime righe dello script:
MP = Marketposition;
ATR = ( ATRLenght );
FirstBarHi = High; 
FirstBarLo = Low;

vengono assegnati ad ogni barra. Quindi si riaggiornano.

Invece come ho accennato devi assegnare i due valori solo con una condizione precisa.

Pulisci il codice e vedrai che funziona.

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Pagina:
  • 1
  • 2
Tempo creazione pagina: 0.154 secondi

CLICCA QUI PER TUTTE 

LE DATE DEI PROSSIMI 

CORSI IN PARTENZA

 

 CORSI A DISTANZA 

 

...NON è in Calendario? 

Ti apriamo SUBITO la REGISTRAZIONE dell'ultima edizione (e ti inviamo le Strategie) in attesa della prossima data, che potrai seguire in sala, oppure collegato a distanza in streaming (la Rifrequenza è SEMPRE Gratis)

 ECCO COME FACCIAMO FORMAZIONE IN QTLAB

 

...in libreria!

Futures: Month Code

Code Month
F January
G February
H March
J April
K May
M June
N July
Q August
U September
V October
X November
Z December

Articoli

Il commento ad una Operazione, l'Analisi di una Strategia, o semplicemente la descrizione di una Tecnica... questo ed altro nella sezione Articoli.
Leggi gli Articoli

 

Downloads

Materiali Didattici, le Slide proiettate ai Seminari, codici di Trading Systems, Reports e Software: a tua disposizione!
Downloads



Login

Diventa Trader!

Il Trading è una professione come tante: si può imparare, richiede impegno, ma prima di ogni cosa, un Metodo, che può essere appreso attraverso la frequenza ad un corso...
Percorso in aula

 

... osservando un Trader e affiancandolo nella sua operatività (Coaching Individuale)... 
Coaching 101

 

... o seguendo l'operatività di Trader più esperti attraverso dei Segnali Operativi inviati real time... 
Segnali Operativi

 

1 punto vale...

ticker futures punto
6A Australian Dollar 1000
6B British Pound 625
6C Canadian Dollar 1000
DX US Dollar Index 1000
6E EuroFx 1250
6J Japanese Yen 1250
6S Swiss Franc 1250
CL Crude Oil 1000
HO Heating Oil 420
NG Natural Gas 10000
RB RBOB Gas 420
ZL Soybean Oil 600
ZC Corn 50
ZS Soybeans 50
ZM Soybean Meal 100
ZW Wheat 50
GE Eurodollars 2500
ZF 5-Yr T-Notes 1000
ZT 2-Yr T-Notes 2000
ZN 10-Yr T-Notes 1000
ZB 30-Yr T-Bonds 1000
GF Feeder Cattle 500
LE Live Cattle 400
HE Lean Hogs 400
GC Gold 100
HG Copper 250
PL Platinum 50
SI Silver 50
CC Cocoa 10
CT Cotton 500
KC Coffee 375
LB Lumber 110
SB Sugar #11 1120

QT Lab Community

Il Trading può essere un gioco di squadra: lo diciamo per esperienza... perchè da anni i nostri Trader interagiscono in questa Community, analizzano insieme operazioni, e condividono idee e metodologie. Vuoi farne parte? Basta registrarsi...
Entra in Community

 

Questo sito utilizza i Cookies per migliorare la navigazione. Utilizzando questo sito e continuando nella navigazione si intende accettata la Privacy Policy e la Cookie Policy 

Puoi bloccare in ogni momento questa raccolta di informazioni seguendo le istruzioni per configurare il tuo browser, contenute nella suddetta pagina. 

Procedere nella navigazione di questo sito web, implica l'accettazione delle condizioni generali di utilizzo e i termini di vendita dei servizi che puoi approfondire in questa pagina.

Quantitative Trading LAB di Luca Giusti - e-mail: info@qtlab.ch Tutti i diritti sono riservati. tel: +41 044 586 68 57 oppure +39 02 829 502 73

Questo sito Web non è rivolto a persone giuridiche o fisiche appartenenti a giurisdizioni in cui, in virtù della nazionalità, della tipologia di persona, del proprio domicilio o residenza, della sede sociale o per qualsiasi altro motivo, l’accesso allo stesso, la relativa consultazione, la disponibilità, la pubblicazione, come pure la presentazione di servizi finanziari o la commercializzazione di determinati prodotti finanziari dovesse essere vietata o soggetta a restrizioni. Alle persone cui si applicano tali restrizioni è conseguentemente vietato accedere a questo sito internet. Le informazioni e le opinioni contenute nelle pagine del sito internet e nel materiale in esso contenuto non costituiscono in nessun caso un invito, un’offerta, una raccomandazione o una sollecitazione di acquisto o di vendita, una richiesta o una sottoscrizione di titoli o strumenti finanziari, prodotti o servizi finanziari o d’investimento, né un’esortazione ad effettuare transazioni di alcun genere. Il contenuto del sito internet è stato allestito con la maggiore cura e diligenza possibile. Tuttavia non si fornisce alcuna garanzia circa la correttezza, l’esattezza, la completezza, l’affidabilità o l’attualità dei contenuti proposti. I dati storici relativi ai rendimenti e agli scenari sui mercati finanziari, le prestazioni passate, effettive o indicate da test storici o strategie, non sono garanzia di analoghi risultati futuri. Facendo trading si possono sostenere perdite superiori al proprio investimento iniziale: non si dovrebbe investire o rischiare denari che non si si può permettere di perdere.Per ulteriori dettagli, si prega di leggere le "Condizioni di Utilizzo" nel menù verticale in alto a sinistra. In nessuna circostanza – ivi compresa la negligenza – la nostra società può essere considerata responsabile per perdite e/o danni di qualsiasi natura – sia che si tratti di danni diretti, indiretti oppure consequenziali – derivanti dall’accesso agli elementi di questo sito internet o dal loro utilizzo (o dall’impossibilità di accedere al sito internet stesso e di utilizzarne gli elementi) o da link che portano a siti internet di terzi. Noi non monitoriamo le pagine collegate al sito internet mediante link e decliniamo pertanto qualsiasi responsabilità per i relativi contenuti e per le eventuali prestazioni ivi offerte. La totalità dei contenuti presenti nel sito internet è tutelata dal diritto d’autore. Senza previo consenso scritto da parte nostra non è pertanto consentito riprodurre (anche parzialmente), trasmettere (né per via elettronica né in altro modo), modificare, stabilire link o utilizzare il sito internet per qualsivoglia finalità pubblica o commerciale.Qualsiasi controversia riguardante l’utilizzo del sito internet è soggetta al diritto svizzero, che disciplina in maniera esclusiva l’interpretazione, l’applicazione e gli effetti di tutte le condizioni sopra elencate. Il foro di Bellinzona è esclusivamente competente in merito a qualsiasi disputa o contestazione che dovesse sorgere in merito al presente sito internet e al suo utilizzo.
 
Accedendo e continuando nella lettura dei contenuti di questo sito Web dichiari di aver letto, compreso e accettato le sopracitate informazioni legali.

The material on this website is for information purposes only. Any reference on this Web site to QTLab, the authors, and its affiliated companies should not be construed as an offer or solicitation, directed to residents in jurisdictions where QTLab, by and through any of its affiliates, is not registered to do business. No investment advice or solicitation to buy or sell securities is given or in any manner endorsed by QTLab or any of its affiliates. Charts created using TradeStation. ©TradeStation Technologies, Inc. All rights reserved. No investment or trading advice, recommendation or opinions is being given or intended. Past performance, whether actual or indicated by historical tests of strategies, is no guarantee of future performance or success. There is a possibility that you may sustain a loss greater than your entire investment; therefore, you should not invest or risk money that you cannot afford to lose. For further details please read the "Condizioni di Utilizzo" to see the full set of terms and conditions.

 

www.ForexAcademy.it      -        www.OptionsAcademy.it       -        www.FuturesAcademy.it       -        www.TradingSystemAcademy.it