エラー、バグ、質問 - ページ 2301

 
Artyom Trishkin:

High[]上に配置されたテキストオブジェクトの場合、アンカーポイント(OBJPROP_ANCHORプロパティ)はANCHOR_LOWER(下部中央にアンカーポイント)に設定する必要があります。

Low[]上に配置されるテキストオブジェクトの場合、アンカーポイント(OBJPROP_ANCHORプロパティ)をANCHOR_UPPER(アンカーポイントが上部中央にある)に設定する必要があります。

またはANCHOR_CENTERで両方の位置の場合、アンカーポイントは中央に配置されます。

試してみてください。

しかし、そのためには、例えばHiとLoという名前の2つのオブジェクト(ジグザグの上端と下端、あるいは実際の上昇または下降ローカルトレンドの上端と下端)を作り、ANCHOR_LOWERとANCHOR_UPPERの対応する値でその両方をチャートにバインドすることが必要です。ジグザグの「上」を、先に「縛った」「下」に縛る方が簡単ではないでしょうか?先ほどの関数に一行追加して、大体こんな感じです。

ObjectSetInteger(0,Obj,OBJPROP_ANCHOR,ANCHOR_CENTER); と出力線に「オフセット補正」を導入する if(tvT) ORT(kBtT,Low[kBtT]-2*_Point,DtT,LowClr); else ORT(kBtT,High[kBtT]+2*_Point,DtT,HighClr); // と出力する。

今のところ、うまくいっているようです。ありがとうございました。

 
aleger:

しかし、そのためには、例えば、HiとLoという名前の2つのオブジェクト(ジグザグの上端と下端、または実際の上昇または下降ローカルトレンドの上端と下端)を作り、ANCHOR_LOWERとANCHOR_UPPERの対応する値でその両方をチャートに結合させることが必要です。ジグザグの「上」を、先に「縛った」「下」に縛る方が簡単ではないでしょうか?先ほどの関数に一行追加して、大体こんな感じです。

ObjectSetInteger(0,Obj,OBJPROP_ANCHOR,ANCHOR_CENTER); と出力線に「オフセット補正」を導入する if(tvT) ORT(kBtT,Low[kBtT]-2*_Point,DtT,LowClr); else ORT(kBtT,High[kBtT]+2*_Point,DtT,HighClr); // と出力する。

今のところ、うまくいっているようです。ありがとうございました。

何が言いたいの?添付ファイルはいつでも変更可能です。それとも、何か見落としているのでしょうか?色を変えるのです。では、リンケージを変更するのか。

 

デバッグビューアのウィンドウを閉じて、再コンパイルし、ビジュアライゼーションなしでテスターで1回実行した後、次のような結果が得られました。

2018.09.27 14:01:52.784 Core 1  agent process started
2018.09.27 14:01:52.784 Core 1  connecting to 127.0.0.1:3000
2018.09.27 14:02:11.358 Core 1  tester agent authorization error
2018.09.27 14:04:15.875 Core 1  no connection
2018.09.27 14:04:15.875 Core 1  connect error

20秒間、何もできなかった。スタートボタンはずっとグレーアウトしていた。


エージェントのログです。

DM      3       14:01:49.711    Tester  close visual tester window
RH      0       14:01:49.711    Tester  shutdown tester machine
LN      0       14:01:54.186    Server  MetaTester 5 stopped


ログを見ると、Testerは01:52にAgentに接続しようとしましたが、Agent(Server)自体は01:54にしか停止していません。それゆえ、つながらない、ぶら下がらない。長年のバグですが、少なくとも原因は明らかになりました。

 

過去データのプロファイラ結果


社内のOrderSendは3分の1の時間で済みます。そのような不快な結果をもたらす原因は何なのでしょうか?

 
fxsaber:

過去データのプロファイラ結果


社内のOrderSendは3分の1の時間で済みます。そのような不快な結果をもたらす原因は何なのでしょうか?

テスターでは、取引ロジックはすべてここにあり、取引サーバーにはありません。

 
Slava:

テスターでは、すべての取引ロジックがトレードサーバーではなく、ここにあります。

約300万ティック、OrderSendはわずか16K。しかし、このトレードオーダーは3分の1の時間を要する。そして、1ティックごとにExpert Advisorで計算が行われます。

だからこその質問です。OrderSendのコードをプロファイラで実行してみてください。ど のようなところに、そのようなヒケツがあるのでしょうか。

標準の機能を独自のものに置き換えれば、動作が速くなるのではと推測しています。おそらく、OrderSendには、高価なチェックやジェスチャーがあるのだろう。例えば、Expert Advisor(+インディケータ)にHistory-functionsとOnTrade*がない場合、適切なレコード/イベントを形成することは時間の無駄です。

人によっては1本が何分にもなることもあるかと思います。しかし、上記のようなケースもあります。実行速度に注目すると、秒単位になります。そしてここで、Optimizeを3時間起動し、そのうち1時間がOrderSendで、その平均実行時間は69μsであることが判明した(スクリーンショット参照)。

  • TRADE_ACTION_PENDING- 104 µs.
  • TRADE_ACTION_SLTP/TRADE_ACTION_MODIFY/TRADE_ACTION_REMOVE - 68μseconds。
 
テスターのプロファイリングは何度も行っています。そして、そこに「ヒッチ」があることも知っている。これらは財務計算であり、結果を預金通貨の 桁数で数回正規化する必要があります。
 
Slava:
テスターのプロファイリングは何度も行っています。そして、"ヒッチ "がどこにあるのかも知っている。これらは財務計算であり、結果を預金通貨の 桁数で数回正規化する必要があります。

私のOrderSendを書き込んで比較してみます。

 
皆さん、こんにちは。トレードは初めてで、半年ほど前からいろいろと勉強しています。 とても魅力的なビジネスですが、どうでしょう、数ヶ月、数年での利益や損失は、基本的にすべてゼロ、ベストシナリオだと感じることが多いです。私はこの活動で誰を失望させたくない各人の選択ですが、私はちょうどこのビジネスでこれまで平和を与えない1非常に重要な事実は、それは16または21ポイント、あるいは34ポイントでSPARK(SPARKは取引が-16ポイントまたは-21ポイントで開くとき)だ、明らかにそれは、神が知って、まあ、あなたはここでお金を稼ぐことができるでしょうか?私は1つだけ質問があります:そのような大きなマークアップは私のブローカーの手であるか(私のブローカーは、彼がマークアップを持っていないと、それは流動性プロバイダから来ていると言う)、それは一般的に誰にも影響を与える、彼はマークアップと何ポイントを持っているかどうか私に詳細に教えてくださいより経験豊富である人教えてください。
 
この投稿をメモしておいてください(あるいはここに移動して、そこでつぶすことも可能です)https://www.mql5.com/ru/forum/281440
Помогите разобраться (баг или я не понимаю чего?)
Помогите разобраться (баг или я не понимаю чего?)
  • 2018.09.28
  • www.mql5.com
Всем привет, сразу к делу...