COSTRUZIONE INDICATORE PER ANALISI CICLICA CON VISUAL TRADER (9 lettori)

solospread

Forumer storico
Il problema di CICLONE_SOLOSPREAD_ROBOM sono il numero di operazioni che fà. Non c'è dubbio che ci sia una buona base e che molti giorni consegue un discreto guadagno. Anche oggi chiude in positivo anche se con meno gain degli ultimi due giorni. Per ridurre drasticamente le operazioni ho buttato giu' molto velocemente questo listato che mantiene gli orari di Ciclone ma usa solo il Pivot della giornata come livello di entrata. Adesso è una bozza molto grezza ma lavorandoci un pò ed usando magari anche S1 ed R1 e SMid ed Rmid si può ottimizzare efficacemente. Possiamo anche di mettere il Take con la stessa istruzione messa da Robom per il rientro. Insomma è tutto da sviluppare. Invece che usare il frame ad 1 minuto ho usato un grafico ntick e l'equity dice che non è male. Posto il grafo, il report ed ovviamente il listato. Di posto per le modifiche ce n'è.
Codice:
Var: previousH,previousL,previousC,
Pivot,R1,S1, R1mid,S1mid, prova, cambiatogiorno,
lin1,lin2,lin3,lin4,lin5,miotw,mm1,mac,opm,mm2,trad1,
indperiodo, numper, ggini, primavolta(-1);  	
VAR: Miacondizione1,Miacondizione2,Miacondizione3,Miacondizione4,Miacondizione5,MioTw,MM1,MAC,OPM,MM2;
Var: miavar(0), Miacondizione1,Miacondizione2,miacondizione3,Miacondizione4,Miacondizione5,Miacondizione6;
Var: Miacondizione7,Miacondizione8, Miacondizione9,Miacondizione10, Miacondizione11,Miacondizione12, Miacondizione13,Miacondizione14;
Var: Miacondizione15,Miacondizione16,Miacondizione17,miacondizione18;
//******************************************************************************
    if T = 0910 then
    Miacondizione1 = C+30;endif;
    if T = 0910 then
    Miacondizione2 = C-30; endif;
    if T = 1010 then
    Miacondizione3 = C+30;endif;
    if T = 1010 then
    Miacondizione4 = C-30; endif;
    if T = 1110 then
    Miacondizione5 = C+30;endif;
    if T = 1110 then
    Miacondizione6 = C-30; endif;
     if T =1210 then
    Miacondizione7 = C+30;endif;
    if T = 1210 then
    Miacondizione8 = C-30; endif;
    if T = 1310 then
    Miacondizione9 = C+30;endif;
    if T = 1310 then
    Miacondizione10 = C-30; endif;
    if T = 1410 then
    Miacondizione11 = C+30;endif;
    if T = 1410 then
    Miacondizione12 = C-30; endif;
     if T =1510 then
    Miacondizione13 = C+30;endif;
    if T = 1510 then
    Miacondizione14 = C-30; endif;
    if T = 1610 then
    Miacondizione15 = C+30;endif;
    if T = 1610 then
    Miacondizione16 = C-30; endif;
    if T = 1710 then
    Miacondizione17 = C+30;endif;
    if T = 1710 then
    Miacondizione18 = C-30; endif;
//******************************************************************************
previousH=EOD.H[1];
previousL=EOD.L[1];
previousC=EOD.C[1];
cambiatogiorno = GetValues(days, 1, prova, prova, prova, prova);
// Calcola Pivot
R1=(2*Pivot)-previousL;
Pivot=(previousH+previousC+previousL)/3;
S1=(2*Pivot)-previousH;
R1mid=(R1+pivot)/2;
S1mid=(S1+pivot)/2;
if cambiatogiorno then
//******************************************************************************
lin1 = CREATEOGG;
lin2 = CREATEOGG;
lin3 = CREATEOGG;
lin4 = CREATEOGG;
lin5 = CREATEOGG;
indperiodo = 0;
ggini = GetDate;
// da dove parto a tracciare la linea orizzontale
primavolta = false;
endif;
indperiodo = indperiodo + 1;
numper = indperiodo;
//******************************************************************************
lin1 = drawhlineper(lin1,0,ggini, r1, numper, fuchsia,2,0);
lin2 = drawhlineper(lin2,0,ggini, Pivot, numper, blue,2,0);
lin3 = drawhlineper(lin3,0,ggini, s1, numper, black,2,0);
lin4 = drawhlineper (lin4,0,ggini, R1mid, numper, fuchsia,2,2);
lin5 = drawhlineper (lin5,0,ggini, S1mid, numper, black,2,2);

