論理的で面白い...しかし、エキスパートアドバイザーに不必要な機能(スケジュール、ニュース、その他の外部的なもの)は、ずいぶん前にあきらめた。
ターミナル変数を使ってエキスパートアドバイザーのモードを 設定する方が便利だ。Expert Advisorのパラメータにいくつかの変数名を指定し、その値を使って自分自身を方向付ける。
論理的で面白い...しかし、エキスパートアドバイザーに不必要な機能(スケジュール、ニュース、その他の外部的なもの)は、ずいぶん前にあきらめた。
ターミナル変数を使ってエキスパートアドバイザーのモードを設定する方が便利だ。Expert Advisorのパラメータにはいくつかの変数名が与えられており、その値を使って自身の方向性を決定する。
これらのトリックを補助モジュール内に隠すというアイデアです。ユーザーはTSの正式な記述を行い、トレーディング・エンジンがそれ以外のすべてを行う。
ところで、「取引モード」はEAロジックの構成案の結果に過ぎません。EAの取引ロジックを4つのアクションで記述すれば、取引モードは自ずと現れます。この4つのアクションを使ってTSの書き方を学べば、Expert Advisorを 書くスピードは数倍になり、エラーの数はゼロになる傾向があります。
このアイデアは、これらのトリックを補助モジュール内に隠すことである。ユーザーはTSを形式的に記述し、トレーディングエンジンが残りを代行する。
ところで、「取引モード」はEAロジックの構成案の結果に過ぎません。4つのアクションを使ってEAの取引ロジックを記述すれば、取引モードは自ずと現れます。この4つのアクションの助けを借りてTSの書き方を学べば、EAの記述 スピードは数倍になり、エラーの数はゼロになる傾向があります。
トレードモードが現れることは否定できない。しかし、これらのモードは外部から、外部手段で設定した方が良い。この方法では、EAはどう見ても不要なコードを「残し」、リソース(計算、開発、サポートなど)を食います。しかし、EAの代わりに、1つのリモコンから複数のフクロウをコントロールできる、一種の「ショッピングモール」を手に入れることができる。
まあ、一般的には、外部から設定することになる。例えば、取引モードを視覚的に作成することができます。Win32でも可能です。また、取引モードをパラメータとして配置することも可能です。エンジン自体には取引モードはありません。このおかげで、アドオンや拡張機能からストラテジーを独立させる ことができます。アドオンや拡張 機能は使っても使わなくてもよく、シンプルに記述されており、必要に応じて使うことができます。
トレードモードが現れることは否定できない。しかし、これらのモードは外部から、外部手段で設定した方が良い。この方法では、EAはどう見ても不必要なコードを「残し」、リソース(計算、開発、サポートなど)を食います。しかし、EAの代わりに、1つのリモコンから複数のフクロウをコントロールできる、一種の「トレーディング・コンプレックス」を手に入れることができる。
なぜそれが良いと思うのですか?あなたのやり方は最低です!あなたがどれほど現実的で、テスターを使っていないのか、もっと教えてください。
EAの動作結果を決定する機能はたくさんありますが、テスターではチェックできません。
EAの動作を変更するものはすべて、EAのプロパティウィンドウを通して規制されるべきです。
素晴らしい記事だ。早く翻訳してくれ!
理解し始めたばかりだ。XML戦略の説明が欲しい。そして、少なくともXMLファイルが欲しい。IMHOのアーカイブにはありません。
ありがとうございました。
理解し始めたばかりだ。XML戦略の説明が欲しい。そして、少なくともXMLファイルが欲しい。IMHOのアーカイブにはありません。
ありがとうございました。
ストラテジーのXMLシリアライズの例:
<Global> <Strategies> <Strategy Name="MovingAverage" Magic="100" Timeframe="PERIOD_M1" Symbol="Si"> <TradeStateStart> Stop</TradeStateStart> <Params> <FastMA> 1</FastMA> <SlowMA> 3</SlowMA> <Shift> 0</Shift> <Method> MODE_SMA</Method> <AppliedPrice> PRICE_CLOSE</AppliedPrice> </Params> </Strategy> <Strategy Name="MovingAverage" Magic="101" Timeframe="PERIOD_M5" Symbol="SBRF"> <TradeStateStart> BuyOnly</TradeStateStart> <Params> <FastMA> 15</FastMA> <SlowMA> 21</SlowMA> <Shift> 0</Shift> <Method> MODE_SMA</Method> <AppliedPrice> PRICE_CLOSE</AppliedPrice> </Params> </Strategy> <Strategy Name="BollingerBands" Magic="102" Timeframe="PERIOD_M15" Symbol="GAZR"> <TradeStateStart> BuyAndSell</TradeStateStart> <Params> <Period> 30</Period> <StdDev> 1.5</StdDev> </Params> </Strategy> <Strategy Name="BollingerBands" Magic="103" Timeframe="PERIOD_M30" Symbol="ED"> <TradeStateStart> BuyAndSell</TradeStateStart> <Params> <Period> 20</Period> <StdDev> 2.0</StdDev> </Params> </Strategy> </Strategies> </Global>
ストラテジーのシリアライズの問題は、次の部分で扱われています。この例はそこにあります。
こんにちは、
記事のソースコードがコンパイルできません。
返されたエラーは次のとおりです:
cannot cast 'DoubleValue' to 'ULongValue' Dictionary.mqh 210 14
lValue=(ULongValue)dValue;
ご協力ありがとうございました。
Pierre8r
- 無料取引アプリ
- 8千を超えるシグナルをコピー
- 金融ニュースで金融マーケットを探索
新しい記事 ユニバーサルEA:戦略トレードモード(その1) はパブリッシュされました:
EAの開発者は、プログラミングのスキルに関係なく、信頼性の高い取引プロセスを整理するため、同じタスクとアルゴリズムの問題に直面しています。この記事では、これらのタスクの解決に着手し、トレードアイデアを記述するための便利なCStrategyエンジンの可能性を説明します。
この記事で提供される方法を理解するため、短期移動平均と長期移動平均線の、古典的な取引システムを説明します。このように、平均化周期の大きな移 動平均は、小さい周期の移動平均よりも遅くなります。取引ルールは単純です。:移動平均が上向きにクロスした場合EAは買いエントリーします。逆に、下向 きにクロスした場合売りエントリーです。以下に模式的に戦略を表示します。
図1。2つの移動平均値に基づいた取引システムのチャート
作者: Vasiliy Sokolov