私のアプローチコアはエンジンです。 - ページ 80

 
Александр:

あなたの投稿は、実装に参加するための応募ととらえるべきでしょうか?

私もこのスレッドを見ていたのですが、私の前の投稿をよく読んでいないようですね。

フリーランスを通じてなら、ぜひ。予算はいくらですか?どの時点で、私が不注意に読んでいると思われたのでしょうか?

 
Dmitry Fedoseev:

フリーランスを通じてなら、ぜひ。予算は?どの時点で私がよく読んでいないと思われたのでしょうか?

フリーランスを勧めるのは控える。

ここで注意するのは控える。

トレーディング、自動売買システム、ストラテジーテストに関するフォーラム

私のアプローチコア - エンジン。

アレキサンダー さん 2018.12.16 16:12

MQLやプログラミング全般のスキルは非常に低いのですが、 ... 続きを読む

...あまり深入りせずに、結果を早く出す方法があるのなら、それを活用してはどうでしょうか。

 

エンジンウィンドウにEAで描画したカスタムアニメーションの例。

EAで制御コード。

void OnTimer()
  { 
   static int q1,a,b; 
   //------------------------------------
   if(!a)LOAD_CANVAS_Last_10_bars(); 
   //---------------------------------
   if(!b) q1++;
   if(q1 == 200)b = 1;
   if(b)q1--;
   if(!q1)b = 0;  
   //------------- 
   ELLIPSE(q1,q1,q1+q1*2,q1+q1,clrBlue);          
   //------------------------------------
  }

エンジンの描画ブロックに、CCanvas クラスの14個の描画関数を追加しました。これらの関数はExpert Advisorから呼び出されます。このため、描画関数のラッパー関数がConnection_Properties.mqhに追加されています。

円、長方形、三角形、アーチ、楕円、直線を描くことができます。

描画関数を呼び出す前に、どのキャンバスに描画するかを指定する必要があります (例:LOAD_CANVAS_Last_10_bars();)。

技術はまだ未完成の状態です。デバッグが終わりましたら、すぐにサンプルをアップします。

 
Александр:

こんにちは。

カスタム取引機能の有効/無効を制御し、それぞれパラメータの一部を修正するためのツールバーを作ろうとしています。

Expert Advisorのコードにパネルを実装する際、Strategy TesterにChartEventイベントがないため、パネルの有効化・無効化ができないことに直面しました。

あるいは、インジケーターコードにパネルが実装されている場合、注文を開くことができない。

ディスカッションはこちら: https://www.mql5.com/ru/forum/294890

ピーターからパネル開発の手伝いを頼まれ、断り切れなかった。

そのため、現在パネルは以下のようになっています。

とか、こんな感じで、すべてのボタンを押したとき。

各ボタンの下にあるパラメータは、上下の矢印または編集フィールドで変更できます。

Now」ボタン の場合、値は .Locking(false); その他のボタンについては .Locking(true) となります。

Trailing "ボタンに、All/Eachの値を持つ別のパラメータ(スイッチ)を追加します。

さらに、パネルに時間枠を選択できるドロップダウンリストと、現在のシンボルによる未決済注文のリストと各注文の利益表示(スワップを含む)、そして各注文の前に閉じるための十字架を表示したウィンドウを追加しなければならないのです。

ピーター、あなたのTORはこの説明で十分ですか?

こちらがそのパネルです。

外観の調整と、「All/Each」スイッチの正確な配置、また時間軸を伴うリリースリスト(中央の上部を想定)の説明をお願いします。

ボタンが押された


 

テスターの下取りに関しては、今解決しているところです。EAとエンジンの通信を完全にやり直したい。それを「通信オブジェクト」(プログラム間のデータ転送に使用する文字列記述のMTオブジェクト)で実現する。

通常の通信やEAのテスト モードでの通信など、高速で汎用性の高い通信手段として活用できます。

現在の通信方式では、OnChartEvent()イベントキューをオーバーロードしています。EAとエンジンの間のメッセージの送受信は、イベントが多すぎると遅延が発生し、その様子が視覚的に確認できる。MTオブジェクトを介した通信では、メッセージの受信と送信はOnChartEvent()イベント・キューの外で行われるため、この問題は解消されるはずです。

理論上はうまくいくはずなのですが...。

 
Реter Konow:

こちらがそのパネルです。

外観の修正と、「All/Each」スイッチの具体的な設置場所、時間軸リスト(中央の一番上でしょうか)の説明をお願いします。

パネルを作業領域の幅いっぱいにした方がいいと思います(注文一覧のメタが増えます)。

Lot、Profit、Nowボタン横のEditフィールドは、100分の1(フォーマット0.00)でなければなりません。

実験してみたところ、タイムフレームのリストがあるフィールドをLabelと2つのボタン("-"と "+")で置き換える方が良いという結論に達しました。最上段のボタンの高さに配置する。真ん中にラベル、左に「-」ボタン、ラベルの右に「+」ボタン。下には、オープンオーダーの一覧を表示するスペースがあります。

All/Each スイッチは "Trailing" ボタンの下、"Profit" ラベルの高さに配置します。

