Konuyu Oyla:
  • Toplam: 0 Oy - Ortalama: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Shell kabuk programlama ile ilgili yardım
#51
@oktay811 jobs -r arkaplanda çalışan işleri gösterir, | çıktıyı sonraki komuta aktarır, wc -l satırları sayar, -eq 0 eşittir sıfır demek
Ara
Cevapla
#52
@excel hocam şöyle birşey hazırladım:
Kod:
#!/bin/bash

for exchange_value in ${@}; do

{
#########    trend_ema    ##########

for var1 in 30s 1m 5m 10m 15m 30m 1h 4h
do
        for var2 in 1 5 10 15 20 30 52 60 100
        do
                for var3 in 0 auto
                do
                      ./zenbot.sh sim $REPLY --strategy=trend_ema --period=$var1 --min_periods=$var2 --trend_ema=$var2 --neutral_rate=$var3 --oversold_rsi_periods=$var2 --oversold_rsi=$var2 | profit_trend_ema=$(`egrep -l 'end balance: [0-9\.]+ \((-[^%]+|0.00)%\)' ./simulations/*.html`)
                    
                           {
                        for sim in `egrep -l 'end balance: [0-9\.]+ \((-[^%]+|0.00)%\)' ./simulations/*.html`; do
                        rm $sim
                        done

                        for i in ./simulations/*.html
                        do

        
                            echo "<article>"
                            echo "<header>"
                            echo "<b><h1>$i</b></h1> "
                            echo "<p> $(grep -i '"days":' $i) </p>"
                            echo "<p> $(grep -i '"mode":' $i) </p>"
                            echo "<p> $(grep -i '"period":' $i) </p>"
                            echo "<p> $(grep -i '"selector":' $i) </p>"
                            echo "<b> $(grep -i 'end balance:' $i) </b>"
                            echo "<p> $(grep -i 'buy hold' $i) </p>"
                            echo "<p> $(grep -i 'vs. buy hold' $i) </p>"
                            echo "<p> $(grep -i 'trades over' $i) </p>"
                            echo "<p> $(grep -i 'win/loss:' $i) </p>"
                            echo "<p> $(grep -i 'error rate:' $i) </p>"
                            echo "<p> used command:$profit_trend_ema </p>"
                            link2=$(curl --upload-file $i https://transfer.sh/$i & > upload.txt|  grep  -i '$i' upload.txt)
                            echo "<a href='http://$(ifconfig eth0 2>/dev/null|awk '/inet addr:/ {print $2}'|sed 's/addr://')/$i'>Link1</a>;"
                            echo "<a href='"$link2"'>Link2</a>;"
                            echo "<p>Results less than 5mb Link1, Link2 for 14 days upload date: $(date +%d/%m/%Y%t%H:%M:%S)</p>"
                            echo "</header>"
                            echo "</article>"


                            if [ "$(stat -c %s "$i")" -gt 5120 ];
                            then $(rm $i)

                            else $(mv $i /var/www/html/)
                            fi

                        done >> /var/www/html/index.html
                        }

                done
        done
done    


########## stddev     #########
.
.
.
done &
Madem aşağıya doğru sırayla gidecek her bir strateji için değerlendirme yapsın o zaman Big Grin
maksadım şu: Her var1,var2,var3 değerlerinin kombinasyonuyla değişen "./zenbot.sh sim $REPLY --strategy=trend_ema --period=$var1 --min_periods=$var2 --trend_ema=$var2 --neutral_rate=$var3 --oversold_rsi_periods=$var2 --oversold_rsi=$var2" komutu sistemde yürütülecek hemen ardındaki " | profit_trend_ema=$(`egrep -l 'end balance: [0-9\.]+ \((-[^%]+|0.00)%\)' ./simulations/*.html`)" komutun sonucun + veya - olduğunu değerlendirecek ve profit_trend_ema ile sonuca echo ile onu ekletecem, iki {} arasındaki işlemlerde zaten yaptığımız kodlar değerlendirmeye alacak ve html.index içine sırasıyla tek tek altına altına yazacak Smile kod bu işlemi yaptıkdan sonrada tekrar aynı yerde dönüp kombinasyonun diğer değerleriyle aynı işlemi yapıp sonraki stratejiye geçecek.
Herbir stratejiye böyle yazacağım. Yanlız merak ettiğim "./zenbot.sh....." komutu çalıştırılıp işlemi bittikten sonra ardındaki " | profit... komutu işe yara mı? Bide bu yazdığım kod gerçektende çalışır mı? Big Grin

yada şey mi yapsam ">" ile komutu bir yazdırıp eğer karlı ise "cat" ile komutu ordan çeksem mi?
Ara
Cevapla
#53
zenbot.sh oluşturduğu dosyaların ismini terminale mi yazıyor ?
Ara
Cevapla
#54
evet direk "./zenbot.sh....." diye komut girilmesi gerekiyor

pardon soruyu yanlış anladım, evet her testin sonunda "end balance: " felan yazıyor.
Ara
Cevapla
#55
çıktıyı falan görmem lazım başka türlü ne desem boş. asciinemayla bi tane zenbot.sh örneği kaydedip atar mısın ? asciinema rec zenbot.json yazıp zenbotu çalıştır bitince ctrl+d yap asciinema upload zenbot.json yaz şöyle( https://asciinema.org/a/nPE2o9RZhd16Q21JjgwEJaDuM ) bi link verir onu bana at
Ara
Cevapla
#56
Böyle bir hata verdi
Kod:
root@ubuntu-512mb-fra1-01:~# asciinema rec zenbot.json
asciinema: Too many arguments. See 'asciinema --help'.
root@ubuntu-512mb-fra1-01:~#
Ara
Cevapla
#57
sadece asciinema yaz enterla o zaman
Ara
Cevapla
#58
@excel hocam Video şeklinde
https://youtu.be/84qzLnKhAbU
Ara
Cevapla
#59
tamamdır. zenbotun oluşturduğu dosyanın adını öyle alamazsın ama işte, kendisi çıktının sonunda veriyo ama ondan öncekileri okuyup da en son satırı almak hiç pratik değil
Ara
Cevapla
#60
Yani aslında ekrana enson gelen şeylere göre yapılırmı bilmiyorum, nodejs ve mongodb programlarını kullanıyor bu bot. Ama benim son yazdığım şekilde olabilir mi? Scriptten gelen "./zenbot.sh sim ....." komutunu çalıştırsın ve .txt dosyasına kaydetsin, eğer karlı ise cat ile çekip echo ile sonuca eklerim.
Bunu nasıl yaparım bilmiyorum Smile

Bide hocam en son scriptte değerlendirme kısmını strateji kombinasyonu içine gömdümya o şekilde olur demi? For ile başlayıp içine while yada wile ile başlayı araya for veya diğerleri if-else felan kullanılır değil mi?
Ara
Cevapla

{lang: 'en'}


Hızlı Menü:


Konuyu Okuyanlar:
Change Theme