<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>wincloud</title>
        <link>https://paragraph.com/@wincloud</link>
        <description>code and trade, we win cloud</description>
        <lastBuildDate>Thu, 21 May 2026 17:42:29 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <copyright>All rights reserved</copyright>
        <item>
            <title><![CDATA[eth 2023-4-5开仓分析]]></title>
            <link>https://paragraph.com/@wincloud/eth-2023-4-5</link>
            <guid>NoKcgmMt65Phyp7u6g1g</guid>
            <pubDate>Wed, 05 Apr 2023 14:51:30 GMT</pubDate>
            <content:encoded><![CDATA[<figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/ea6295d79476a2a595b4e0f3799a3be345fd701f964267524b01ae4fd76d8b2b.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure>]]></content:encoded>
            <author>wincloud@newsletter.paragraph.com (wincloud)</author>
        </item>
        <item>
            <title><![CDATA[eth 2023-4-5 10:14:20交易分析]]></title>
            <link>https://paragraph.com/@wincloud/eth-2023-4-5-10-14-20</link>
            <guid>FCrnaGVwhYJQNVELfeYU</guid>
            <pubDate>Wed, 05 Apr 2023 02:16:09 GMT</pubDate>
            <description><![CDATA[短线交易分析1888 已经入场了]]></description>
            <content:encoded><![CDATA[<p>短线交易分析</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/c4c5c90e839afd64ef22d1e3926fa7585ed5604b959845439c453b054369acdd.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>1888 已经入场了</p>]]></content:encoded>
            <author>wincloud@newsletter.paragraph.com (wincloud)</author>
        </item>
        <item>
            <title><![CDATA[conda install mamba]]></title>
            <link>https://paragraph.com/@wincloud/conda-install-mamba</link>
            <guid>aEYgVwBEMg6MJQBphoXh</guid>
            <pubDate>Tue, 04 Apr 2023 02:30:40 GMT</pubDate>
            <description><![CDATA[conda install -c conda-forge mamba]]></description>
            <content:encoded><![CDATA[<pre data-type="codeBlock" text="conda install -c conda-forge mamba
"><code>conda install <span class="hljs-operator">-</span>c conda<span class="hljs-operator">-</span>forge mamba
</code></pre>]]></content:encoded>
            <author>wincloud@newsletter.paragraph.com (wincloud)</author>
        </item>
        <item>
            <title><![CDATA[eth 2023-4-3]]></title>
            <link>https://paragraph.com/@wincloud/eth-2023-4-3</link>
            <guid>icAXCdsa96O9An1FKaec</guid>
            <pubDate>Mon, 03 Apr 2023 15:41:47 GMT</pubDate>
            <description><![CDATA[静静等待着两个机会]]></description>
            <content:encoded><![CDATA[<figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/6944dc2b4ef677a44abc3b9ff72b90ba7c2342ad244a4632761435966c6dcb86.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>静静等待着两个机会</p>]]></content:encoded>
            <author>wincloud@newsletter.paragraph.com (wincloud)</author>
        </item>
        <item>
            <title><![CDATA[java Date get real year]]></title>
            <link>https://paragraph.com/@wincloud/java-date-get-real-year</link>
            <guid>C82rHqHKYrKU52ikjlFT</guid>
            <pubDate>Mon, 03 Apr 2023 15:41:21 GMT</pubDate>
            <description><![CDATA[val date = Date(2021-1900,3,5) val instance = Calendar.getInstance() instance.time = date println(instance.get(Calendar.YEAR))]]></description>
            <content:encoded><![CDATA[<pre data-type="codeBlock" text="val date    = Date(2021-1900,3,5)
val instance = Calendar.getInstance()
instance.time = date
println(instance.get(Calendar.YEAR))
"><code>val date    <span class="hljs-operator">=</span> Date(<span class="hljs-number">2021</span><span class="hljs-number">-1900</span>,<span class="hljs-number">3</span>,<span class="hljs-number">5</span>)
val instance <span class="hljs-operator">=</span> Calendar.getInstance()
instance.time <span class="hljs-operator">=</span> date
println(instance.get(Calendar.YEAR))
</code></pre>]]></content:encoded>
            <author>wincloud@newsletter.paragraph.com (wincloud)</author>
        </item>
        <item>
            <title><![CDATA[kotlin create a map with data init]]></title>
            <link>https://paragraph.com/@wincloud/kotlin-create-a-map-with-data-init</link>
            <guid>a5Rf5EoIoHAiXJrLxtNM</guid>
            <pubDate>Mon, 03 Apr 2023 15:40:42 GMT</pubDate>
            <description><![CDATA[val data = mutableMapOf&#x3C;String,String>( "username" to "王菲", "age" to "18" ) 如果这里面还希望加上if else 是否可以呢，可以的val age = "18" val data = mutableMapOf&#x3C;String, Any>( "username" to "王菲", "age" to age.toInt(), "adult" to if (age.toInt() >= 18) { "成年人" } else { "未成年人" } )]]></description>
            <content:encoded><![CDATA[<pre data-type="codeBlock" text="val data = mutableMapOf&lt;String,String&gt;(
    &quot;username&quot; to &quot;王菲&quot;,
    &quot;age&quot; to &quot;18&quot;
)
"><code>val data = mutableMapOf&#x3C;<span class="hljs-type">String</span>,<span class="hljs-type">String</span>>(
    <span class="hljs-string">"username"</span> <span class="hljs-keyword">to</span> <span class="hljs-string">"王菲"</span>,
    <span class="hljs-string">"age"</span> <span class="hljs-keyword">to</span> <span class="hljs-string">"18"</span>
)
</code></pre><p>如果这里面还希望加上if else 是否可以呢，可以的</p><pre data-type="codeBlock" text="val age = &quot;18&quot;
val data = mutableMapOf&lt;String, Any&gt;(
    &quot;username&quot; to &quot;王菲&quot;,
    &quot;age&quot; to age.toInt(),
    &quot;adult&quot; to if (age.toInt() &gt;= 18) {
        &quot;成年人&quot;
    } else {
        &quot;未成年人&quot;
    }
)
"><code>val age <span class="hljs-operator">=</span> <span class="hljs-string">"18"</span>
val data <span class="hljs-operator">=</span> mutableMapOf<span class="hljs-operator">&#x3C;</span>String, Any<span class="hljs-operator">></span>(
    <span class="hljs-string">"username"</span> to <span class="hljs-string">"王菲"</span>,
    <span class="hljs-string">"age"</span> to age.toInt(),
    <span class="hljs-string">"adult"</span> to <span class="hljs-keyword">if</span> (age.toInt() <span class="hljs-operator">></span><span class="hljs-operator">=</span> <span class="hljs-number">18</span>) {
        <span class="hljs-string">"成年人"</span>
    } <span class="hljs-keyword">else</span> {
        <span class="hljs-string">"未成年人"</span>
    }
)
</code></pre>]]></content:encoded>
            <author>wincloud@newsletter.paragraph.com (wincloud)</author>
        </item>
        <item>
            <title><![CDATA[git bash set a proxy]]></title>
            <link>https://paragraph.com/@wincloud/git-bash-set-a-proxy</link>
            <guid>dPsI7Z1VTl0wa2X78qpl</guid>
            <pubDate>Mon, 03 Apr 2023 08:35:50 GMT</pubDate>
            <description><![CDATA[git config --global http.proxy http://127.0.0.1:7890]]></description>
            <content:encoded><![CDATA[<pre data-type="codeBlock" text="git config --global http.proxy http://127.0.0.1:7890
"><code>git config <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-keyword">global</span> http.proxy http:<span class="hljs-comment">//127.0.0.1:7890</span>
</code></pre>]]></content:encoded>
            <author>wincloud@newsletter.paragraph.com (wincloud)</author>
        </item>
        <item>
            <title><![CDATA[kotlin得到一个对象如果为空则直接抛异常]]></title>
            <link>https://paragraph.com/@wincloud/kotlin-2</link>
            <guid>RpHzAgCcDuhIoP6xOOIJ</guid>
            <pubDate>Sat, 01 Apr 2023 03:40:59 GMT</pubDate>
            <description><![CDATA[val obj = Any() ?: throw RuntimeException("异常") 当然这里不会满足，Any()这部分一般是我们实际取获取对象的逻辑，实际编写代替即可，我们可以手动改成null测试一下val obj = null ?: throw RuntimeException("异常") 异常信息展示]]></description>
            <content:encoded><![CDATA[<pre data-type="codeBlock" text="val obj = Any() ?: throw RuntimeException(&quot;异常&quot;)
"><code>val obj = <span class="hljs-built_in">Any</span>() ?: throw <span class="hljs-built_in">RuntimeException</span>(<span class="hljs-string">"异常"</span>)
</code></pre><p>当然这里不会满足，Any()这部分一般是我们实际取获取对象的逻辑，实际编写代替即可，我们可以手动改成null测试一下</p><pre data-type="codeBlock" text="val obj = null ?: throw RuntimeException(&quot;异常&quot;)
"><code><span class="hljs-type">val</span> <span class="hljs-variable">obj</span> <span class="hljs-operator">=</span> <span class="hljs-literal">null</span> ?: <span class="hljs-keyword">throw</span> RuntimeException(<span class="hljs-string">"异常"</span>)
</code></pre><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/0d0a295cc46bfbf034955302cb7c19434c253e6e9ae75dbc568d9ceaf2015261.png" alt="异常信息展示" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">异常信息展示</figcaption></figure>]]></content:encoded>
            <author>wincloud@newsletter.paragraph.com (wincloud)</author>
        </item>
        <item>
            <title><![CDATA[kotlin 空不空执行分支]]></title>
            <link>https://paragraph.com/@wincloud/kotlin</link>
            <guid>avlsRleBXF1I8A8noyqK</guid>
            <pubDate>Sat, 01 Apr 2023 03:36:38 GMT</pubDate>
            <description><![CDATA[null?.let{ println("非空") }?:let { println("空") } ?.let 执行的是非空逻辑 ?:let执行的是空逻辑]]></description>
            <content:encoded><![CDATA[<pre data-type="codeBlock" text="null?.let{
    println(&quot;非空&quot;)
}?:let {
    println(&quot;空&quot;)
}
"><code><span class="hljs-literal">null</span>?.<span class="hljs-keyword">let</span>{
    println(<span class="hljs-string">"非空"</span>)
}?:<span class="hljs-keyword">let</span> {
    println(<span class="hljs-string">"空"</span>)
}
</code></pre><p>?.let 执行的是非空逻辑</p><p>?:let执行的是空逻辑</p>]]></content:encoded>
            <author>wincloud@newsletter.paragraph.com (wincloud)</author>
        </item>
        <item>
            <title><![CDATA[write a simple op class ]]></title>
            <link>https://paragraph.com/@wincloud/write-a-simple-op-class</link>
            <guid>3ySAg2uHwkKnZjMiXBOj</guid>
            <pubDate>Wed, 29 Mar 2023 07:42:18 GMT</pubDate>
            <description><![CDATA[test codeclass Op: def __init__(self): # 自身的数据，占好坑位 self.df = None self.s = '' self.i = '' self.side = '' def accept_data(self, df, side=''): """ 用于接收数据 :param df: :param side: 方向 LONG SHORT :return: """ self.df = df self.side = side k = df.iloc[-1] self.s = k['s'] self.i = k['i'] def verify(self): """ 是否验证通过， :return: """ return True def is_long(self): return self.side == 'LONG' def is_short(self): return self.side == 'short']]></description>
            <content:encoded><![CDATA[<p>test code</p><pre data-type="codeBlock" text="class Op:
    def __init__(self):
        # 自身的数据，占好坑位
        self.df = None
        self.s = &apos;&apos;
        self.i = &apos;&apos;
        self.side = &apos;&apos;

    def accept_data(self, df, side=&apos;&apos;):
        &quot;&quot;&quot;
        用于接收数据
        :param df:
        :param side: 方向 LONG SHORT
        :return:
        &quot;&quot;&quot;
        self.df = df
        self.side = side
        k = df.iloc[-1]
        self.s = k[&apos;s&apos;]
        self.i = k[&apos;i&apos;]

    def verify(self):
        &quot;&quot;&quot;
        是否验证通过，
        :return:
        &quot;&quot;&quot;
        return True

    def is_long(self):
        return self.side == &apos;LONG&apos;

    def is_short(self):
        return self.side == &apos;short&apos;
"><code>class Op:
    def __init__(<span class="hljs-built_in">self</span>):
        # 自身的数据，占好坑位
        <span class="hljs-built_in">self</span>.df <span class="hljs-operator">=</span> None
        <span class="hljs-built_in">self</span>.s <span class="hljs-operator">=</span> <span class="hljs-string">''</span>
        <span class="hljs-built_in">self</span>.i <span class="hljs-operator">=</span> <span class="hljs-string">''</span>
        <span class="hljs-built_in">self</span>.side <span class="hljs-operator">=</span> <span class="hljs-string">''</span>

    def accept_data(<span class="hljs-built_in">self</span>, df, side<span class="hljs-operator">=</span><span class="hljs-string">''</span>):
        <span class="hljs-string">""</span><span class="hljs-string">"
        用于接收数据
        :param df:
        :param side: 方向 LONG SHORT
        :return:
        "</span><span class="hljs-string">""</span>
        <span class="hljs-built_in">self</span>.df <span class="hljs-operator">=</span> df
        <span class="hljs-built_in">self</span>.side <span class="hljs-operator">=</span> side
        k <span class="hljs-operator">=</span> df.iloc[<span class="hljs-number">-1</span>]
        <span class="hljs-built_in">self</span>.s <span class="hljs-operator">=</span> k[<span class="hljs-string">'s'</span>]
        <span class="hljs-built_in">self</span>.i <span class="hljs-operator">=</span> k[<span class="hljs-string">'i'</span>]

    def verify(<span class="hljs-built_in">self</span>):
        <span class="hljs-string">""</span><span class="hljs-string">"
        是否验证通过，
        :return:
        "</span><span class="hljs-string">""</span>
        <span class="hljs-keyword">return</span> True

    def is_long(<span class="hljs-built_in">self</span>):
        <span class="hljs-keyword">return</span> <span class="hljs-built_in">self</span>.side <span class="hljs-operator">=</span><span class="hljs-operator">=</span> <span class="hljs-string">'LONG'</span>

    def is_short(<span class="hljs-built_in">self</span>):
        <span class="hljs-keyword">return</span> <span class="hljs-built_in">self</span>.side <span class="hljs-operator">=</span><span class="hljs-operator">=</span> <span class="hljs-string">'short'</span>
</code></pre>]]></content:encoded>
            <author>wincloud@newsletter.paragraph.com (wincloud)</author>
        </item>
    </channel>
</rss>