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

 
Maxim Kuznetsov:

リファレンスからデタラメを引っ張ってくる必要はない、当たり前のサイクルを書けばいい...後で生きてくるのだから:-)

   for(long chartId=ChartNext(0);chartId>0 &&!IsStopped();chartId=ChartNext(chartId)) {

      if (ChartSymbol(chartId)=="") continue;

      DoChart(chartId);

   }

これも消化しないと...。
 
Maxim Kuznetsov:

   for(long chartId=ChartNext(0);chartId>0 &&!IsStopped();chartId=ChartNext(chartId)) {

      if (ChartSymbol(chartId)=="") continue;

      DoChart(chartId);

   }

マキシム、これを自分の問題にどう適用するのかがわからない(

 
MakarFX:

オープンチャートで オブジェクトを検索する関数を探す、または書くのを手伝ってください。

5つのオープンチャート、EAは1つ目に表示されています。エムティーフォー

このコードで動作するはずです。

#property strict
#include <Arrays\ArrayLong.mqh>
CArrayLong ChartsID;
//+------------------------------------------------------------------+
int OnInit()
{
   FindChartsBySymbol(_Symbol, ChartsID);
   for(int i = ChartsID.Total() - 1; i >= 0; i--)
   {
      long chart_id = ChartsID.At(i);
      Print("ChertID = ", chart_id, " , symbol = ", ChartSymbol(chart_id));
   }
   return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
void FindChartsBySymbol(string symbol, CArrayLong &charts)
{
   for(long currChart = ChartFirst(); currChart >= 0; currChart = ChartNext(currChart))
   {
      if(ChartSymbol(currChart) == symbol) charts.Add(currChart);
   }
}
//+------------------------------------------------------------------+

暗号通貨をチェックする、彼らは週末に働いている

新しいチャートのオープニング(とクロージング?)を監視して、リストを更新するだけです。
 
Igor Makanu:

このコードで動作するはずです。

暗号通貨をチェックする、彼らは週末に働いている

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

 
MakarFX:

各チャートで最小限のコードでインジケータを動作させても良いですか?デフォルトのテンプレートで可能なのでしょうか?

 
Aleksei Stepanenko:

各チャートで最小限のコードでインジケータやEAを動作させても良いですか?デフォルトのテンプレートで可能なのでしょうか?

最初のチャートでEAがDLLを 実行

しかないわけですから

C# DLL MQ4 построение формы общения
C# DLL MQ4 построение формы общения
  • 2021.04.02
  • www.mql5.com
Еще неделю назад я не знал что такое C#...теперь я знаю что это читается "си шарп"))) Прочитав статьи https://www.mql5...
 

このようなインジケータを任意のチャートに配置しておけば、管理領域(チャート)内のオブジェクトが変化すると、エキスパートがいるチャートにイベントが送信されます。

//идентификатор графика с советником
long ID=1;

int OnInit() 
   {
   //установка флага получения событий создания объектов графика 
   ChartSetInteger(ChartID(),CHART_EVENT_OBJECT_CREATE,true); 
   //установка флага получения событий удаления объектов графика 
   ChartSetInteger(ChartID(),CHART_EVENT_OBJECT_DELETE,true); 
   return(INIT_SUCCEEDED); 
   } 

void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam) 
   {
   //если объект удалён или создан, или изменён
   if(id==CHARTEVENT_OBJECT_DELETE || id==CHARTEVENT_OBJECT_CREATE || id==CHARTEVENT_OBJECT_CHANGE)
      {
      EventChartCustom(ID,1,lparam,dparam,sparam); 
      }
   }

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 &tick_volume[],
                const long &volume[],
                const int &spread[])
   {
   return(rates_total);
   }
アイデアとしての例
 
Aleksei Stepanenko:

このようなインジケータを必要なチャートに配置すれば、管理領域(チャート)内のオブジェクトが変化すると、Expert Advisorのあるチャートにイベントが送信されます。

アイデアとしての例

ありがとうございます、しかし、私は暗号で私のコードをチェックし、すべてが私が望んでいたように動作します。

皆さん、ありがとうございました。

 
MakarFX:

Chart_ID()の問題は以下の通りです。

このようにしました。

でも、テスターで確認することはできません(。

...月曜日が待ち遠しいです(

初期化中は、すべて正常に動作するようです

しかし、実際のところどうなのでしょうか?

私がいない間に............。

一見すると問題なさそうです。スクリプトのチェックインはどの日でも可能です。しかし、ここのドキュメントでは、私はこの例が好きではありません。以下は、私がアドバイスしている書き方です。

#property strict

/********************Script program start function*******************/
void OnStart()
 {
  long chart = ChartFirst();
  while(chart >= 0 && !IsStopped())
   {
    if(ObjectFind(chart, "00") >= 0)
     Print("Symbol ", ChartSymbol(chart), " Period ", EnumToString(ChartPeriod(chart)));
    chart = ChartNext(chart);
   }
 }/******************************************************************/

/*****************************End program****************************/
 
Aleksei Stepanenko:

このようなインジケータを任意のチャートに配置しておけば、監視領域(チャート)内のオブジェクトが変化すると、エキスパートがいるチャートにイベントが送信されます。

アイデアとしての例

この課題に対して

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

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

マカーFX さん 2021.06.19 21:21

正直なところ、私の知識では怖いと思うのですが......。

まだ市場に参入していない 場合は、市場に戻ってカーソルから購入することはできません。


が表示された場合、その表示は適切ではありません。