これは私のビジョンですが、フォーラムを読んだり、作品を見たりして理解した限り、あなたは描きたい気持ちと能力があるので、あなたの提案に反対するつもりはないです。

 
Александр:

1.パネルを作業領域の幅いっぱいにした方がいいと思います(注文一覧のメタが増えます)。

2.Lot、Profit、Nowボタン横のEditフィールドは、100分の1(フォーマット0.00)でなければなりません。

3.実験してみたところ、タイムフレームのリストを表示するフィールドをラベルと2つのボタン("-"と "+")に置き換える方が良いという結論に達しました。最上段のボタンの高さに配置する。真ん中にラベル、左に「-」ボタン、ラベルの右に「+」ボタン。その下には、未決済の注文を一覧表示するスペースがあります。

4.All/Each スイッチは、Trailing ボタンの下、Profit ラベルの高さに配置します。

5.これは私のビジョンですが、フォーラムを読んだり、作品を見たりして、あなたには絵の才能と能力があることが理解できましたので、あなたの提案に反対するつもりはありません。

1. つまり、チャートの幅に合わせて パネルを自動的に調整する?それとも、チャートの幅にだけ?

2.します。

3.よくわからない。タイムフレームは入力欄に+/-ボタンで設定するということでしょうか?また、注文の一覧を表示する別ウィンドウを作らないこと?パネルにあるものすべて?

4.スイッチは、押す/押されることでテキストが変わるシンプルなボタンでもいいのでは?

5.グラフィック要素を追加する。

(小さなスライダーをスイッチにすることも可能です)。スライダーは右/左に動く)

 
Реter Konow:

テスターの下取りに関しては、今解決しているところです。EAとエンジンの通信を完全にやり直したい。それを「通信オブジェクト」(プログラム間のデータ転送に使用する文字列記述のMTオブジェクト)で実現する。

通常の通信やEAのテスト モードでの通信など、高速で汎用性の高い通信手段として活用できます。

現在の通信方式では、OnChartEvent()イベントキューをオーバーロードしています。EAとエンジンの間のメッセージの送受信は、イベントが多すぎると遅延が発生し、その様子が視覚的に確認できる。MTオブジェクトを介した通信では、メッセージの受信と送信はOnChartEvent()イベント・キューの外で行われるため、この問題は解消されるはずです。

理論的にはうまくいくはずなのですが...。

その点を十分に理解しているかどうか。

テストモードでのEAとパネルの通信はOnChartEvent()イベントで実装するという理解で合っていますか?

もしそうなら、OnChartEvent()のイベントはテスターのEAには生成されないので、成功する可能性はあまり高くありません(インジケータにのみ)。

https://www.mql5.com/ru/forum/294890/page4#comment_9914750 ここで、OnChartEvent() イベントを OnTick() イベントに置き換えることが提案されました。

試してみましたが、すべてのコンポジットオブジェクト(SpinEdit、ComboBoxなど)が動かなくなります。Button.Pressed()テスターで変数の値を変更できる唯一のメソッドで、スタンドアロンボタン(SpinEditなどの複雑なオブジェクトに含まれないボタン)にのみ適用されます。

SimplePanel проблема при переключении таймфрейма
SimplePanel проблема при переключении таймфрейма
  • 2018.12.16
  • www.mql5.com
В составе стандартного пакета MT4 имеется пример создания панели управления "Simple Panel...
 
Александр:

その点を十分に理解しているかどうか。

OnChartEvent()というイベントを通して、テストモードでEAとパネルの間の通信を実現しようとしているということでよろしいでしょうか。

もしそうなら、OnChartEvent()のイベントはテスターのEAには生成されないので、成功する可能性はあまり高くありません(インジケータにのみ)。

https://www.mql5.com/ru/forum/294890/page4#comment_9914750 ここで、OnChartEvent() イベントを OnTick() イベントに置き換えることが提案されました。

試してみましたが、すべてのコンポジットオブジェクト(SpinEdit、ComboBoxなど)が動かなくなります。Button.Pressed()テスターで変数の値を変更できる唯一のメソッドで、独立したボタン(SpinEditのような複雑なオブジェクトに含まれないボタン)にのみ使用されます。

説明が長くなりますね。でも、私の経験を信じてください。通信手段が機能する

パネルは通常のチャートになります。テスターのExpert Advisor。パネルはStrategy TesterでExpert Advisorを見つけ、MT-オブジェクトを作成し、その説明を通じてEAと「通信」します。

OnChartEvent()は、通常のチャートで動作します。テスターではそうなっていません。しかし、パラメータ値の同期を妨げることはありません。

きっとうまくいくはずです。

1週間という短い期間ですが

 
Реter Konow:

説明が長くなりますね。でも、私の経験を信じてください。通信手段が機能する

パネルは通常のチャートになります。テスターのExpert Advisor。パネルはStrategy TesterでExpert Advisorを見つけ、MT-オブジェクトを作成し、その説明を通じてEAと「通信」します。

OnChartEvent()は、通常のチャートで動作します。テスターではそうなっていません。しかし、パラメータ値の同期を妨げることはありません。

きっとうまくいくはずです。

1週間という短い期間ですが

うまくいかない。