// 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;