//******************************************************************************

  if (CompareTime(09, 10, 0) > 0) and (CompareTime(10,09, 0) < 0) then
  if C > Pivot then
    EnterLong(NextBar, AtOpen);
  endif; endif;

 if (CompareTime(09, 10, 0) > 0) and (CompareTime(10,09, 0) < 0) then
 if C < Pivot then
    EnterShort(NextBar, AtOpen);
  endif;endif;

   if (CompareTime(10, 10, 0) > 0) and (CompareTime(11,09, 0) < 0) then
  if C > pivot then
    EnterLong(NextBar, AtOpen);
  endif; endif;

 if (CompareTime(10, 10, 0) > 0) and (CompareTime(11, 09, 0) < 0) then
 if C < pivot then
    EnterShort(NextBar, AtOpen);
  endif;endif;

  if (CompareTime(11, 10, 0) > 0) and (CompareTime(12,09, 0) < 0) then
  if (C > pivot) then
    EnterLong(NextBar, AtOpen);
  endif; endif;

 if (CompareTime(11, 10, 0) > 0) and (CompareTime(12, 09, 0) < 0) then
 if  (C < pivot) then
      EnterShort(NextBar, AtOpen);
  endif;endif;

    if (CompareTime(12, 10, 0) > 0) and (CompareTime(13,09, 0) < 0) then
  if (C > pivot) then
    EnterLong(NextBar, AtOpen);
  endif; endif;

 if (CompareTime(12, 10, 0) > 0) and (CompareTime(13, 09, 0) < 0) then
 if  (C < pivot) then
      EnterShort(NextBar, AtOpen);
  endif;endif;
     if (CompareTime(13, 10, 0) > 0) and (CompareTime(14,09, 0) < 0) then
  if (C > pivot) then
    EnterLong(NextBar, AtOpen);
  endif; endif;

 if (CompareTime(13, 10, 0) > 0) and (CompareTime(14, 09, 0) < 0) then
 if  (C < pivot) then
      EnterShort(NextBar, AtOpen);
  endif;endif;

    if (CompareTime(14, 10, 0) > 0) and (CompareTime(15,09, 0) < 0) then
  if (C > pivot) then
    EnterLong(NextBar, AtOpen);
  endif; endif;

 if (CompareTime(14, 10, 0) > 0) and (CompareTime(15, 09, 0) < 0) then
 if  (C < pivot) then
      EnterShort(NextBar, AtOpen);
  endif;endif;
    if (CompareTime(15, 10, 0) > 0) and (CompareTime(16,09, 0) < 0) then
  if (C > pivot) then
    EnterLong(NextBar, AtOpen);
  endif; endif;

 if (CompareTime(15, 10, 0) > 0) and (CompareTime(16, 09, 0) < 0) then
 if  (C < pivot) then
      EnterShort(NextBar, AtOpen);
  endif;endif;
     if (CompareTime(16, 10, 0) > 0) and (CompareTime(17,09, 0) < 0) then
  if (C > pivot) then
    EnterLong(NextBar, AtOpen);
  endif; endif;

 if (CompareTime(16, 10, 0) > 0) and (CompareTime(17, 09, 0) < 0) then
 if  (C < pivot) then
      EnterShort(NextBar, AtOpen);
  endif;endif;

    if (CompareTime(17, 10, 0) > 0) and (CompareTime(17,30, 0) < 0) then
  if (C > pivot) then
    EnterLong(NextBar, AtOpen);
  endif; endif;

 if (CompareTime(17, 10, 0) > 0) and (CompareTime(17, 30, 0) < 0) then
 if  (C < pivot) then
      EnterShort(NextBar, AtOpen);
 endif;endif;
//******************************************************************************
 if t>=1732 then
if positiondir=1 then
exitlong(bar,atclose);
endif;
 if t>=1732 then
if positiondir=-1 then
exitshort(bar,atclose);
endif;
endif; endif;

ScreenHunter_02 Jan. 21 19.29.gif


