Maurizio-Ciullo

Indicatore Study Simulatore Giorno Della Settimana

Dec 14th, 2025 (edited)
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.                                                                             // Indicatore Study Simulatore Giorno Della Settimana //
  2.                                                                               // * ATTENZIONE USARE SOLO SU TIMFRAME DAILY !!! * //
  3.                                                                             // Se Manca Barra Input Il Trade Non Verrà Considerato //
  4.  
  5. // ======================================================================
  6. // Simulatore Giorno della Settimana - Capitale fisso per trade
  7. // Scopo: valutare performance dei singoli giorni della settimana
  8. // su base storica, investendo sempre % Capitale Iniziale Da Input per trade (virtuale)
  9. // Shares frazionarie ES: 0.001 BTC
  10. // Trade: Open E Close Stessa Barra
  11. // Statistiche finali con: "Equity ($)" / "Giorno Selez" / "Num Trades" / "% Positivi" / "Dev.Std"
  12. // ======================================================================
  13.  
  14. // ======================================================================
  15. // Indicatore da confrontare con INDICATORE DAY OF WEEK BIAS ANALYZER allineandolo con ingresso stesso giorno.
  16. // ======================================================================
  17.  
  18. // ======================================================================
  19. // "(STD)" Un valore alto di std_dev significa che i trade hanno risultati molto variabili: alcuni molto vincenti, altri molto perdenti.
  20. // "(STD)" Un valore basso significa che i trade hanno risultati più consistenti, vicini alla media.
  21. // "% Positivi" Calcolo: 1G+1G+1G+1L = 3/4? (3 Gain, 1 Lost) Da verificare all'ultima Barra del Grafico la % di Positivita
  22. // ======================================================================
  23.  
  24.  
  25. Inputs:
  26.     My_TDOM_Long(1),          // Giorno della settimana da testare (1=Lunedì ... 5=Venerdì)
  27.     Fixed_Trade_Amount(25000); // Capitale fisso per ogni trade
  28.  
  29. Vars:
  30.     virtual_equity(0),
  31.     virtual_entry_price(0),
  32.     virtual_qty(0),
  33.     in_trade(false),
  34.     trade_profit(0),
  35.     trade_count(0),
  36.     trade_count_pos(0),
  37.     sum_profit(0),
  38.     sum_sq_profit(0),
  39.     mean_profit(0),
  40.     std_dev(0),
  41.     perc_positive(0),
  42.     sum_profit_input_day(0),
  43.     trade_count_input_day(0),
  44.     mean_profit_input_day(0);
  45.  
  46. // -------------------------------------------------------------
  47. // Inizializza variabili alla prima barra
  48. // -------------------------------------------------------------
  49. if CurrentBar = 1 then begin
  50.     virtual_equity = 0;
  51.     trade_count = 0;
  52.     trade_count_pos = 0;
  53.     sum_profit = 0;
  54.     sum_sq_profit = 0;
  55.     sum_profit_input_day = 0;
  56.     trade_count_input_day = 0;
  57.     mean_profit_input_day = 0;
  58. end;
  59.  
  60. // -------------------------------------------------------------
  61. // Segnale di ingresso e uscita nello stesso giorno
  62. // -------------------------------------------------------------
  63. if DayOfWeek(Date) = My_TDOM_Long then begin
  64.  
  65.     // Calcolo quantità e profitto al close dello stesso giorno
  66.     virtual_entry_price = Open;
  67.     virtual_qty = Fixed_Trade_Amount / Open;
  68.     trade_profit = (Close - virtual_entry_price) * virtual_qty;
  69.     virtual_equity = virtual_equity + trade_profit;
  70.  
  71.     // Aggiornamento contatori
  72.     trade_count = trade_count + 1;
  73.     if trade_profit > 0 then
  74.         trade_count_pos = trade_count_pos + 1;
  75.  
  76.     // Aggiornamento somme per media e deviazione standard
  77.     sum_profit = sum_profit + trade_profit;
  78.     sum_sq_profit = sum_sq_profit + trade_profit * trade_profit;
  79.     mean_profit = sum_profit / trade_count;
  80.  
  81.     if trade_count > 1 then
  82.         std_dev = SquareRoot((sum_sq_profit - (sum_profit * sum_profit) / trade_count) / (trade_count - 1))
  83.     else
  84.         std_dev = 0;
  85.  
  86.     // Percentuale di positività
  87.     perc_positive = (trade_count_pos / trade_count) * 100;
  88.  
  89.     // Aggiornamento cumulativo per media input day
  90.     sum_profit_input_day = sum_profit_input_day + trade_profit;
  91.     trade_count_input_day = trade_count_input_day + 1;
  92.  
  93.     // -------------------------------------------------------------
  94.     // Print singola riga
  95.     // -------------------------------------------------------------
  96.     Print("Trade ", trade_count,
  97.           " | Entry Price: ", virtual_entry_price:0:2,
  98.           " | Entry Date: ", Date,
  99.           " | Entry Time: ", Time,
  100.           " | Exit Price: ", Close:0:2,
  101.           " | Exit Date: ", Date,
  102.           " | Exit Time: ", Time,
  103.           " | Qty: ", virtual_qty:0:4,
  104.           " | Profit: ", trade_profit:0:2,
  105.           " | Equity: ", virtual_equity:0:2,
  106.           " | Day of Week: ", DayOfWeek(Date));
  107. end;
  108.  
  109. // -------------------------------------------------------------
  110. // Plot giorno selezionato + statistiche
  111. // -------------------------------------------------------------
  112. Plot1(virtual_equity, "Equity ($)");
  113. Plot2(My_TDOM_Long, "Giorno Selez");
  114. Plot3(DayOfWeek(Date), "Giorno Corrente");
  115. Plot4(trade_count, "Num Trades");
  116. Plot5(perc_positive, "% Positivi");    
  117. Plot6(std_dev, "Dev.Std", Green);
  118.  
  119. // -------------------------------------------------------------
  120. // Stampa media finale del giorno selezionato una sola volta
  121. // -------------------------------------------------------------
  122. if LastBarOnChart then begin
  123.     if trade_count_input_day > 0 then
  124.         mean_profit_input_day = sum_profit_input_day / trade_count_input_day
  125.     else
  126.         mean_profit_input_day = 0;
  127.     Print("----------------------------------------------------------------------");
  128.     Print("Media Profit/Loss $ per Day Input ", My_TDOM_Long:0:0, ": ", mean_profit_input_day:0:2);
  129.     print("% Positivi: ", perc_positive:0:2);
  130.     Print("----------------------------------------------------------------------");
  131. end;
  132.  
  133.  
  134.  
Advertisement
Add Comment
Please, Sign In to add comment