Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Indicatore Study Simulatore Giorno Della Settimana //
- // * ATTENZIONE USARE SOLO SU TIMFRAME DAILY !!! * //
- // Se Manca Barra Input Il Trade Non Verrà Considerato //
- // ======================================================================
- // Simulatore Giorno della Settimana - Capitale fisso per trade
- // Scopo: valutare performance dei singoli giorni della settimana
- // su base storica, investendo sempre % Capitale Iniziale Da Input per trade (virtuale)
- // Shares frazionarie ES: 0.001 BTC
- // Trade: Open E Close Stessa Barra
- // Statistiche finali con: "Equity ($)" / "Giorno Selez" / "Num Trades" / "% Positivi" / "Dev.Std"
- // ======================================================================
- // ======================================================================
- // Indicatore da confrontare con INDICATORE DAY OF WEEK BIAS ANALYZER allineandolo con ingresso stesso giorno.
- // ======================================================================
- // ======================================================================
- // "(STD)" Un valore alto di std_dev significa che i trade hanno risultati molto variabili: alcuni molto vincenti, altri molto perdenti.
- // "(STD)" Un valore basso significa che i trade hanno risultati più consistenti, vicini alla media.
- // "% Positivi" Calcolo: 1G+1G+1G+1L = 3/4? (3 Gain, 1 Lost) Da verificare all'ultima Barra del Grafico la % di Positivita
- // ======================================================================
- Inputs:
- My_TDOM_Long(1), // Giorno della settimana da testare (1=Lunedì ... 5=Venerdì)
- Fixed_Trade_Amount(25000); // Capitale fisso per ogni trade
- Vars:
- virtual_equity(0),
- virtual_entry_price(0),
- virtual_qty(0),
- in_trade(false),
- trade_profit(0),
- trade_count(0),
- trade_count_pos(0),
- sum_profit(0),
- sum_sq_profit(0),
- mean_profit(0),
- std_dev(0),
- perc_positive(0),
- sum_profit_input_day(0),
- trade_count_input_day(0),
- mean_profit_input_day(0);
- // -------------------------------------------------------------
- // Inizializza variabili alla prima barra
- // -------------------------------------------------------------
- if CurrentBar = 1 then begin
- virtual_equity = 0;
- trade_count = 0;
- trade_count_pos = 0;
- sum_profit = 0;
- sum_sq_profit = 0;
- sum_profit_input_day = 0;
- trade_count_input_day = 0;
- mean_profit_input_day = 0;
- end;
- // -------------------------------------------------------------
- // Segnale di ingresso e uscita nello stesso giorno
- // -------------------------------------------------------------
- if DayOfWeek(Date) = My_TDOM_Long then begin
- // Calcolo quantità e profitto al close dello stesso giorno
- virtual_entry_price = Open;
- virtual_qty = Fixed_Trade_Amount / Open;
- trade_profit = (Close - virtual_entry_price) * virtual_qty;
- virtual_equity = virtual_equity + trade_profit;
- // Aggiornamento contatori
- trade_count = trade_count + 1;
- if trade_profit > 0 then
- trade_count_pos = trade_count_pos + 1;
- // Aggiornamento somme per media e deviazione standard
- sum_profit = sum_profit + trade_profit;
- sum_sq_profit = sum_sq_profit + trade_profit * trade_profit;
- mean_profit = sum_profit / trade_count;
- if trade_count > 1 then
- std_dev = SquareRoot((sum_sq_profit - (sum_profit * sum_profit) / trade_count) / (trade_count - 1))
- else
- std_dev = 0;
- // Percentuale di positività
- perc_positive = (trade_count_pos / trade_count) * 100;
- // Aggiornamento cumulativo per media input day
- sum_profit_input_day = sum_profit_input_day + trade_profit;
- trade_count_input_day = trade_count_input_day + 1;
- // -------------------------------------------------------------
- // Print singola riga
- // -------------------------------------------------------------
- Print("Trade ", trade_count,
- " | Entry Price: ", virtual_entry_price:0:2,
- " | Entry Date: ", Date,
- " | Entry Time: ", Time,
- " | Exit Price: ", Close:0:2,
- " | Exit Date: ", Date,
- " | Exit Time: ", Time,
- " | Qty: ", virtual_qty:0:4,
- " | Profit: ", trade_profit:0:2,
- " | Equity: ", virtual_equity:0:2,
- " | Day of Week: ", DayOfWeek(Date));
- end;
- // -------------------------------------------------------------
- // Plot giorno selezionato + statistiche
- // -------------------------------------------------------------
- Plot1(virtual_equity, "Equity ($)");
- Plot2(My_TDOM_Long, "Giorno Selez");
- Plot3(DayOfWeek(Date), "Giorno Corrente");
- Plot4(trade_count, "Num Trades");
- Plot5(perc_positive, "% Positivi");
- Plot6(std_dev, "Dev.Std", Green);
- // -------------------------------------------------------------
- // Stampa media finale del giorno selezionato una sola volta
- // -------------------------------------------------------------
- if LastBarOnChart then begin
- if trade_count_input_day > 0 then
- mean_profit_input_day = sum_profit_input_day / trade_count_input_day
- else
- mean_profit_input_day = 0;
- Print("----------------------------------------------------------------------");
- Print("Media Profit/Loss $ per Day Input ", My_TDOM_Long:0:0, ": ", mean_profit_input_day:0:2);
- print("% Positivi: ", perc_positive:0:2);
- Print("----------------------------------------------------------------------");
- end;
Advertisement
Add Comment
Please, Sign In to add comment