ScreenHunter_01 Jan. 21 19.29.gif
 

enryg70

Nuovo forumer
Il problema di CICLONE_SOLOSPREAD_ROBOM sono il numero di operazioni che fà. Non c'è dubbio che ci sia una buona base e che molti giorni consegue un discreto guadagno. Anche oggi chiude in positivo anche se con meno gain degli ultimi due giorni. Per ridurre drasticamente le operazioni ho buttato giu' molto velocemente questo listato che mantiene gli orari di Ciclone ma usa solo il Pivot della giornata come livello di entrata. Adesso è una bozza molto grezza ma lavorandoci un pò ed usando magari anche S1 ed R1 e SMid ed Rmid si può ottimizzare efficacemente. Possiamo anche di mettere il Take con la stessa istruzione messa da Robom per il rientro. Insomma è tutto da sviluppare. Invece che usare il frame ad 1 minuto ho usato un grafico ntick e l'equity dice che non è male. Posto il grafo, il report ed ovviamente il listato. Di posto per le modifiche ce n'è

Anche a 1 minuto (ntick non ce l'ho) sembra migliorato rispetto al 1949
Puoi mettere anche il dettaglio operazioni del report per confronto?

1232569921cattura.jpg
1232569947cattura1.jpg


Ma i TS a 5 minu STEP o ADX sono stato abbandonati? spero di no :)
 

enryg70

Nuovo forumer
Togliendo la parte che fa uscire alle 17.32 (quindi scegliendo di andare in over) i risultati migliorano di un pò dal punto di vista punti
Però se ne avvantaggia molto il n° operazioni ed il draw down in pratica le operazioni negative perdono poco, quelle positive guadagnano tanto......si insomma il sogno di tutti.........vabbè :)

1232571891cattura.jpg
1232571911cattura1.jpg

1232571930cattura2.jpg
 

andgui

Forumer storico
Complimenti Solo per il 2044. Numero di operazioni drasticamente ridotte e quindi meno commissioni e meno perdite per slippage.

Qualche messaggio fa sostenevo che è irrazionale uscire alle 17.30, perché statisticamente le probabilità sono uguali sia per il guadagno che per la perdita.

Per fortuna anch'io sono irrazionale per il momento. Pensate che botta per chi è rimasto short. Domattina si trova con un FIB +3%.
Al contrario però chi è rimasto long......

andgui.
 

robom1

Forumer storico
Ciao Solospread mi sembra una buona idea; provo a guardarci e dare un contributo anche io nei prossimi giorni tempo permettendo (ma volevo vedere il discorso che aveva fatto misterx sulle rette che mi sembrava molto complesso).
 

giumi69

Nuovo forumer
un saluto a tutti!

questo è il report degli ultimi 3 gg. (ma di fatto 2....oggi ancora nn conta...) di un TS sul 3 min. basato sullo stoca.

E' sempre una cosa da prendere con le pinze e il dubbio più grosso è legato alla sostenibilità nel tempo dei risultati.....;)

buon gain a tutti!:up:

g.

029.gif
 

andgui

Forumer storico
Oggi, per chi avesse seguito PIVOT222_2044 ci sarebbero volute le pastiglie contro l'infarto. E' rimasto long pur scendendo di 700 punti.

andgui
 

solospread

Forumer storico
Oggi, per chi avesse seguito PIVOT222_2044 ci sarebbero volute le pastiglie contro l'infarto. E' rimasto long pur scendendo di 700 punti.

andgui
Come ho specificato ieri è solo una bozza. Se guardi il listato ci sono ancora le istruzioni di Ciclone che in questo caso non servono a niente. Il motore di questo TS non sono gli orari ma bisogna mettere le istruzioni del tipo:
Miacondizione1 = (C[1] > R1 and C < R1) or(C[1] < R1 and C[1] > pivot and C < pivot) or C[1]< Pivot and C[1] > S1 and C < S1 //queste sono le condizioni per lo short. Se il listato fosse stato cosi oggi sarebbe entrato short a 18010 perdendo solo 70 punti nel 1 trade della giornata. poi si sarebbe fatto tutta una tirata fino al pivot 17750. Avrebbe fatto un pò di molina attorno al pivot e poi sarebbe andato short fino a S1 17440.
 

Users who are viewing this thread

Alto