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

 
John Smith:

2008年1月29日の日付を1201564800のような形式に変換する方法を教えてください。どのような関数が使われているのでしょうか?

TimeCurrent () と指定した過去の日付を比較したいのですが・・・。

いいんですか?

datetime Начало = D'2015.01.01 00:00';  // Дата задана датой
string   Конец  = "2035.01.01 00:00";   // Дата задана строкой, потом переведем в дату

void start() 
{
  datetime End=StringToTime(Конец);

  if(TimeCurrent()>Начало)  Alert(" Начинаем");
  if(TimeCurrent()>End)     Alert(" Заканчиваем");
                      else  Alert(" Продолжаем");
}
 
John Smith:

2008年1月29日の日付を1201564800のような形式に変換する方法を教えてください。どのような関数が使われているのでしょうか?

TimeCurrent () と指定した過去の日付を比較したいのですが・・・。


iTimeで現在時刻を 第2フォーマットに変換する場合: int iTime = TimeCurrent();

では、2008年1月29日というフォーマットで書かれた他の日付とどうやって比較するのでしょうか?


もしくは、秒単位に変換せずにどうにかして比較する、それがストレートにできれば...。

のように

if TimeCurrent() > 29.01.2008 then a = 123456

が、この形ではうまくいかない...。((

datetimeは長い

そのため、datetimeをlongで表現するためには、明示的に変換する必要があります。

long time_current=(long)TimeCurrent();
 

こんにちは。

ストラテジーテスターに関する 質問

640ピクセルのウィンドウ内にエントリーを収めるために、フォントやカラムサイズを小さくすることができません

どうすればいいのでしょうか?

ウィンドウサイズを小さくしましたが、情報が崩れてしまいます。

ファイル:
 
Sergey Musin:

こんにちは。

ストラテジーテスターに関する 質問

640ピクセルのウィンドウ内にエントリーを収めるために、フォントやカラムサイズを小さくすることができません

どうすればいいのでしょうか?

ウィンドウサイズを小さくしましたが、情報が崩れてしまいます。

Windowsの設定で、システムフォントを縮小してみる
 

アフタヌーン!

ヒントをください、コードの断片があります。

void watch_breakout() {
  if(active != true) return;
    int ticket = get_ticket();
  if(Ask >= NormalizeDouble(channel_top, Digits)) {
    ticket   = OrderSend(Symbol(), OP_BUY, Lots, Ask, SLIPPAGE, NormalizeDouble(Ask-Stoploss*Point,Digits), 0, "LONG", MAGIC, clrNONE); 
       }
  if(Bid <= NormalizeDouble(channel_bottom, Digits)) {
    ticket   = OrderSend(Symbol(), OP_SELL, Lots, Bid, SLIPPAGE, NormalizeDouble(Bid+Stoploss*Point,Digits), 0, "SHORT", MAGIC, clrNONE);
       } 
    }

私は価格チャネルからのブレークダウンを探しています。私の仕事は、ブレークスルーがどのローソク足によってもではなく、ピンバーによってチェックされ、ピンバーが形成された後に注文を開くことです。

3日目も悩んでいますが、今のところ解決策は見当たりません。

 
Snower: 以下はコードの一部です。

ブレイクスルーがローソク足ではなく、ピンバーで発生したかどうかを確認し、ピンバーの形成後に注文を開くこと。 これを実装する方法を教えてください、私は3日間苦労して、まだ解決策が表示されません。

現在、Strategy Testerでうまく動作するExpert Advisorを1ヶ月以内にデバッグしています。そして、デモでもいい感じです。気を取られてこちらを拝見しました。図面をお持ちですか?

 
STARIJ:

現在、1ヶ月間テスターしていたExpert Advisorをデバッグしています。そして、デモでもいい感じです。気を取られてこちらを拝見しました。図面をお持ちですか?


例えばこんな感じ。黄色い線は価格が突破すべき価格帯で、注文はスマイリーで始まり、それまであったものはすべて無視されます。

 
Snower:


例えばこんな感じ。黄色の線は、価格が突破すべき価格帯で、注文はスマイリーフェイスのローソク足で始まり、それ以前のものはすべて無視されます。

これではうまくいきません。
 
Artyom Trishkin:
うまくいかない。

返信

Artyom、あなたはそれを注意深く読んでいない:TSはピンバーのブレイクアウトでのみ開く必要があり、それぞれあなたがピンバー(小さなボディと大きなシャドウ)を処方した場合、条件を満たすことができます。

 

MT4でiCustom機能はどのように扱われるのですか?ご存知の方、ぜひご返信ください


例えば、Strategy Testerでは、EAが1ティックごとにインジケータを呼び出すとします。

この関数が呼ばれると、インジケータがメモリに読み込まれ、ゼロバーからバーまでのすべての値を再計算した後、必要なオフセットで値を返します。

最初のティックで1バーの値を要求し、2番目のティックで2バーの値を要求すると、Expert Advisorは全履歴に対して2回インジケータを計算するのですか。


Expert Advisorがindicator1に アクセスし、indicator2に対してiCustomを設定している場合。指標1の 値を要求した場合、指標2は何回再計算されるのでしょうか?


もしかして、Strategy TesterやMT4ターミナルは、バーごとにインジケータの値を記憶しているので、繰り返し要求されても再計算しないのでは?