Problem Statement
Has anyone been able to generate the “account history” tab in visualforce page? If i try using “Histories” in <apex:relatedList>, I get error msg saying it is not valid child relation name..

Solution1
This works for me to add a link to the account field history:

<apex:tab label=”Field History” name=”Field History” id=”fieldhistory”>
<apex:outputLink value=”https://na1.salesforce.com/_ui/common/history/ui/EntityHistoryFilterPage?id={!account.id}”>
click to view field history
</apex:outputLink>
</apex:tab>

Not optimum as user has to click the link but you dont need to do a lot of work.

Solution2
I also figured out how to access the Account History data. It is NOT a related list. Instead, use the code <apex:dataTable> to pull from the account.histories table. Below is rough code that will pull the Account History into a separate tab. The HTML formating is not very clean, but the data query works!:

<apex:tab label=”Field History” name=”Account History” id=”fieldhistory” >
<apex:dataTable value=”{!account.histories}” var=”accounthistory” id=”HistTable” rowClasses=”odd,even”
styleClass=”tableClass” cellspacing=”15″ width=”80%”>
<apex:facet name=”caption”></apex:facet>
<apex:facet name=”header”>Field History</apex:facet>
<apex:facet name=”footer”></apex:facet>
<apex:column>
<apex:facet name=”header”>Edit Date</apex:facet>
<apex:facet name=”footer”></apex:facet>
<apex:outputText value=”{0,date,MM/dd/yyyy HH:mm }”>
<apex:param value=”{!accounthistory.createddate}” />
</apex:outputText>
</apex:column>
<apex:column>
<apex:facet name=”header”>Field</apex:facet>
<apex:facet name=”footer”></apex:facet>
<b> <apex:outputText value=”{!accounthistory.field}”/></b>
</apex:column>
<apex:column>
<apex:facet name=”header”>Edited By</apex:facet>
<apex:facet name=”footer”></apex:facet>
<apex:outputText value=”{!accounthistory.createdby.name}”/>
</apex:column>
<apex:column>
<apex:facet name=”header”>Old Value</apex:facet>
<apex:facet name=”footer”></apex:facet>
<apex:outputText value=”{!accounthistory.oldvalue}”/>
</apex:column>
<apex:column>
<apex:facet name=”header”>New Value</apex:facet>
<apex:facet name=”footer”></apex:facet>
<apex:outputText value=”{!accounthistory.newvalue}”/>
</apex:column>
</apex:dataTable>
</apex:tab>

Source : Salesforce Community