> # A generator statement creates a generator factory. The
> # following generator yields two times and then returns `"c"`:
> generate_abc <- generator(function() {
+ yield("a")
+ yield("b")
+ "c"
+ })
>
> # Or equivalently:
> generate_abc <- generator(function() {
+ for (x in letters[1:3]) {
+ yield(x)
+ }
+ })
>
> # The factory creates generator instances. They are iterators
> # that you can call successively to obtain new values:
> abc <- generate_abc()
> abc()
[1] "a"
> abc()
[1] "b"
>
> # Once a generator has returned it keeps returning `exhausted()`.
> # This signals to its caller that new values can no longer be
> # produced. The generator is exhausted:
> abc()
[1] "c"
> abc()
exhausted
>
> # You can only exhaust a generator once but you can always create
> # new ones from a factory:
> abc <- generate_abc()
> abc()
[1] "a"
>
>
> # As generators implement the coro iteration protocol, you can use
> # coro tools like `loop()`. It makes it possible to loop over
> # iterators with `for` expressions:
> loop(for (x in abc) print(x))
[1] "b"
[1] "c"
>
> # To gather values of an iterator in a list, use `collect()`. Pass
> # the `n` argument to collect that number of elements from a
> # generator:
> abc <- generate_abc()
> collect(abc, 1)
[[1]]
[1] "a"
>
> # Or drain all remaining elements:
> collect(abc)
[[1]]
[1] "b"
[[2]]
[1] "c"
>
>
> # coro provides a short syntax `gen()` for creating one-off
> # generator _instances_. It is handy to adapt existing iterators:
> numbers <- 1:10
> odds <- gen(for (x in numbers) if (x %% 2 != 0) yield(x))
> squares <- gen(for (x in odds) yield(x^2))
> greetings <- gen(for (x in squares) yield(paste("Hey", x)))
>
> collect(greetings)
[[1]]
[1] "Hey 1"
[[2]]
[1] "Hey 9"
[[3]]
[1] "Hey 25"
[[4]]
[1] "Hey 49"
[[5]]
[1] "Hey 81"
>
>
> # Arguments passed to generator instances are returned from the
> # `yield()` statement on reentry:
> new_tally <- generator(function() {
+ count <- 0
+ while (TRUE) {
+ i <- yield(count)
+ count <- count + i
+ }
+ })
> tally <- new_tally()
> tally(1)
[1] 0
> tally(2)
[1] 2
> tally(10)
[1] 12
偶然にも、私を驚かせる文章が書かれた記事を読みました。予測子、応答、残差:本当に正規分布にする必要が あるのは何か?
線形回帰についての文章は、著者が理論家/数学者に不慣れな人であることがわかる。LRの標準的な仮定 - 入力は決定論的(例えば時間モーメント)、出力分布はノイズ分布に依存する(そして各出力は入力に依存してその期待値を持ち、他とは異なる)。
もう1つのバリエーション - 入力と出力がある共同分布から取られる場合,線形回帰モデルの適用条件はさらに厳しくなる - JUNICIPAL(2変量,少なくとも)分布は,正規分布でなければならない.この前提がなければ、MOCは忘れてもいい。
偶然にも,驚くべき内容の記事を読みました。予測子,応答,残差:本当に正規分布にする必要が あるのは何か?
少し引用します。
"統計解析における変数の正規性・非正規性については、多くの科学者が関心を寄せています。 以下のような見解や類似の見解がしばしば表明され、発表されたり、教えられたりしています。
ネットワークはデータの正規化、正規分布が必要で、いろいろと調整が必要なため、ツリー型に切り替えました。データをそのまま記憶してくれる。
そして、ニューラルネットワークやツリーに基づくデータベースとしてAIの名前(庶民のための記事の一つで)の後、1つのセル(リスト)に複数の非常に似た行を格納することができますデータベース、すなわち同時にと要約として正確にそれらを扱うようになった。最後の例までツリーを分割すると、セルには汎化されずに同じ行だけが含まれる、つまり純粋なデータベースが出来上がります。やはり一般化する必要があるので、葉の分割を早めにやめてしまうのです。
プリントではなく、ジェネレータとイテレータの話です。
Vladimirさん、#23667の 説明をお願いします。
もし、このパッケージが私のコードを変更することなく高速化してくれるなら、私にとって非常に興味深いことです。
Vladimirさん、#23667について 解説をお願いします。
もし、このパッケージが私のコードを変更することなく高速化してくれるなら、私にとって非常に興味深いことです。
パッケージにはたくさんのサンプルがあります。見つからないのか?参照
ジェネレータやイテレータのこと ではありません。
そうなんですか?))
今後、MOを使ったペアトレードの 記事を新たに掲載されるのでしょうか?
今後、MOを使ったペアトレードの 記事を新たに掲載されるのでしょうか?
そう、まだ時間がないのです。記事は、企画を考え、プログラムを組むのに多くの時間がかかります。
そう、まだ時間がないのです。記事は、その企画を考え抜くのに多くの時間を要し、次にプログラミングをする
このストラテジーに従って、Pythonで直接注文を開くスクリプトを追加できるかどうかわかりません。
その上で、このストラテジーを使ってPythonで直接注文を出すスクリプトを記事に追加していただけませんか?
はい、できます。しかし、Expert Advisorとしてより便利です。
はい、できます。でも、アドバイザーとしてはその方が都合がいいんですよね。