Функцию расчёта размера лота я строю таким образом, что неверный лот (ноль) она выдаст только в случае не хватки денег. В остальных случаях лот нормализуется и загоняется в рамки между минимальным и максимальным размерами. Если денег не хватает, то надо ждать, когда закроется какая-нибудь позиция.
もちろん、ブロックはしませんが。私なら、エラーをスルーして、どうするか決めていました。
この時点でブロックしてしまうと、このEAによるオープンポジションが残ってしまう可能性があり、大変なことになります。
これで、長いポーズについての自分の疑問が解けましたね。シグナルを待ってポジションを建てたり、注文を出したりするために行われるものです。
Vasilyさん、今回も私を見事に迷わせてくれてありがとうございました。あわててコード修正しそうになった...。そして、私の道を戻してくれたことに、改めて感謝します :-)
:-) これで、長いポーズについての自分の疑問が解けましたね。これは、ポジションを開く、または注文を設定するためのシグナルを待つために行わ れます。
Vasilyさん、今回も私を見事に迷わせてくれてありがとうございました。あわててコード修正しそうになった...。そして、私の道を戻してくれたことに、改めて感謝します :-)
正直なところ、その理屈は理解できない。
例えば、0.000001ロットで注文を出したとします。もちろん、サーバーから叩かれます。
ロット変更(関数外)の代わりに、一時停止をする。
このブレイクの結果、注文をセットするシグナルを失うかもしれませんが、待つのではなく、ロットを変更すべきです。
だからこそ、私はこの休止に納得がいかないのです。単純にこの関数を残して、エラーコードを上に渡して、そこで処理すればいいのです。
私のやり方で行けば、儲かるトレードを見逃さないかもしれませんよ。そして、損失も出るかもしれない :)
追記:不真面目な道を迷わせる :)
で、思ったのですが、ロット計算の関数を一度に呼んで(一番上には行かない)、エラーカウンタがオーバーフローした後に一番上に行く必要があります。
もちろん、すぐにこの関数を呼び出す必要がありますが、もしエラーが発生したら......!
トップへの出口 関数SetOrderを終了しなければならない状況を呼び出します。
私はおおよそ次のように考えています。
int ticket = SetOrder(......)。
if (ticket > 0) {
// 全てOK} else {
// ロジックエラーの修正
}
int SetOrder(...) // チケットかエラー番号のみを負符号付きで返します。
{
int ticket = OrderSend(...)です。
if (チケット < 0) {
// セット順の誤りを修正する
}
}
ですから、ロジックのエラーと順番の設定のエラーは区別する必要があると思います。今日は、その実装例を紹介できればと思います。
正直なところ、その理屈は理解できない。
ロットサイズ計算機能は、資金が足りない場合のみ不正なロット(ゼロ)を返すように作りました。また、ロットが正規化され、最小サイズと最大サイズの間の限界値で駆動する場合もあります。資金が足りなければ、どこかのポジションがクローズするのを待つしかない。
0.000001ロットをご注文の場合。サーバーはきっと私たちに平手打ちをしてくれたのでしょう。
なぜ、そんなことをしたのか?なぜ、わざわざ間違った敷地面積を通したのか?どうしてこのような行動を正当化できるのでしょうか。
単純にこの関数を残して、エラーコードを上に渡して、そこで処理すればいいのです。
ただ、あなたの関数はライブラリ関数、つまり普遍的なものなので、すべてのエラーを2つのカテゴリーに分けるべきだと思うのです。
Функцию расчёта размера лота я строю таким образом, что неверный лот (ноль) она выдаст только в случае не хватки денег. В остальных случаях лот нормализуется и загоняется в рамки между минимальным и максимальным размерами. Если денег не хватает, то надо ждать, когда закроется какая-нибудь позиция.
に出してしまいます。
エラーチェックブロック
それが、私の考えるこのケースのイメージです :)上にも書きましたが、今日は実装の例を挙げたいと思います。
私なりのファッション。
私バージョンのMODです。
TheXpert 様、あなたのコードはとてもコンパクトに見えます。もちろん、それは大きなプラス要素です。>> ありがとうございました。
この機能を使用したExpert Advisorを添付します。AI Expert Advisorをベースに使っています。
時間的に機能を確認する余裕がない。つまり、8分後に再度信号を確認する必要があると思います。
トレードサーバーのエラー発生を追加し、機能の詳細な動作確認とエラー検出を可能にしました。
errTest - 生成されるエラーのシーケンス,エラーなし 0.これはランダムな配列であり、そこにキャッチは存在しない。
ご批判をお待ちしています :)
約束通り、私のバージョンの機能を掲載します。
添付ファイルには、この機能を使用したEAが含まれています。AI Expert Advisorをベースにしています。
時間的に機能がどう動くか確認する余裕がない。つまり、8分経過後に再度信号を確認する必要があると思います。
トレードサーバーのエラー発生を追加し、機能の動作確認とエラー検出ができるようにしました。
errTest - 生成されるエラーのシーケンス,エラーなし 0.これはランダムな配列であり、そこにキャッチは存在しない。
批判を待っています :)
機能はどうでもよくて、一つ言えるのは :) オリジナリティがなく、相変わらずということです :)-- 過大な負荷がかかりすぎている。
その結果、Expert Advisorは32KBのすっきりとしたコードになり、いじる気にならなくなりました。
コードに疑問がある。
1.Expert Advisor を無効にすると、再起動するまで再び動作しなくなります。比較的長い時間待たせるのはいかがなものか。
2.ニューラルネットワークは、まずフラットの信号を出力することはありません。次に、閾値がないのにどうやって最適化するのでしょうか? 閾値がないと、すでに低い効率(リニアですが)の80%を殺してしまうことになります。
SZZH:気を悪くしないでください、私はこのスレッドで評論家として副業しているのです :) .