初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 1040

 
親愛なる同僚の皆さん、どの時間間隔で最適化が行われるかをプログラムで定義する必要があります。そのような可能性があるかどうか、アドバイスをお願いします。OnInitで。
 
Anzhela Sityaeva:

カンマは数式には関係ありません。おっしゃるとおり、値と型を分けるだけで、それ以上の意味はありません。5級はずいぶん昔の話です :) それに、たまたま数学が苦手だったんです。でも、操作の順番は覚えているんですよ。

問題は、まさにどちらのバージョンでも計算結果が同じで、どちらの選択肢が正しいと 考えるかです。

私が小学5年生どころか、次の学年も卒業したころ、あなたは生まれていたんですよ。だから、私にとっては昨日のことのように...。そして、操作の順番を覚えていると、なぜこのような疑問が湧いてくるのでしょうか。計算結果が同じ場合、一方の選択肢が他方よりも正しいということはあるのでしょうか?まあ違いがないのは当たり前なんですけどね。
 
Alexey Viktorov:
あえて言うなら、私が小学5年生どころか、その先の学年もすでに卒業した頃に、あなたは生まれていたのです。だから、私にとっては昨日のことのように...。そして、操作の順番を覚えているのであれば、なぜそのような疑問が湧いてくるのでしょうか?計算結果が同じ場合、一方の選択肢が他方よりも正しいということはあるのでしょうか?まあ、明らかに差はないんですけどね。
女の子に年齢を聞く習慣はないし、関係ない。私は、このテーマで、自分以外の人の意見が欲しかったのですが、疑問、ですね :)
 
Anzhela Sityaeva:
女の子に年齢を聞く習慣はないし、関係ない。私は、このテーマで、自分以外の人の意見が欲しかったのですが、疑問、ですね :)

年齢なんて聞いてないぞ。私は、あなたがまだ幼いので、もう何も覚えていないふりをするだけだと提案しただけです。

 
Decromor:

皆さん、こんにちは...。

EAから追加したインジケータを削除しようとしています。を行っています。

インジケーターで。

インジケータは追加され、サブウィンドウの番号とショートネームは正しいのですが、削除するとエラーになります。

2019.05.08 12:01:10.068 2019.04.03 12:39:31 ウィンドウ #2 からインジケータ blablabla を削除するのに失敗しました。エラーコード 4014

4014 - "システム関数の呼び出しが許可されていません"。インジケーターの意味、削除方法について教えてください。

インジケータの1つはExpert Advisorで短期間使用され、残りの時間は不要であり、その設定は無意味になります。そのため、最初の選択肢として、不要なタイミングでインジケータを削除し、適切なタイミングで新しい設定でインジケータを追加することを検討しました。でも、なぜかできないんです。

別のバリエーションとして、グローバル変数があります。インジケータは常にウィンドウに表示されるが、私は必要な時にグローバル変数を通してその入力パラメータを変更するとする。

そうだろ?他にバリエーションはありますか?

 
Decromor:

あるインディケータはExpert Advisorで短期間使用さ れ、それ以外の時間は不要となり、その設定は無意味になります。そのため、まず考えたのは、不要なタイミングでインジケータを削除し、新たな設定で適切なタイミングでインジケータを追加する方法です。でも、なぜかできないんです。

別のバリエーションとして、グローバル変数があります。インジケータは常にウィンドウに表示されるが、私は必要な時にグローバル変数を通してその入力パラメータを変更するとする。

そうだろ?他にバリエーションはありますか?

チャート上の エキスパート・インジケータは、犬の首輪のようなものです。

 
Alexey Viktorov:

チャート上の指標は、犬の番いのようなものです。

エキスパートの設定に最適です。

こうして追加していくのですが、削除ができないのです。

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

初心者の方からの質問 MQL5 MT5 MetaTrader 5

デクロモール 2019.05.08 09:17

皆さん、こんにちは...。

自分で追加したインジケータをEAから削除しようとしています。を行っています。

//Объявляю переменные
int win_ind=-1,
    handle_ind = INVALID_HANDLE;

//Создаю
   handle_ind= iCustom(NULL,0,"ind");
   if(handle_ind== INVALID_HANDLE){
      Print("Не удалось создать индикатор. Код ошибки: ",GetLastError());
      return(false);
   }
   win_ind=(int)ChartGetInteger(0,CHART_WINDOWS_TOTAL); //--- получим номер нового подокна, в которое добавим индикатор 
   if(!ChartIndicatorAdd(0,win_ind,handle_ind)){
      Print("Не удалось добавить индикатор на окно графика. Код ошибки: ",GetLastError());
      return(false);
   }

//Удаляю
   string name = ChartIndicatorName(0, win_ind, 0);
   bool res = ChartIndicatorDelete(0, win_ind, name); 
   if (!res) PrintFormat("Не удалось удалить индикатор %s с окна №%d. Код ошибки %d", name,win_ind,GetLastError());

インジケーターで。

int OnInit(){
   IndicatorSetString(INDICATOR_SHORTNAME,"blablabla");

インジケータは追加され、サブウィンドウの番号とショートネームは正しいのですが、削除するとエラーになります。

2019.05.08 12:01:10.068 2019.04.03 12:39:31 ウィンドウ #2 からインジケータ blablabla を削除するのに失敗しました。エラーコード 4014

4014 - "システム関数の呼び出しが許可されていません"。インジケーターの意味、削除方法について教えてください。


 
Decromor:

エキスパートの設定には、それでいいんです。


それは私の質問に対する答えになっていない。より正確に言えば、再質問である。なぜEAがチャート上にインジケータを 必要とするのでしょうか?

未使用のインジケータ・ハンドルから拒否したい場合は、別の関数があります。また、チャート上のインジケーターそのものは、何のためにあるのでしょうか?

 
車輪の再発明をしないために、すぐにできる解決策はないのでしょうか?
我々は、単純な質問に答える必要がある - どのように多くのクローズド-トレード(それを呼び出すことができます)歴史(特定のペアや期間については重要ではありません、主なものは、原則です)されています。私の理解では、mql5では些細な作業ではありません。この存在に名前すらありません))
 
Evgeny Dyuka:
車輪を再発明することなく、すぐに解決できる方法はないのか?
我々は、単純な質問に答える必要がある - どのように多くのクローズド-トレード(それを呼びましょう)歴史(特定のペアや期間のために重要ではありません、主なものは、原則です)されています。私の理解では、mql5では些細な作業ではありません。この存在に名前すらありません))

なぜダメなのか?

bool  HistorySelect(
   datetime  from_date,     // с даты
   datetime  to_date        // по дату
   );

そして、ループの中で必要なものを選別していくのです。

あるいは特定のポジションのために。

bool  HistorySelectByPosition(
   long   position_id     // идентификатор позиции - POSITION_IDENTIFIER
   );
Документация по MQL5: Торговые функции / HistorySelect
Документация по MQL5: Торговые функции / HistorySelect
  • www.mql5.com
Функция HistorySelect() создает в mql5-программе список ордеров и список сделок для дальнейшего обращения к элементам списка посредством соответствующих функций. Размер списка сделок можно узнать с помощью функции HistoryDealsTotal(), размер списка ордеров в истории можно получить с HistoryOrdersTotal(). Перебор элементов списка ордеров лучше...
理由: