[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 121

 
Vinin >> :

ストキャスティクスとシグナルラインの値を先に計算した方が良い。そして、それらを比較する。ただ、このスタイルは好きではありません。その結果、ある種の盲点になってしまうのです。そして、ミスをしやすくなります。

メタクォートのバリアントの If() は、論理式の完全な計算を行います。なるべくシンプルにするのが望ましいでしょう。それは、if()が最も遅い操作の一つであることだけです。

また、ゼロバーの「チャタリング」という概念もあります。また、1つの小節に複数回信号が繰り返される場合もあります。また、ロックに失敗することもあります。誤信号だったのだ。そのため、形成されたバーから値を取るようにしています。しかし、この場合は始値を使うべきでしょう。ただし、他のバリエーションがある可能性もあります。

ゼロバーの "チャタリング "はクリアしていますが、それとは別の問題です。

if操作の「遅さ」、ありがとうございます!勉強になりました。

そのため、例えば、以下のような変数を作成するとよいでしょう。

x=iStochastic(Symbol(),0,KperiodF,DperiodF,SlowingF,PriceFieldF,0,shiftF);

y=iStochastic(Symbol(),0,KperiodF,DperiodF,SlowlingF,methodF,PriceFieldF,1,shiftF);

で、if(x>y)などですよね?

" このスタイルは好きになれない。なんだか盲点ですね。そして、ミスもしやすくなる。"

あなたならどう書きますか?教えてください。

 
みなさん、こんにちは。要望があります。ネットのどこかで似たようなものを見たことがあるのですが、また見つからなくなりました。ストップロスの値で計算されたロットサイズで取引を開始するスクリプトが必要です。例えば、私は外部変数を 使用して、預金の%または私がリスクにさらす準備ができている量とピップ単位でストップロス値を設定します。ポイントやストップロスの値に応じて、スクリプトがロットを計算し、注文を出します。そのようなスクリプトがあれば、遠慮なく投稿してください。どこでダウンロードできるのか、ヒントをあげたいと思います。ありがとうございました。
 
mukata писал(а)>>

バーゼロでの「チャタリング」は理解できるのですが、それはまた別の問題で......。

if操作の「遅さ」、ありがとうございます!勉強になります。

つまり、例えば変数

x=iStochastic(Symbol(),0,KperiodF,DperiodF,SlowingF,PriceFieldF,0,shiftF);

y=iStochastic(Symbol(),0,KperiodF,DperiodF,SlowlingF,methodF,PriceFieldF,1,shiftF);

で、if(x>y)などですよね?

" このスタイルは好きになれない。なんだか盲点ですね。そして、ミスをしやすくなる。"

あなたならどう書きますか?教えてください。

私が普段行っているクロッシングコントロールのやり方はこうです。交差点があり、さらに処理する。

string _Symbol=Symbol(); // чтобы лишний раз не вызывать функцию

double Stoch0  = iStochastic(_Symbol, 0, KperiodF, DperiodF, SlowlingF, methodF, PriceFieldF, 0,     0);
double Stoch1  = iStochastic(_Symbol, 0, KperiodF, DperiodF, SlowlingF, methodF, PriceFieldF, 0, shiftF);
double Signal0 = iStochastic(_Symbol, 0, KperiodF, DperiodF, SlowlingF, methodF, PriceFieldF, 1,     0);
double Signal1 = iStochastic(_Symbol, 0, KperiodF, D periodF, SlowlingF, methodF, PriceFieldF, 1, shiftF);


//пересекла ли главная линия стохастика сигнальную линию 
if (( Stoch0  - Signal0 )*( Stoch1  - Signal1) <0) {
   // Есть пересечение, дальше проверяем положение (как пересекла мы не знаем пока еще)

}
 
Vinin >> :

普段はこんな感じで交差制御をしています。交差点があり、さらに処理する。

  // Есть пересечение, дальше проверяем положение (как пересекла мы не знаем пока еще)
うんうん、なんて効率的なんだ!!!
特に私のテスターでは...:-)
ほとんどのティックはクロスオーバーなしですが、そのようなティックが他のティックより小さい場合、または他のティックがそのようなものより小さい場合...................と、すべてのティックをカウントしたことが判明しました。
ありがとうございました。
 
mukata писал(а)>>

ただ、私のデザインにはひとつだけ欠点があります。計算されたバーのいずれかで値が一致する場合、信号の飛びがある可能性があります。可能性は低いですが、起こりうることです。

 
StatBars >> :

ありがとうございました。

 
rsi >> :

それは、昼間は条件1と2で、夜は条件1と2と3で注文を出す、というものです。つまり、4番目の昼夜条件がありますが、3番目の条件と混在しているわけですね。例えば、こんなことができます。

ありがとうございました。

 

知識のある方にお聞きしたいのですが、作業中(および保留中)の注文の最大数はどのくらい可能なのでしょうか?

それとも、そのような制限はないのでしょうか?

 
xrym писал(а)>>

知識のある方にお聞きしたいのですが、作業中(および保留中)の注文の最大数はどのくらい可能なのでしょうか?

あるいは、そのような制限はない。

証券会社に確認する必要があります。最大値を見るために、エンドレスサイクルをかけてみるのもいいでしょう。

for(int k=1; k>2; k--)
{
   OrderSend(Symbol(),OP_BUY,0.1,Ask,1,0,0,"testing order");
   Alert("Текущее количество ордеров: ",OrdersTotal());
}
最後の警告は、あなたのDCの最大注文数になります。
 

ちなみに、OrdersTotal()はint型の数値を返します。また、intは値をとることができます。

Внутреннее представление - длинное целое число размером 4 байта. Целые константы могут принимать значения от -2147483648 до 2147483647. Если константа превышает указанный диапазон, то результат не определен.

すなわち、理論上の最大臭気数:2147483647個