XYで描画したオブジェクトをスムーズに変化させる方法(MT4とMT5の比較) - ページ 10

 
Vitaliy Kuznetsov:

ありがとうございます!良いテンプレートですね!重宝しそうです。非常に多くの、そして興味深いことを、あなたの仕事ぶりから学ぶことができます。

ドミトリー、私は今でもあなたを高い技術を発揮できるプログラマーだと考えています。

と提案コード、建設的な思考がある場合は、喜びで(と私だけではなく)あなたの経験を採用するだろう。

P.S. 100回聞くより、1回コードを見たほうがいい。

うん、並んだ、立った、腕の長さで持った...。何のためのコード?

 
Nikolai Semko:

フリーランスでやっていけるのか疑問です。できる人は耳まで仕事に追われているし、暇な人はあなたほど カンペキではないでしょう。

だから、私はモノが嫌いなんです。モノは流れの中に自分の人生があり、それをコントロールすることができない。それに対して、kanvasでは、すべてが自分の手の中にあるのです。そのため、1秒間に30回以上各ティックでフレームを計算する際に遅くならないように、テスター用にキャンバスで追加のコードを書く必要があります。
また、TFや履歴の読み込みでの作業はMT5では非常に無理があり非効率です。M1のみ、しかも解凍された状態でロードされ、その他はM1から計算されるだけです。そのため、初めてMN1を有効にした場合、100本のバーのロードに10秒以上かかる。バーロードを自分で書いて、M1をパック形式に変換し、計算されたTFをすべてメモリに持たせる必要がありました。私のすべてのTFとM1を一緒にすると、MT5の通常のM1だけよりもRAMの容量をほんのわずかだけ消費します。

これは懺悔なのか、それとも歓喜なのか。

 
Алексей Тарабанов:

悔い改めなのか、歓喜なのか。

ほら、逆でしょう?あなたが作ったプログラム、それはあなたの法則で生きる世界なのです。アメーバやクーラーのような、自分で生きているものを生み出す。

 
Алексей Тарабанов:

これは悔い改めなのか、それとも歓喜なのか。

これは、不十分な自我に基づくナンセンスなことです。そして、MT5での作業の実態とは、とてもかけ離れています。

 
Nikolai Semko:

まず、このアルゴリズムに従って、オブジェクトでインジケータを固定します。

ニコライさん、もし難しいことでなければ、テスターで固定のインジケーターが時間とともにずれることについて、どうお考えですか?マウスでスケールを変更しようとすると、固定されてしまう。

それはkanvasも同じです。チャートスケールを手動で変更するまでは、チャートが移動しないか、(しばらくして)正しく移動しないかのどちらかです。計算やアラートそのものは正しいのですが、グラフィックが...。

きっと解決策があるはずなのですが、それが見当たりません。それともテスターに何か問題があるのでしょうか?

 
Vitaliy Kuznetsov:

ニコライさん、もしよろしければ、テスターで補正したインジケーターの経時変化について、どのようにお考えですか?マウスでスケールを変更しようとすると、修正されます。

kanvasも同様です。チャートスケールを手動で変更するまでは、チャートが移動しないか、(しばらくして)正しく移動しないかのどちらかです。計算やアラートそのものは正しいのですが、グラフィックが...。

きっと解決策があるはずなのですが、それが見当たりません。それとも、テスターに何か問題があるのでしょうか?

行を 追加しています。

if (id == CHARTEVENT_CHART_CHANGE ) Draw (); 
チャートチェンジイベントの監視 (新しいバーもチャートチェンジイベント)
  • OnChartEventがテスターで動作しないので、テスターモードのOnCalculateに、例えば新しいバーが来たときに再描画するための行を追加しています:
     if(rate_total != prev_calculated ) if (Canvas.tester) {ChartChanged (); Draw ();}
  • MT4で動作しない場合、CHARTEVENT_CHART_CHANGEイベントに何か問題があることを意味します。今はまだ見積もりもないので確認できません。



     
    Nikolai Semko:

    ご指摘ありがとうございます。まだ手をつけていないので、今日にでもやってみます。