どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 379

 
ALXIMIKS:


...

4)なぜ、ポーズをとるのか?

...


О!スルーしない方法を教えてください。

もちろん、質問は興味深いです:合計0と何も変更しないOrderProfit() + OrderCommission() + OrderSwap()を追加するのが良いですか、または我々は、各注文にifを行う必要があるのだろうか?

 
Example2:


動けばいいのだから、どう作り直そうが関係ない。


場合によっては、多少の差はあります。for (int i = 0; i < OrdersTotal(); i++)の場合は、ループ毎にOrdersTotal()関数が呼ば れ、for (int i = OrdersTotal()-1; i>=0; i--)の場合は、OrdersTotal()関数が1回のみ呼ばれます。mqlでの実行速度は実験していません。一度だけ、phpでcount()関数が順方向ループで17秒、逆方向ループで0.01秒動作したことがあります。
 
正転・逆転の速度を測定。100回の注文で、逆のサイクルは5倍速くなる。しかし、注文はそんなに多くなく、せいぜい10件程度です。注文が10件あれば、3倍速になります。逆のサイクルを選択することが手に取るようにわかります。
 
Integer:
正転・逆転の速度を測定。100回の注文で、逆のサイクルは5倍速くなる。しかし、注文はそんなに多くなく、せいぜい10件程度です。注文が10件あれば、3倍速になります。逆回転を選択するのは、極めて賢明なことです。


価格を正規化する方法を教えてください(上記の私の投稿)。

 
Example2:


価格を正規化する方法を教えてください(上の私の投稿)。

NormalizeDouble() 関数があります。

NormalizeDouble(_High+Point*20,Digits);

乗算するときは、doubleを先に、intを後にしたほうがよい。そうしないと、場合によっては、分数部分が失われることがある。

 
if(Line_7 > Lines_1 > Line_6)
{
Alert("Сигнал на покупку");
OrderSend(Symbol(),OP_BUY,Lots_Typ,Ask,5,SL_Typ,TP_Typ);
}
return;}
このように注文の開始を設定することは可能でしょうか?
 
Link_x:
このように注文の開始を設定することは可能でしょうか?


いいえ。

こうあるべきなのです。

if(Line_7 > Lines_1 && Lines_1 > Line_6)
 

また、全注文の利益を合計し、成行注文のみを選択して利益計算速度を確認しました。

Prof1+=OrderProfit()+OrderSwap()+OrderCommission();

и

if(OrderType()==OP_BUY || OrderType()==OP_SELL){
 Prof2+=OrderProfit()+OrderSwap()+OrderCommission();
}
最初のオプションは、少し速くなりますが、大幅ではありません。速度比は約1/1.1
 
Integer:

NormalizeDouble() 関数があります。

乗算するときは、doubleを先に、intを後にしたほうがよく、そうしないと、場合によっては、分数部分が失われることがあります。


現在、エラー3が表示されます。「不正確なパラメータが取引機能に送信されました。例えば、間違ったシンボル、未確認の取引操作、負の価格許容範囲、存在しないチケット番号などです」。 プログラムのロジックを変更する必要がある」。

 
Example2:


エラー3が発生しました。「不正確なパラメータが取引関数に送信されました。例えば、間違ったシンボル、未確認の取引、負の価格許容範囲、存在しないチケット番号などです。プログラムのロジックを変更する必要がある」。


カーソルをOrderSendの 後の最初の括弧に移動し、この括弧を削除して再入力すると、パラメータの種類を示すツールチップが表示されます。