// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ZenAndTheArtOfTrading
// @version=4
study("PSMC - Hammer & Shooting Stars", overlay=true)
// Get user input
fibLevel = input(title="Fib Level", type=input.float, defval=0.333)
colorFilter = input(title="Color Must Match", type=input.bool, defval=false)
// Calculate fibonacci level for current candle
bullFib = (low - high) * fibLevel + high
bearFib = (high - low) * fibLevel + low
// Determine which price source closes or opens highest/lowest
lowestBody = close < open ? close : open
highestBody = close > open ? close : open
// Determine if we have a valid hammer or shooting star
hammerCandle = lowestBody >= bullFib and (not colorFilter or close > open)
starCandle = highestBody <= bearFib and (not colorFilter or close < open)
// Plot the signals to the chart
plotshape(hammerCandle, style=shape.arrowup, location=location.belowbar, color=color.green)
plotshape(starCandle, style=shape.arrowdown, location=location.abovebar, color=color.red)
// Trigger alerts
alertcondition(hammerCandle or starCandle, title="Hammer or Shooting Star Alert", message="{{ticker}}")
2021年1月25日 星期一
TradingView 找出K線的錘頭線及射擊之星
2021年1月21日 星期四
redis master slave failover
Redis master slave模式的只有二台server下 fail over作法
1. 指定一台redis server為
master,另一台為slave
2. 在slave server設定crontab執行以下shell script
3.
執行邏輯是
a. 當master,及slave都回PONG,那就設定master server為master, slave server為slave
b. 當只有slave回PONG,那就將slave server改為master, 並將hosts 的 lan.redis IP改為slave IP
c. 當只有master回PONG, 將hosts 的lan.redis IP改為master
d. 都連不上..., email通知?
也就 master reids修復後,就符合條件 a或 c;
master
redis faile時,則符合條件 b 條件d,
沒有可服務的redis, 需通知維運人員來處理。
slave=$(/usr/bin/docker exec -i redis_cli bash -c "redis-cli -h 172.20.0.6 ping" | cut -c 1-4)
master=$(/usr/bin/docker exec -i redis_cli bash -c "redis-cli -h 10.123.123.20 ping" | cut -c 1-4)
echo "Master=$master"
echo "slave="${slave}
if [ "${master}" == "PONG" ] && [ "${slave}" == "PONG" ]; then
slave_role=$(/usr/bin/docker exec -i redis_cli redis-cli -h 172.20.0.6 info replication | grep role | cut -c 6-10)
if [ "${slave_role}" == "maste" ]; then
master_role=$(/usr/bin/docker exec -i redis_cli redis-cli -h 10.123.123.20 info replication | grep role)
slave_role=$(/usr/bin/docker exec -i redis_cli redis-cli -h 172.20.0.6 info replication | grep role | cut -c 6-10)
echo "master_role(10.123.123.20): "${master_role}
echo "slave_role(10.123.123.11):"$savle_role
#10.123.123.11為slave, 10.123.123.20為master
/usr/bin/docker exec -i redis_cli redis-cli -h 172.20.0.6 slaveof 10.123.123.20 6379
/usr/bin/docker exec -i redis_cli redis-cli -h 10.123.123.20 slaveof no one
#lan.redis 為 10.123.123.20
sed -i 's/172.20.0.6/10.123.123.20/g' /home/docker/nginx-dev/vol/auth_api_dev/etc/hosts
fi
elif [ "${master}" != "PONG" ] && [ "${slave}" == "PONG" ]; then
#master 10.123.123.20連不上去,改至 10.123.123.11為 master
/usr/bin/docker exec -i redis_cli redis-cli -h 172.20.0.6 slaveof no one
#lan.redis 為 10.123.123.11
sed -i 's/10.123.123.20/172.20.0.6/g' /home/docker/nginx-dev/vol/auth_api_dev/etc/hosts
echo "遠端 10.123.123.20 redis連不上,改連 10.123.123.11(172.20.0.6) redis"
elif [ "${master}" == "PONG" ] && [ "${slave}" != "PONG" ]; then
#10.123.123.20為 master
/usr/bin/docker exec -i redis_cli redis-cli -h 10.123.123.20 slaveof no one
#lan.redis 為 10.123.123.20
sed -i 's/172.20.0.6/10.123.123.20/g' /home/docker/nginx-dev/vol/auth_api_dev/etc/hosts
echo "本機 10.123.123.11(172.20.0.6) redis連不上,改連master 10.123.123.20 redis"
else
echo "10.123.123.20 and 10.123.123.11的 redis都連不上"
fi
2021年1月20日 星期三
kong gateway api
curl -i -X POST http://172.27.0.4:8001/services \ --data name=backend \ --data url='https://uon4wsbc.strangled.net' curl -i -X POST http://172.27.0.4:8001/services/backend/routes \ --data 'paths[]=/v1' \ --data name=backend http://localhost:8000/v1/monitor/healthcheck
2021年1月19日 星期二
Ubuntu 18.04 透過 netplan 設定網路卡 IP
cd /etc/netplan vi 01-network-manager-all.yaml
# This file is generated from information provided by
# the datasource. Changes to it will not persist across an instance.
# To disable cloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
version: 2
ethernets:
eth0:
dhcp4: yes
nameservers:
addresses: [8.8.8.8,8.8.4.4]
sudo netplan try
訂閱:
意見 (Atom)