エキスパート: eInTradePanel

 

eInTradePanel:

eInTradePanelは手動取引のパネルで、いくつかの便利な機能を用意しています。チャート上の最小のスペースを必要とします。

eInTradePanel

作者: Dmitry Fedoseev

 
有効期限の 設定にバグがありました。修正しました。
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
削除済み  

Integer:
 Торговая панель eInTradePanel. Альтернатива стандартному окну открытия ордера. 

素晴らしい! 本当にありがとう!

アイデア、実装、機能性、すべてが5点満点です!文句のつけようがありません。:)開発者がこの代替案を内蔵してくれると良いのですが。

インテージャー、開発のアイデアはありますか?希望は受け入れられますか?

 
素晴らしい!ありがとう!!!
 
VladMih:

素晴らしい! 本当にありがとう!

アイデア、実装、機能性、すべてが5点満点です!文句のつけようがありません。:)開発者がこの代替案を内蔵してくれると良いのですが。

インテージャー、開発のアイデアはありますか?希望は受け入れられますか?

希望は受け入れるよ。

 

拡大フォントのゴールドバージョン。

私は25%拡大フォント(システムにインストールされている)を使用しています。 このモードでは、多くのプログラムが「余白を取ろうと」します。 ソースを持ついくつかの良い....:)

ああ、ところで、要望なんですが、色の設定をiniファイルに入れてもらえると、気分が変わったときに微調整しやすいんですが......。;)

まあ、ただの些細なことだから、真面目に考えてはいけない。

しかし、真剣な願いは、一度にすべてのチャートにパネルを作成することである(もちろん、1つのチャートでExpert Advisorを実行する)。パネルがクラスとして作られることを考えれば、それほど難しいことではない。 簡単な例はここにある)。

チャートは保存しておく。あるチャート上でExpert Advisorを実行すると、そのチャート上で他のExpert Advisorを実行する可能性がなくなる。:(

とにかく、EA同士はお互いに礼儀正しくありましょう。

ファイル:
 
MetaDriver:

真剣な願いは、一度にすべてのチャートにパネルを作成することである(もちろん、1つのチャートでExpert Advisorを実行する)。パネルがクラスとして作られていることを考えれば、それほど難しいことではない。 (簡単な例はこちら)

うまくいかないと思います。イベントを処理する必要があります。タイマーの例では、すべてのチャートはボタンが押されたかどうかチェックされるし、タイマーは1秒のインターバル、つまり長いインターバルで動作するので、不便だろう。もちろん、メインのループEAから他のチャートを見ることは可能だが、私は左の発明に関与したくない。

ターミナルでは、パネル付きのチャートが1つあれば十分で、チャートはシンボルを切り替えることができる。

 
Integer:

タイマーは1秒間隔で動作し、すなわち長い、それは不便になります。もちろん、メインのループEAから他のチャートを表示することは可能ですが、私は左の発明をしたくないし、物事を本来の目的のために使用します。

高速タイマーと "ソフト "ループの問題へ

//------------------------------------------------------------------ OnInit
int OnInit()
{
  EventChartCustom(ChartID(), 1, 0, 0, "user_start"); // ループを初期化する
}
//------------------------------------------------------------------ OnChartEvent
void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam)
{       
  /* イベント処理*/
        
  Sleep(10); // 荷降ろしのための小休止
        
  EventChartCustom(ChartID(), 1, 0, 0, ""); // イベントをループする
}
 
Integer:

1. うまくいかないと思う。イベントを処理する必要がある。タイマーの例では、すべてのチャートがボタン押下でチェックされ、タイマーは1秒のインターバル、つまり長いインターバルで動作するので、不便でしょう。もちろん、メインのループEAから他のチャートを見ることもできるが、私は左のような発明はしたくない。

--

2. ターミナルにパネル付きのチャートが1つあれば十分で、 チャートはシンボルを切り替えることができる。

1. ちょっとした変更で

.......
#property indicator_chart_window
.......
........

//void OnTick()
int OnCalculate(const int rates_total,const int prev_calculated,
                const datetime &Time[],const double &Open[],const double &High[],
                const double &Low[],const double &Close[],const long &TickVolume[],
                const long &Volume[],const int &Spread[])
{
   TradePanel.Tick();
   return 0;
}

EAが通常の(2つのクリティカルでないワーニングを持つ)コンパイルされたインジケータに変わる。

EAは正常にコンパイルされたインジケータに変身。唯一の機能不全は、注文を開かないことである。:)

それは解決できる。スキームはおおよそ以下の通りです:

エキスパート・アドバイザーは、すべての(または分足のみの)チャートでインジケータをオープンします。

そのイベントをメインのExpert Advisorに転送する。

微妙な点

1) Expert Advisorが各インジケーターを開く際、パラメーターとしてチャートのIDを渡す。

2) Expert Advisorに対応するイベントを生成する際、インジケータは、ポジショ ンを修正する、または注文を発注/修正するシンボルを文字列パラメータとして 渡すことを忘れてはならない。

3) Expert Advisorは、1~数秒に1回チャートをスキャンし、新しい分足チャートがないかをチェックし、必要であれば新しいインディケータを起動することが望ましい、

不要なものは削除する。

所要時間は1時間半か、それ以下である。

ps.そうそう、(4)グローバル変数を見逃していました。チャートのIDをプレフィックスとして変数名に追加する。

--

2. 本当に長いですね。

 
SUPER!!!Offiggeno!!!余計なものがなく、すべてがシンプルで、すべてが直感的で、余計な仕掛けがない!!!!製品に+5点!ラインの助けを借りたポジションとオーダー管理を探していたところ、このような奇跡を見つけました!!!!よくやった!
 

インストール

5つのエラーと2つの警告が表示されます。

修正方法は?

ファイル:
iud1kh57g0.jpg  107 kb