モールス符号

 

EAの本質は、ある特定のキャンドルの組み合わせを設定することです。ルールは、強気のローソク足が「1」を意味し、弱気のローソク足が「0」を意味します。そこで、「101」を指定するだけで、そのようなローソク足の組み合わせを検索することが可能です。

モールス符号

これまでのところ、問題は組み合わせの表現のコーディングにあります。入力パラメータでは、2進数で数を指定することができないのです。

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

モールス符号

ウラジミール・カルプトフ さん 2017.04.06 10:25

これまでのモールス信号バージョン「1.003」:パターンの文字列記述を手動で設定し、テスターでシングルパスを実行することも可能です。

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

モールス符号

ウラジミール・カルプトフ, 2017.04.07 08:42

モールス信号バージョン "1.005"

...

2つの問題を解決。

1). ユーザーは,入力パラメータに "0101 "と表示されたパターンを見る。

入力パラメーターの便利な見方

2).入力パラメータはテスターで完璧に最適化されています。



 
Vladimir Karputov:

EAの本質は、ある特定のキャンドルの組み合わせを設定することです。ルールは、強気のローソク足が「1」を意味し、弱気のローソク足が「0」を意味します。そこで、「101」を指定するだけで、そのようなローソク足の組み合わせを検索することが可能です。

問題は組み合わせの表現のコーディングにあるのですが、入力パラメータでは、2進数で数を指定することができないのです。


をテキスト化し、その文字列をパースする......。
 

(かっこいいですね)。

入力パラメーターには、10進数で数値を指定することができます。そして、各ビットを個別に引き出すことで、2進数に変換したり、すでに2進数の符号列として利用することも可能です。というくらいシンプルです))。


 
Vladimir Pastushak:

文字列を入力して、その文字列のペアリングを解除する...ということが可能です。

下書きとして、文字列の長さや、文字列の中に「0」と「1」しかないことを確認するために、いろいろなチェックをしました。しかし、新たな問題が発生しました。このような文字列は、テスターで最適化モードで 実行することができません :) 。
 
Aliaksandr Hryshyn:

(かっこいいですね)。

入力パラメーターには、10進数で数値を指定することができます。そして、各ビットを個別に引き出すことで、2進数に変換したり、すでに2進数の符号列として利用することも可能です。単純なことです))。



バイナリーパラメーターとして設定することは可能ですが、入力パラメーターにバイナリー表現として提示することはできません。

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

バイナリ形式の入力パラメータ

ウラジミール・カルプトフ, 2017.04.05 09:24

char型、short型、int型、long 型のヘルプからの例です。

... 整数型変数では,接頭辞 B を用いて 2 進形式で値を指定することができる.例えば、取引セッションの労働時間をint型の変数にエンコードし、必要なアルゴリズムに従ってその情報を利用することができる。

//--- для рабочих часов ставим 1, для нерабочих указываем 0 
   int AsianSession   =B'111111111'; // азиатская сессия с 0:00 часов до 9:00 
   int EuropeanSession=B'111111111000000000'; // европейская сессия  9:00 - 18:00 
   int AmericanSession =B'111111110000000000000011'; // американская 16:00 - 02:00 


しかし、入力パラメータをバイナリ形式で指定する(正確には1111111000000000の 形式)ことで

//+------------------------------------------------------------------+
//|                                                         Test.mq5 |
//|                                      Copyright 2017, CompanyName |
//|                                       http://www.companyname.net |
//+------------------------------------------------------------------+
#property script_show_inputs
//--- для рабочих часов ставим 1, для нерабочих указываем 0 
input int AsianSession=B'111111111'; // азиатская сессия с 0:00 часов до 9:00 
input int EuropeanSession=B'111111111000000000'; // европейская сессия  9:00 - 18:00 
input int AmericanSession=B'111111110000000000000011'; // американская 16:00 - 02:00 
//---
string text="10";
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnStart()
  {
//---

  }
//+------------------------------------------------------------------+

は動作しません。入力パラメータでは、数値のバイナリ表現が通常の数値に変換されます。

入力パラメータ


質問:入力パラメータの値を正確にバイナリ形式で設定する方法はありますか(ユーザーが数字を見るのではなく、111111111000000000の ようなバイナリ表現だけを見るようにする)?


 
Close == Openのローソク足の場合、あまり信頼できる状況ではないようです。
そして、-1 0 1というオプションが提案されています
ここで、0はどの方向にも適しています。
 
Vladimir Karputov:

文字列の長さや、'0'と'1'のみが文字列に含まれているかなど、さまざまなチェックを行った上で、ドラフトとしてそのようにしました。しかし、新たな問題があります。そのような文字列は、テスターで最適化モードで 実行することができません :) 。


入力パラメータをint型にした後、int型をstringに変更してパースする ....

 
Sergey Dzyublik:
Close == Openのローソク足の場合、あまり信頼できる状況ではないようです。
そして、-1 0 1というオプションが提案されています
ここで、0はどの方向にも良い

クローズ==オープンのバリエーションは信頼性が低いので却下→そのようなローソクは方向性を持たない。
 
INTって何?
文字列や配列を介してのみです。
 
Vladimir Karputov:

バイナリ形式のパラメータとして設定することは可能ですが、入力パラメータでバイナリ形式で表現することはできません。


10進数で普通の整数として設定し、そこから個々のビットを引き出せると書きました。
 
Vladimir Karputov:

私は "クローズ==オープン "オプションは信頼性が低いとして破棄しました→そのようなローソクは方向性を持っていません。

では、流体図を通して すべてのバリエーションを検討する必要がありますね。
投げ出されたものは、-30秒の時間軸で本格的な演出をすることができたので