# SAMPLE FPP PARAMETER FILE #
# $Id: fpp-sample.txt,v 1.5 2006/12/12 05:56:48 crabbe Exp $

### Experiment Scope Parameters ###
exp.id=50
numOfMatches=5

#### Generic Match Scope Parameters ####
match.0.type=Fpp
match.0.groupSize=2
match.0.maxRounds=2
match.0.exchangeRate=.40

# show total payoff on the history panel[true|false]
match.0.showTotalPayoff=true

#[totalrandom|random|zipper|rr|continue|fixed|RiskAversion]
match.0.matching=totalrandom

# show the match ending display dialog [true|false}
match.0.displayFinishedInfo=true

# History panel display mode [full|tabbed]
match.0.defaultView=tabbed

# Whether to allow user switch history panel display modes [true|false]
match.0.viewSwitchable=true

match.0.practice=false

############## Market Parameters ###########
# The allowable values for a bid
match.0.minBid=1
match.0.maxBid=10000

# The number of trades which are allowed before forcing the voting round to start
match.0.maxTrades=300

# The amount of time that a single round of the market stage lasts
match.0.timeLimit=30

# The maximum amount of time that the market will stay open with no action, 
#   after this amount of time passes with no bids or sells, the market will close and voting will begin
match.0.maxInaction=60

# the number of markets
match.0.numMarkets=1

# the names of the markets, appears on the GUI
match.0.market.0.name=Market A

# whether buy bids can be placed on a particular market, for each player in the group in order
#   (should be a comma-delimited list of 'true' or 'false' values, with a length equal to the group size)
match.0.market.0.allowBidding=true, true, true

# whether sell offers can be placed on a particular market for each player in the group in order
match.0.market.0.allowOffers=true, true, true


# whether or not to keep shallow books [true|false]
#    true - then the books are shallow - there is only one bid or sell offer kept in them,
#             when a new one is made, the old one is discarded.
#    false - the books are deep - with old offers being kept in a stack to become current when
#             transactions occur
match.0.shallowBooks=false

# whether or not to cancel all outstanding market orders between rounds
# [true|false]
#   true - cancel all outstanding bids and offers between rounds
#   false - all outstanding bids and offers are left open between rounds
match.0.cancelBidsBetweenRounds=true

# whether or not to *clear* the markets between rounds - can only be used when
#  cancelBidsBetweenRounds is true - actually erases the market panels so that new blank
#  ones are shown at the start of a new round
# [true|false]
#   true - clear the market panels so each round starts with a clean slate
#   false - keep the previous rounds' orders on the market panels when the new round starts
match.0.clearMarketPanels=false

# the cash holdings amount below which players aren't allowed to make buy bids or accept offers
match.0.cashThreshold=0

# parameters for the graphs
match.0.gui.market.0.graphTitle=Market A
match.0.gui.market.0.historyTitle=Market A History
match.0.gui.graphDomainLabel=Elapsed Time (s)
match.0.gui.graphRangeLabel=Price

##########  TRADER TYPES parameters ##########

# the number of different trader types being defined
match.0.numTraderTypes=3

# market.m.type.t.dividends=a,b,c
#    the dividend per unit of the good in market number m for players with type t is:
#       a in period (round) 0
#       b in period (round) 1
#       c in period (round) 2
# note that the comma-separated list should contain maxRounds different entries
match.0.market.0.type.0.dividends=300,50
match.0.market.0.type.1.dividends=50,300
match.0.market.0.type.2.dividends=150,250

# market.m.type.t.initialHoldings=a,b,c
#    the number of units of the asset for market number m for players with type t is:
#       a in period (round) 0
#       b in period (round) 1
#       c in period (round) 2
# note that the comma-separated list should contain maxRounds different entries
match.0.market.0.type.0.initialHoldings=2,0
match.0.market.0.type.1.initialHoldings=2,0
match.0.market.0.type.2.initialHoldings=2,0

# one integer for each trader, denoting which trader type (defined above) each player is
match.0.traderTypes=2,0,1

#########  FPP specific loan parameters ##############

# the amount of cash given to players at the start of a match
#   NOTE: if this is a negative number, cash will be taken away...
match.0.cashInfusion=10000

# the amount of cash TAKEN AWAY from players at the END of the match
#   NOTE:  if this is a negative number, cash will be GIVEN to players...
match.0.cashDrainage=10000

# [true|false] - whether to show an introductory screen before the market stage
match.0.showIntroMessage=false


############## Display Parameters ##################
# Label which appears at the top of the leftmost column of the GUI
match.0.gui.leftColumnLabel=<html><p><b>Match %match%</b></p></html>

match.0.gui.initialTopLabel=An introductory message could go here...
match.0.gui.broadcastOKButtonLabel=OK
match.0.gui.dividendLabel=<html><u>Dividends:</u><br>Period A:  %dividend.0%<br>Period B: %dividend.1%</html>

match.0.gui.marketTitle.round.0=Period A
match.0.gui.marketTitle.round.1=Period B

