Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>基本貨幣數量</title>
- <script>
- window.onload = () => {
- const INPUT_IDS = [
- "maxLossPercent",
- "minOdds",
- "maxAmount",
- "lossCap",
- "openPrice"
- ], INPUTS = INPUT_IDS.reduce((inputs, id) => {
- inputs[id] = document.getElementById(id);
- inputs[id].onchange = () => onUpdateAdvisedAmount();
- return inputs;
- }, {}), { advisedAmount, advisedGainCap } = [
- "advisedAmount",
- "advisedGainCap"
- ].reduce((outputs, id) => {
- outputs[id] = document.getElementById(id);
- return outputs;
- }, {});
- const inputValue = id => INPUTS[id].value;
- const areValidInputs = () => INPUT_IDS.every(inputValue);
- const onUpdateAdvisedAmount = () => {
- if (areValidInputs()) updateAdvisedAmount();
- }, updateAdvisedAmount = () => {
- const {
- maxLossPercent,
- minOdds,
- maxAmount,
- lossCap,
- openPrice
- } = INPUT_IDS.reduce((values, id) => {
- values[id] = +inputValue(id);
- return values;
- }, {}), loss = lossCap - openPrice;
- const lossPercent = Math.abs(loss / openPrice * 100.0);
- const amountRatio = maxLossPercent / lossPercent;
- const rawAdvisedAmount = amountRatio * maxAmount;
- advisedAmount.value = Math.min(rawAdvisedAmount, maxAmount);
- advisedGainCap.value = openPrice - loss * minOdds;
- };
- INPUTS.maxLossPercent.value = "0.04";
- INPUTS.minOdds.value = "2";
- };
- </script>
- </head>
- <body>
- <text>最大止損%</text>
- <input id="maxLossPercent" type="text" />
- <text>最小盈虧比</text>
- <input id="minOdds" type="text" />
- <text>最大購買力</text>
- <input id="maxAmount" type="text" />
- <text>止損價</text>
- <input id="lossCap" type="text" />
- <text>開倉價</text>
- <input id="openPrice" type="text" />
- <br>
- <text><b><u>建議購買力</u></b></text>
- <input id="advisedAmount" readOnly=true type="text" />
- <text><b><u>建議止盈價</u></b></text>
- <input id="advisedGainCap" readOnly=true type="text" />
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement