MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 81

 
Gevorg Hakobyan:
if(v=="NZD")
{
h=(iClose("NZDUSD",p,b)-iOpen("NZDUSD",p,b))/MarketInfo("NZDUSD",MODE_POINT)+...
(iOpen("EURNZD",p,b)-iClose("EURNZD",p,b))/MarketInfo("EURNZD",MODE_POINT)+...
(iOpen("GBPNZD",p,b)-iClose("GBPNZD",p,b))/MarketInfo("GBPNZD",MODE_POINT)+...
(iOpen("AUDNZD",p,b)-iClose("AUDNZD",p,b))/MarketInfo("AUDNZD",MODE_POINT)+ (iOpen("AUDNZD",p,b)))
(iClose("NZDJPY",p,b)-iOpen("NZDJPY",p,b))/MarketInfo("NZDJPY",MODE_POINT)+ ※MarketInfo("NZDJPY",MODE_POINT) を参照。
(iClose("NZDCAD",p,b)-iOpen("NZDCAD",p,b))/MarketInfo("NZDCAD",MODE_POINT)+...
(iClose("NZDCHF",p,b)-iOpen("NZDCHF",p,b))/MarketInfo("NZDCHF",MODE_POINT) になります。
}
コードの中身はどうでもいいんです。Point() の代わりに0が表示されるのは、どのDCに接続しているのかわかりますか?
 
sile:

こんにちは。

よろしくお願いします。

現在、1、2、3、4、5...の順にロットが増えています。

注文ごとではなく、1、1、1、2、2、3、3、3... 3個単位でロットを増やしてほしいです。

カウンターは、設定された閾値に達するとスタートし、初期値にリセットされる必要があります。
extern double   LotStop        = 0.01;
extern double   Plus_LotStop   = 0.01;
extern double   Plus_N_ORD  = 3;        //каждые N ордеров
void OnTick()
  {
//---
int c=0;
  for (int i=1; i<=OrdersStop; i++)
   {
       if((Close[1]<Open[1]&&Close[2]>Open[2]&&NumberOfPositions(Symbol(), -1,_Magic)<1))
         {
            OPENORDER (OP_BUYSTOP,PriceBS,LOTs,_Magic,i);
            numB++;
            PriceBS = NormalizeDouble(PriceBS+Step_Stop*Point,Digits);
          
            OPENORDER (OP_SELLSTOP,PriceSS,LOTs,_Magic,i);
            numS++;
            PriceSS = NormalizeDouble(PriceSS-Step_Stop*Point,Digits);
         }
      c++;
      if(c==3){LOTs+=Plus_LotStop;c=0;}
    }
  }
 

iSignalというインジケータがターミナルで動作する場合、このインジケータが本当にどのウィンドウに存在するのか、EAから調べることは可能なのか、教えてください。

 
Vitaly Muzichenko:

iSignalというインジケータがターミナルで動作する場合、このインジケータが本当にどのウィンドウに存在するのか、EAから調べることは可能なのか、教えてください。

ヘルプの ChartIndicatorName(); などに記載されています。


ChartIndicatorName

指定されたチャートウィンドウのインジケーターリストの番号で、インジケーターのショートネームを返します。

文字列ChartIndicatorName(
longchart_id,// チャートID
intsub_window,// サブウィンドウの番号
intindex// 指定したサブウィンドウに追加されたインジケータのリストにおけるインジケータのインデックスを 指定します。
);

パラメータ

チャートID

[チャートID0は現在のチャートを意味します。

サブウィンドウ

[in] チャートのサブウィンドウ番号です。0はメインチャートウインドウを意味します。

インデックス

[in] インジケータ・リストにおけるインジケータのインデックス。指標は0から始まり、つまりリストの一番最初の指標は0インデックスです。リスト内のインジケータの数は、ChartIndicatorsTotal()で取得することができます。

戻り値

IndicatorSetString()関数でINDICATOR_SHORTNAMEプロパティに 定義されるインジケータショート 名。エラーの情報を得るには、GetLastError()関数を呼び出します。


すべてのチャートに目を通し、必要なインジケータがあるかどうかを確認します。また、チャート上のインジケーターの数や、1つのチャートの全ウィンドウの数を定義することができます。ヘルプに記載されています。
 
Vitaly Muzichenko:

iSignalというインジケータがターミナルで動作する場合、このインジケータが本当にどのウィンドウに存在するのか、EAから調べることは可能なのでしょうか?

可能です。必要なチャート上でループ内のインジケータを調べ、選択したインジケータの名前と指定したインジケータの名前を比較します。ChartIndicatorName()関数を使用します。

おそらく、インジケータが「地下」にある場合、チャートのサブウィンドウも検索しなければならないでしょう。

 
Artyom Trishkin:

ヘルプの ChartIndicatorName(); などにも記載されています。


ChartIndicatorName

指定されたチャートウィンドウのインジケーターリストの中で、短いインジケーター名を番号で返します。

文字列ChartIndicatorName(
longchart_id,// チャートID
intsub_window,// サブウィンドウの数
intindex// このサブウィンドウに追加されたインジケータのリストにおけるインジケータのインデックス
);

ありがとうございます!まさにそれを探していました!うまくいきました。

そして今戻る)それは同じですが、インジケータから専門家を見つける:(c)この専門家は、任意のウィンドウ、またはインジケータとウィンドウで本当に ですか?

 
Vitaly Muzichenko:

ありがとうございます!まさにそれを探していました!うまくいきました。

そして今戻る)唯一の専門家を見つけるために、インジケータから、同様のものがあります:(c)は、この専門家は、任意のウィンドウ、またはインジケータとウィンドウで本当に ですか?

一般的にどのようにコーディングするのですか?
WindowExpertName - Операции с графиками - Справочник MQL4
WindowExpertName - Операции с графиками - Справочник MQL4
  • docs.mql4.com
WindowExpertName - Операции с графиками - Справочник MQL4
 
Vitalie Postolache:
どうやってコーディングしているのか、まったくわかりません。
これは知っているのですが、他の人のグラフィックで検索する方法を知らないのです。
 
Vitaly Muzichenko:
これはわかるのですが、他人のチャートで検索できません。

他人のチャートで検索する方法を知らないだけでなく、自分のチャートでは、この機能が規定されている「自分の」インジケータ、スクリプト、エキスパートしか見つけられません。

確認したわけではありませんが、チャートのループを経てみました。

ChartGetString(chart_id, CHART_EXPERT_NAME)
うまくいくはずだと思います。
 
Alexey Viktorov:

他人のチャートで検索する方法を知らないだけでなく、自分のチャートでは、この機能が規定されている「自分の」インジケータ、スクリプト、エキスパートしか見つけられません。

確認はしていませんが、チャートのループスルーで試したところ

ChartGetString(chart_id, CHART_EXPERT_NAME)
うまくいくはずだと思います。

エキスパートインジケータから名前で検索することができます。しかし、今度は質問です。同じようなもので、4人用で、できればクロスプラットフォームのものはないでしょうか?

ありがとうございました。