# Label which appears at the top of the Left column of each market's log panel
match.0.gui.buyerHeader=Buyer ID
# Label which appears at the top of the Bid column of each market's log panel
match.0.gui.bidPriceLabel=Bid Price
match.0.gui.offerPriceLabel=Offer Price
#Label which appears at the top of the Right column of each market's log panel
match.0.gui.sellerHeader=Seller ID
# Label which appears on the button used to accept a bid
match.0.gui.acceptBidButtonLabel=Sell at Current Bid: %currBid%
# Label which appears on the button used to accept an offer
match.0.gui.acceptOfferButtonLabel=Buy at Current Offer: %currOffer%
# Label which appears on the button used to place a bid
match.0.gui.bidButtonLabel=Bid
# Label which appears on the button used to place a Sell Offer
match.0.gui.offerButtonLabel=Offer
# Label which appears on the button used to cancel all orders on the current market
match.0.gui.cancelAllButtonLabel=Cancel All

# Labels which appear for each market can use the following:
# %marketNum% - the number (one-indexed) of a particular market

# Label which displays the market number for a particular market
match.0.gui.numLabelText=<html><center><font color=\"blue\" size=\"5\">%marketName%</font></html>
# Label which displays the asset holdings for a particular market
match.0.gui.marketHoldingsText=<html>Holdings: %holdings%</html>

# label which display's a subject's cash holdings
match.0.gui.cashLabel=<html>Cash Holdings: <font color="green">%cashHoldings% </font></html>
# message which appears when the player's cash holdings are below their cash constraint
match.0.gui.cannotTradeLabel=<html>Cash Holdings: <font color="red">%cashHoldings%.  You can't bid until your holdings are above %cashThreshold%.

#  market error message properties
# The error shown when a subject enters something which can't be interpreted as a number (for a bid)
match.0.gui.invalidBidError=Please Enter a Valid Bid
# The error shown when if a player tries to bid while their cash holdings are below the amount set in cashThreshold above
match.0.gui.cashThresholdError=You aren't allowed to bid when your cash holdings are below %cashThreshold%.
# The error shown when people are trying to place a (buy) bid lower than the active buy bid
match.0.gui.bidLowError=You must bid higher than the outstanding bid.
# The error shown when people are trying to bid higher than the maximum allowed bid
match.0.gui.bidTooHighError=The maximum allowable bid is %maxBid%.
# The error shown when someone is already the low seller and tries to make a bid
match.0.gui.alreadyLowSellerError=You're already the low seller, you can't also be the high bidder.
# The error shown when someone tries to bid higher than the current sell offer
match.0.gui.bidHigherThanCurrentSellOfferError=You must bid lower than the current sell offer
# The error shown when someone tries to accept their own sell offer
match.0.gui.selfOfferError=You cannot accept your own offer.
# The text which appears when a player wants to cancel an order
match.0.gui.orderCancelConfirmation=Would you like to cancel this order?

# The error which is shown when someone tries to place a (sell) order lower than the previous sell orders (UNUSED HERE)
match.0.gui.bidHighError=You must offer to sell higher than the current buy bid.
# The error which is shown when someone tries to accept their own buy bid
match.0.gui.selfBidError=You cannot accept your own bid.
# The error shown if someone tries sell  on a market on which they have no votes to sell
match.0.gui.notEnoughVotesError=You don't have any votes to sell.
# The error shown when a subject enters something which can't be interpreted as a number (For an offer)
match.0.gui.invalidOfferError=Please Enter a Valid Offer
# The error shown when a subject tries to make a Sell Offer higher than the active sell offer
match.0.gui.offerHighError=You must make an offer lower than the outstanding offer.
# The error shown when a subject tries to make a Sell offer  lower than the minimum allowed bid
match.0.gui.offerTooLowError=The minimum allowable offer is %minBid%.
# The error shown when a subject tries to make an offer higher than the maximum allowed offer
match.0.gui.offerTooHighError=The maximum allowable offer is %maxBid%.
# The error shown when a subject tries to make a sell offer when he's already the high bidder.
match.0.gui.alreadyHighBidderError=You're already the high bidder.  You can't be the high bidder and the low seller at once.
# The error shown when a player makes a bid but it is rejected
server-side (someone has outbid them in the time it takes the message
to arrive)
match.0.gui.rejectedBidError=Your bid at price %price% wasn't accepted
because you have been outbid.
# The error shown when a player makes an offer but it is rejected server-side
match.0.gui.rejectedOfferError=Your offer at price %price% wasn't accepted
accepted because someone has made a lower offer.


# History Panel Properties
match.0.showRound=true
match.0.roundHLabel=Round
match.0.showInitCashHoldings=true
match.0.initCashHoldingsHLabel=Initial Cash Holdings
match.0.showInitHoldings=true
match.0.initHoldingsHLabel=Initial Holdings
match.0.showHoldingsAfter=true
match.0.holdingsAfterHLabel=Holdings after Trading
match.0.showProfit=true
match.0.profitHLabel=Profit
match.0.showDividend=true
match.0.dividendHLabel=Dividend
match.0.showTotalEarnings=true
match.0.totalEarningsHLabel=Total Earnings
match.0.showPayoff=false
match.0.payoffHLabel=Payoff


match.1.practice=true
match.0.repetitions=50