アルゴリズムと機械の外国為替戦略 | OneStepRemoved

  • Articles
  • Sophisticated Web Sites
  • Automated Trading
  • お客様の声
  • お問い合わせ

プログラミングがうまくいかないこと

4 月 26, 2013 によって ショーンオバートン 2 コメント

良い取引システム設計に焦点を当てるこのビジネスを始めた. プロセスの大きい役割を担う明らかにプログラミング.

What most people don’t realize is that the programming experience can be quite challenging. When a project takes more time than expected, it tends to take far more time than the original estimate.

Programming is like Air Travel

Many of you travel regularly. Flying is pretty much a given when you travel any significant distance.

Programming is like flying

Programming is like air travel. Small problems compound into big ones.

How many times have you traveled and the flight arrived 5 hours early? The question is laughable. It doesn’t happen.

20 minutes early to the gates makes most frequent fliers ecstatic. They know that arriving early, even if only by a few minutes, is as good as it gets.

Performance does relate to the airline to some degree. Checking for maintenance problems prevents surprises 20 minutes before takeoff or, heaven forbid, in the air.

The crew arriving on time helps. The last time that I flew from Dulles to Dallas, the replacement crew arrived at the gate an hour late.

The last two times that I flew to Dublin, United Airlines lost my bags… 両方の時間. 時々, it really is 100% the airlines’ fault.

Force majeure

Those experiences aside, how many times do airlines goof up so badly that travelers arrive days late? Travelers do arrive with severe delays, but those circumstances are usually weather related. It’s outside of the airlines’ control.

I remember the volcano in Iceland that erupted a few years back. People were literally stuck in Europe for a week.

The sequester is a great example. In what’s certainly a willful choice to inflict pain on fliers, the FAA decided to furlough air traffic controllers at major airports.

Those airports are the same ones that I frequent. When I fly to Dublin on Tuesday and I’m potentially 4 hours behind schedule, I’ll be angry. しかし, I’ll also know to direct that anger at Congress instead of the airline.

Programming and Travel are Fragile Systems

The idea for this article came from Antifagile, where Nassim Taleb discusses how small changes create exponential problems.

Travel is familiar to all of us, so when we think about the delta, which represents the small changes, picture it as the time delay or increase in transit time.

Consider the effects of 3 different deltas

Consider my layover in Newark. How late can I be before I miss the connecting flight. If I miss the connection, how long does it delay me?

20 分 – The change here is minimal. I will suffer a great deal of (probably unnecessary) stress. My wife and I might jog across the terminal, looking slightly foolish in the process. それにもかかわらず, the chance of making the connection is near certain.

60 分 – This is scenario is right on the verge of disaster. My poor wife will listen to me groan and bite my nails as I flip out about missing the connection.

If we do make the flight, it’s only because the airline decided to hold he flight at the gate. Doing so inconveniences hundreds of waiting passengers while a handful of travelers scurry to board the flight.

If they don’t hold the flight, まあ, then I’m screwed.

The best scenario the can occur after missing the connection is that the airline transfer us to another European destination. The airline then needs to put us on a partner airline to fly us into Dublin, backtracking where we just came from. A one hour delays causes us to

  1. Wait for another European flight
  2. Fly an extra hour to a different destination
  3. Wait for a Dublin connection in a different airport
  4. Fly an hour backtracking

A delay like this could easily result in a an extra 6-8 hours of travel time- all from a 1 hour delay.

3 hour delay – Catching another flight to Europe looks really optimistic. The best case is that the airline put us up in a hotel for the night and sends us on tomorrow’s Dublin flight. A 3 hours delay expands to a 24 hour wait, plus the remaining flight time.

Programming

わかりました, ショーン, わかりました. What does his have to do with programming?

Just like traveling, a programming project can only go so well. Whenever something unexpected occurs, the problems compound themselves exponentially.

The Evil Delta

Time is the enemy of the traveler. In programming trading robots (or programming anything, 本当に), the delta is the degree of surprise.

Operating system changes: We developed a custom MT4 plugin for a client that likes to trade price ladders. One week after delivering the software, Microsoft released an operating system update. The update broke code in the software that we provided.

通信: You believe that you asked for one thing, but you get another. Items that seem like minor oversights can blow up into major problems.

Chris worked on a project last month that sought to execute a trading grid at precise intervals. Chris’ original version used market orders. A handful of bugs popped up, but the core of the original version worked well. The client, しかし, assumed we would use pending orders and requested that it be changed.

The change ruined the original design. もっと重要なこと, we discovered that achieving exact execution was fundamentally impossible because we couldn’t precisely control the execution time.

What started off as a 5 hour project blew up to 30 hours of work. The delta from communication surprises is evil.

Basic market mechanics: Sometimes we get asked questions where the trader should know the answer. A common trader-induced question that we get asks why trades suddenly close at market. Traders should have enough knowledge and experience to avoid such basic problems.

The delta on these issues varies, but they’re not as severe as communication issues. They can go anywhere from 20 minutes spent researching the issue to several hours.

Things that can go right in a programming project

  1. Deliver code on time. The time requirements for on time delivery are the easiest to predict. Projects start with a goal. The coder has a good idea for the amount of time required to build a working version.
    I view this as analogous to a flight crew arriving on time. The bar is pretty low here.
  2. The code works bug free the first time – no doubt your first response here is, “That’s the way it should be!”. It’s certainly the way that I’d like it to be, but it often doesn’t work out that way.
    Most software problems result from communication. When we write a scope of work and program an 専門家アドバイザー, we believe that we fully understand the requirements.

    It often turns out that some of the requirements were not communicated. The product literally follows the order. It’s only when viewing the trades enter the market that the client realizes that they did not ask for something – just like the client that wanted pending orders instead of market orders. They incorrectly assumed that was understood when it was not. The experience of seeing the missing features is the only way the user recognizes the oversight.

  3. Treat people nicely – Programming is a service, but nobody wants to feel like the person on the other end only cares about money. I genuinely care about designing trading systems and helping people. When a customer does business with OneStepRemoved, I want them to trade better and to know that we care about their long term success.

    You can always email me personally if you feel you’ve been treated otherwise.

  4. What kind of surprised have you dealt with when programming your trading robot? Share your experiences in the comments section below.

以下の下でファイルさ: メタト レーダーのヒント, MQL (オタクのため), NinjaTrader ヒント タグが付いて: programing, robot

Mql5 を市場で販売の EAs

4 月 19, 2013 によって ショーンオバートン Leave a Comment

MetaQuotes を通じて外国為替市場のアップル iTunes モデルに従うことを決めたその Mql5 を市場. 会社, 開発者は、メタト レーダーの所有者であります。, 独立した web サイトの多数のアイデアを撮影し、傘下のすべてのそれらを置くことを試みた.

トレーダーの多くは、このことについて絶叫しています。, 過去数週間で特に. MT4i は MT4 の動作を変更する権限のないプラグインを組み込まれて人気のある web サイトです。. プラグインが大人気. 残念なことに, 彼らはまた、ソフトウェアの変更を禁止するソフトウェア使用許諾契約に違反.

商業環境でメタト レーダーを使用する場合, その後、あなたは彼らが設定する規則によってプレイが余儀なくされます。. 念頭に, いくつかのプロとなぜ mql5 を市場を検討する可能性がありますの短所を書きたいです。.

MQL5 market web site

Mql5 を市場 web サイトのスクリーン ショット.

Mql5 を市場を使用する利点

数週間前、Nassim タレブの Antifragile をお読み. 彼をヒットする愛している優勢なテーマが少しの欠点と無限の利得を持つ機会を見つけることです。. このカテゴリに収まる非常に専門家のアドバイザーを販売.

1 つからの範囲を開発するためのコスト $360-540 通常の EA のため. ほとんど私の顧客のためのペイオフは自分たちのアイディアのパフォーマンスを見つけることの興奮. 開発費の支出をした後, 欠点は、します。 100% 頂いた.

私は mql5 を市場について好きなことは無料オプションの利点を取ることができます。: ボックス内のビジネス. トレーダーには、EA を供給し、それを交換するのみ必要があります。. MetaQuotes 文字通りはすべてあなたのため. 彼らは製品を販売します。, パフォーマンスを追跡します。, 顧客サービスを行う, お金を集めるし、点検を書く. 悪くありません.

MetaQuotes 処理、暗号化および製品のライセンスすることも好きです。. 数百の顧客は何気なく過去のエキスパートアドバイザーの販売の可能性について尋ねた 5 年半. 非常にそれらのいくつかは前進します。.

理由は時間のトンがかかる (すなわち, それは高価です) セキュリティ プロトコルと暗号化ファイルへのアクセスを制御するために開発するには. それはさらにもっと高価な PayPal のような決済システムとの統合.

ほとんどの人が気まぐれで Ea の販売についてお願い. それに数千ドルを費やす価値はないです。.

MetaQuotes のシステムはハードルを排除します。. 自分のサイトには、製品を登録して、フォームの入力と同じくらい簡単です可能性がありますあなたのエキスパートアドバイザーを販売.

成功のあなたの確率は非常に高い? いいえ.

成功する機会があるでしょう、少なくともしてのフォームへの入力以外は何もする必要はありませんが、 5 分. 良い質問です。, 「なぜそれをしない?”

付加価値税

EU ベースのトレーダーが単にヨーロッパのほとんどの不条理の VAT 率のため MetaQuotes を使用を検討して真剣に. MetaQuotes 料金、 20% 取引商品の販売のための任務.

私が知っているほとんどの EU 国の付加価値税が既により高い 20%. を開始 2015, EU businesses will be required to collect and track VAT payments for each country where the end customer resides.

めちゃくちゃ複雑で時間のかかる作業は、すべてのこれらの詳細を追跡. それは MetaQuotes に安く、 20% 委員会. こうも報告し、EU 全体にわたって異なる付加価値税を収集の手間を回避できます。.

短所

短所のみオンライン ビジネスを実行しての経験を持つ人々 に影響します。. 自分は成功したオンライン ビジネス. 製品のオンライン マーケティングの挑戦は私に決してオンライン マーケティングを行っている誰かにやり方を威嚇していません。.

私の販売人との関係から来る. 私は Facebook や Twitter のアカウントの web サイトや会社を通じてオンラインでこれらの接続を構築します。. 顧客が購入の意思決定を作るとき, 人として私を信頼しているからです。.

絶対的なものとしてその関係を見る, ビジネスのあらゆる種類を実行している最も重要な要素. だから, 私はその関係の制御を失うし、MetaQuotes に引き渡す場合します。?

ビジネスの所有者は、群衆の中にブレンドします。. メタト レーダー 5 その人気がないも, しかし、既にあります。 250 販売のための別のエキスパートアドバイザー. 唯一のマーケティング戦略は、MQL5.com のページを設定する場合は、群衆の中から目立つ製品のわずかな希望があります。.

お客様のプロファイル

大半 MQL5.com 訪れる国欧米の価格が法外なようだから. [はい], 余裕がある訪問者の一握り、 $1,000+ 最も良い戦略充電価格タグ. パーセンテージ, しかし, それは小さい.

アレクサ, トラフィック ランキング サイト, 大まかな近似としてのみ有効です。. 視聴者タブをクリックし、スクロールする国による訪問者. Alexa は言う米国とオーストラリアがのみ形成 10% mql5 をサイトの全トラフィックの. よくないです.

ロシアで最大のトラフィック ソースを作る 18% トラフィックの. 億万長者オリガルヒの白雲母の考えている限り、, 可処分所得に関連付けるできる国ではないです。. リストで他の国のほとんどは同様のプロファイルを持っています。.

サイト上のベンダーはもっとより多分似たような国から来る. 私は助けることはできませんが私の友人のアルディと思う, 月の数百の木びき台が良い収入をインドネシアの都市から来る人. 彼の品質のエキスパートアドバイザーを売ることをいとわない $99. それは彼にお金をたくさん.

多く Ardis すべてオーストラリアまたはブリットに彼の品質の製品を販売したいためにそこがあります。 900 頭の良い. 5 x 平均売り手よりもより高価なは、価格点はばかげて見える.
、 20% commission and loss of control over payments doesn’t seem appealing, いずれか. 戦略は、ページを置くとそれ以外の場合はありませんをもらって販売する場合, その後、フェアプレー.

任意のまともなビジネス オーナーが自分で行うことができなかった彼の販売手数料を支払うことを喜んで.
ということで, 良いアイデアのように見えるしない排他的なマーケティング戦略として mql5 を使用して, いずれか. 私は販売のため Ea のカップルを介して反転. 1 ページではなく含まれるより多くの情報の販売のページへのリンク. 1 つのページ説明を置くことができます。, かなり引き金を引くために誰かを取得するのに十分にあるし、.

結論

私の聖書の研究では、みんなの一つはオンライン マーケティングの会社を所有しています。. 我々 は交通を運転する web サイト、他とどのように重要なソーシャル メディアについて雑談していた.

彼はどのように多くのお客様の製品のオンライン販売の目的に近づく彼述べられる. 彼は新しい顧客を求める最初の質問は, "何があなたのマーケティング戦略です。?”

彼らが通常に対応, "ええと、, 1 つを持っていません。,「夢のフィールドの web サイトでは冗談好き彼. それを構築する場合, 彼らが来る.

オンライン マーケティングの経験を持つ誰もが冗談を取得します. 誰もが web サイトに現れる, 彼らは確かに製品を買わないと, ページがあるからといって. お客様との関係を構築する時間と労力がかかる.

Mql5 を市場で起こっていることを見ない, 現在または将来的に. MetaQuotes は大企業です。, だから私は誰かが何かを購入することを確認して. お使いの製品はないだろう.
以外のサイトに多くの時間を置かない、 5 用紙記入にかかる分. それは, 結局その程度です, 無料オプション.

以下の下でファイルさ: メタト レーダーのヒント, MQL (オタクのため) タグが付いて: 専門家アドバイザー, MetaQuotes, メタト レーダー

専門家アドバイザーの仮定

11 月 20, 2012 によって ショーンオバートン 3 コメント

彼らの最初のカスタム プログラミング プロジェクトを発注している多くのお客様. 彼らは作成したいと考えてエキスパートアドバイザーの一般的なフレームワークを知っています, しかし、彼らは、具体的に求めるために何がわかりません. この記事の目的は、最も一般的な質問に関連してどのようにEAの機能の概要を説明することです.

私は専門家のアドバイザーが取引に使用する通貨ペアと時間フレームを選択するにはどうすればよいです?

エキスパートアドバイザーは、ユーザーがそれを適用し、チャート上で実行されます. あなたはEURUSD M15チャートにEAを取引したいときは, EURUSDチャートを開きます. M15までの時間枠を変更します. EAを適用します. すべての決定は、チャートに基づいて行われます.

入力はどのようなものがあります?

入力は、ユーザーが追加のプログラミングなしに変更することができます変数です. トレーダーらによると、多くの場合、彼らが使って好きな指標を知っています. 設定は、あまり明確で. 入力は、プログラマは、あなたの心を変更するたびに電子メールで送信することなく、微調整や実験を可能に. より具体的な例では、移動平均を使用してEAを考慮することです. です 50 より良い期間MA 55 期間MA? 期間を作るの入力はトレーダーが素早く簡単に試すことができます.

どのように私のEAは、それがトレードべきか多くのたくさん選ぶん?

私はあなたがそうでなければ私に教えていない限り、あなたは、固定ロットサイズを交換したいと仮定. 私たちのSOWのほとんどは、 ロット 入力. あなたが入力した金額を入力します。表示される売買シグナル ロット. クライアントは頻繁に他のタイプを要求 お金の管理. あなたは明示的の種類を述べる必要があります お金の管理 あなたが含めたいか、そうでなければエキスパートアドバイザーにされないこと.

なぜすべてのSOWは、停止を含む、利益を取るん?

それが害はありませんにいるん主な理由. ゼロにそれらを設定すると、その機能のそれぞれを無効にします. クライアントの大半は停止し、制限値を選択することを可能にしたいです. 私たちのプログラミングテンプレートは自動的には、開発プロセスをスピードアップするために、私たちのクライアントのためのコストを削減することが含ま.

一般的なトレーリングストップとAの違いは何ですか 損益分岐トレーリングストップ?

一般的なトレーリングストップは、ほとんどの人がストップを末尾の単語が表示されたときについて考えるものです. それは見て最も有利な価格から設定距離を維持. A 損益分岐トレーリングストップ より複雑です. これは、以前のブログ記事で覆われていました.

SOWの目的は何ですか? なぜあなたはすべての詳細を下にピン止めのようにしつこいです?

私たちのプロジェクトのすべては、プリペイドされています. 我々はすべてのプロジェクトのためのSOWを必要とする前に、, OSRとクライアント間の期待がしばしば異なっ. 顧客は一つのことを期待しました; 私たちは別の期待しました. それは、誰もがプロジェクトを理解することを確認するために余分な時間を割いて価値があると何を期待されています.

SOWはまた、任意のお金が手を変更する前に、仕事上の関係を開発することができます. あなたは既に私たちは上から下にプロジェクトを理解していることを知っているとき、あなたは購入すると、より快適に感じます.

私が取引したいです 10 当時の通貨ペア. なぜ単一EAはすべてを管理することはできません 10 通貨ペア?

単一のエキスパートアドバイザーは、技術的には、複数の時間枠と複数の通貨を管理することができました. 私はアイデアが素敵であることを認識します; なぜ管理 10 あなただけ管理できるのEA 1 EA? 問題は、MT4のEAを更新するために、着信ティックに依存していることです. エキスパートアドバイザーはAUDUSDを売買したいと考えていますが、EURUSDに適用されていた場合, ユーロドルは、着信見積もりを受け取るまでのトレードオフ起動しません. それはよくありませんわ, 特に、短い時間枠で. 予想よりも後でオフ発射の取引の危険性があります, 更新に時間がかかりすぎて後続の停止, など. もっと重要なこと, 実行は常にためのボトルネックになります トレード状況がビジー状態 エラー.

私はこれらのブログの記事に関する質問を歓迎. あなたは、EASがどのように機能するかを常に不思議に思っていましたし、あなたの質問は、ブログで答えたい場合, その後、私送ります Eメール.

以下の下でファイルさ: メタト レーダーのヒント, MQL (オタクのため), 戦略の取引のアイデア タグが付いて: EA, 専門家アドバイザー, メタト レーダー, mt4, プログラミング

MQL 組織

5 月 1, 2012 によって ショーンオバートン Leave a Comment

すべての MQL エキスパートアドバイザーと指標のいくつかの重要なコンポーネントが含まれて. The general organization of MQL programs does not vary too often.

Files usually start with a declaration of #defines (pronounced pound define) global variables and external variables, also known as an extern data type. They appear near the top of the code to help the read gain an understanding of the variables that will run in the program. 理想的には, the names of the variables and how they are organized should assist the programmer with form a general understanding of what the expert advisor or indicator might do.

The next section is usually the init() 関数, which is the word initialize abbreviated. This section of the code is particularly relevant to programming custom indicators. Most of the general indicator settings like declaring the indicator buffers, the colors to use and other basic features are set within this section. I use init() in every expert advisor that we build to convert the inputs into an appropriate setting for the broker’s pricing. If a client inputs a stop loss of 50 into an EA, I don’t need to do anything if it’s a 4 digit broker. I do, しかし, need to convert the input to work with a 5 digit broker. I run a quick check within init() to see if Digits == 3 || Digits == 5. もしそうなら, then I multiply inputs affected by that setting by 10.

deinit() is the least important section; it’s pretty easy to deinitialize an MQL file because it usually does not take up any system resources. It’s rarely used for anything important. The only uses that I ever have for deinit() are to close an open file handle or to make some sort of closing note. This is often done either on the chart directly through the Comment() function or more often by writing directly into the ログ ファイル.

The start() function is the real meat of an MQL expert advisor or indicator. Whenever MetaTrader detects an incoming tick, it alerts any MQL programs. Those programs then call the start function so that it can do whatever needs doing. All trading operations, calculations, account monitoring, など, occur within this section.

All of the other custom functions within the program appear below start(). I usually prefer to rank them in order of their importance or the frequency with which I call them throughout the program. The order of placement of functions does not affect performance in any way at all. It’s strictly a cosmetic practice that makes programming code more legible.

以下の下でファイルさ: MQL (オタクのため) タグが付いて: deinit, 専門家アドバイザー, インジケーター, init, mql, MQL4, スタート

MQL データ型

4 月 30, 2012 によって ショーンオバートン 2 コメント

MQL4 は、プログラム内の 7 つのデータ型をサポートしています. Each type is associated with different trading tasks that programmers need to perform. The goal of this article is to provide a brief reference for when to use each data type.

The double data type is probably the most common type found in MQL programs. This is because it is the type responsible for calculating floating point numbers. Say for example, that an expert advisor needs to determine when to adjust a trailing stop. The expert advisor looks at the current price and subtracts it from the current stop loss to maintain the appropriate distance (1.3230-1.3209=0.0021). The distance requires a decimal point. When the expert advisor saves the distance to memory, it needs to save the information after the decimal point. That forces the programmer to choose a variable of type double.

Integers, or int, is the simpler version of double. Double values require a decimal place to hold the number’s value accurately. An integer, or whole number, does not have a decimal place. Integers are appropriately used when the MQL programmer knows for a certain fact that the number will never contain a decimal. An example would be if you wanted to implement a max trades feature. If the number of open trades in the account exceeds a certain number, then prevent trades. We know in advance that there is no such thing at 4.76 trades being open. There can only be 4 trades open or 5 trades open. This clearly indicates the need to use an integer.

Datetime values are just what they sound like. They represent both the date and time. More specifically, a datetime variable represents the number of seconds that have elapsed since January 1, 1970. This is where it gets a little tricky. The number of seconds that have elapsed is actually an integer. Datetimes store integer values but then associate them with a date and time.

値 0 would indicate that the time is 00:00 1 月 1, 1970. 値 60 stands for one minute later at 00:01 1/1/1970, ように. One benefit of knowing that the datetime type stores information as integers is that you can easily determine the amount of time that happens between an event. If the event starts at 15:35 and ends at 18:12, you can simply subtract 18:12 – 15:35 and wind up with the number of seconds between those values. That information can then be used to determine the number minutes/hours/days between the two events.

The color data type, not surprisingly, holds color information such as black, イエロー, red and so on. Much like datetime types, color also uses integers to store the information. The difference, しかし, is that extracting the color information from the integer is not at all obvious. Increasing a color type from 32768 by one will not necessarily make it more or less green. Colors use the integer information to retrieve the red, green and blue components of the color in hexadecimal format. Explaining hexadecimals is well beyond the scope of this article. It’s unlikely to come up in your MQL programming. I’ve been doing this for over five years and only came across one project that required manipulating a color in way more complicated than alternating between two set colors.

A string is anything that resembles a word or sentence. It always uses quotes to contain the information. My favorite use of strings is to gather information to display on the chart or in a ログ ファイル whenever I need to debug an expert advisor.

Char is the final data type. It’s so closely related to a string that I wasn’t even aware this type existed until I looked up information for this article. If we study the word “貿易”, then we will find that it is composed of the five characters t, r, 、, d and e.

A final note on data types. There are two ways that types are held in memory. An extern variable is one that shows up in the inputs screen whenever an expert advisor or indicator loads. Static variables are the opposite. They remain within the MQL program and never visible outside of it.

以下の下でファイルさ: MQL (オタクのため) タグが付いて: bool, color, data type, datetime, double, extern, int, mql, static, 文字列

メタト レーダー間の変換の問題 4 MT5

6 月 14, 2011 によって Chris ジマー 4 コメント

私は最近、プロジェクトを完了します。 変換後のコードを書いたメタト レーダーから 4 MT5 に. このポストは 2 つの言語間で前後の移動の難しさにいくつかの洞察力を提供する必要があります。.

1) MT5 オブジェクトについての学習; そのメソッドとメンバー

MT5 は MT4 からかなり違う. MT5 と比較してください。, MT4 は、むしろ古風な非オブジェクト指向の C’ プログラミング言語で、限られたのようなステートメントの設定します。. MT5 は、オブジェクト指向言語部分を追加します。. オブジェクトだけでなく, メソッド, メンバー, MT5 はまた様々 な構造を追加します。, 列挙型とその他の構造. このため私は MT4 の EA になるものを達成するために MT5 の方法を見つけなければならなかった. つまり、言語のドキュメントを読んでかなりの時間, ロジックの問題がトリミングされた構文に関連していない場合、ニュースレターの例、フォーラムの議論を熟読, コーディング, デバッグ. 特にトラブルの 1 つの領域は、アレイ内で過去のデータが返される方法です。.

2) MT5 を組み合わせた複数の取引は 1 つの貿易に.

複合取引同じストップロスを使用し、利益を取る場合、これはあまり問題ではないです。. しかし, この特定の EA で, 異なる使用同じ貿易信号上に配置 2 つの取引は、利益を取る. これは最初の貿易パラメーターと監視時のストレージを必要な入札か部分的なすぐ今の貿易を組み合わせて決定.

3) 、 戦略テスター 複数の通貨ペアをアクセスする EA の仕事をしていた; インジケーター ハンドルの作成.

この特定の EA を MT4 から MT5 に変換する主な理由は MT5 戦略テスターの活用、, 可能 backtests 複数の通貨ペアで. 初期構成で EA は、すべてのチェック作業し、アクセスし、多くの指標をテストする最も有利なペアを見つける様々 な通貨ペアをテストします。 (通貨ペア、チャート期間をに基づいてください。) 選択した通貨ペアの.

試行錯誤しながら古いインジケーター ハンドルの取り外しと新しいインジケーターの作成がすべての目盛り税金メモリと EA がこれらのリソースを使い果たすだろうポイントに CPU リソースを処理することがわかった。. これらのリソースの需要を減らすための様々 な調整を試みた後, 外部ソースからのアイデアを見えるようになり (メタト レーダー フォーラムや様々 なブログから). しようとするいくつかのアプローチのことを決めたいくつかのフォーラムやサポート チケットの交換の後, 再試行ループおよび必要なデータの存在をテストするメソッド呼び出しの使用を含む. これは程度にだけ働いた (通貨ペア数が減少).

最後に EA の初期化の部分ですべてのインジケーター ハンドルを事前に決定する前に、いくつかの他の方法を試してみました. 期間使用されるたびに、各通貨ペアと各通貨ペアの異なるインジケーター ハンドルを割り当てるならなかった. 実際戦略テストでこれは EA の初期ロード時間を長く大きくがだけ拡張性の高いソリューション.

4) 履歴データを取得いくつかの手動セットアップが必要です。.

1 つの最善の解決策の発見を一部遅延問題 3 (上記) 様々 な通貨ペアの過去のデータだった戦略テスターにアクセスしていたクライアント端末上に存在しないということです。. インジケーターのデータの読み込みに関係するエラーの多くはデータのこの不足のためされ試みられている他のソリューションとは無関係だった. プログラムでこのデータを要求するよりエレガントな方法がある気がしながら, 私はどのようにこれは、まだ時に来ていません。.

私は手動で各通貨ペアのチャートを読み込んでをしまった, グラフの自動スクロールをオフ, テスト中の時間の期間にわたって再度間隔. 各通貨ペアのチャートをロードする持っていただけではなく, グラフの期間を変更しなければならなかった、 4 または 5 さまざまな指標によって使用された別の期間. 私はそのインジケーターをチャートに追加することも. この方法でテストの戦略で必要な履歴データの読み込みを強制することができました. 私いないテストされていた小さなウィンドウ内でこれは非常に煩わしい作業をなるかもしれない時間の最近の時代に.

以下の下でファイルさ: メタト レーダーのヒント, MQL (オタクのため), 未分類

関数が参照されていないと exp ファイルから削除されます。

5 月 31, 2011 によって ショーンオバートン Leave a Comment

MT4 コンパイラは、ソース コードの一部のコンポーネントが慣れていないときに警告を発行が好きです。. このメッセージが表示されたら, メタト レーダーはこの未使用部分のコードをコンパイルされたファイルから削除することを決めたという.

事実、MetaEditor それの警告をラベルは誤解を招き. 否定的な方法ですべてのあなたのコードは影響しません. それは実際に不要な部分を削除することでファイルを高速化します。.

以下の下でファイルさ: MQL (オタクのため) タグが付いて: metaeditor

メタト レーダーのインジケーターを変更する色

5 月 6, 2011 によって ショーンオバートン 5 コメント

多く カスタム インディケータ メタト レーダーの使用傾向や市場の状態の変化を示すために色を変更する行. 我々 を得るのより一般的な要求間でこれらの種類のインジケーターが プログラミングの専門家アドバイザー. 残念なことに, これらの指標はしばしば問題を提示します。. グラフに表示される内容は必ずしもインジケーターが言う.

下の画像を見てまたは完全なサイズでそれを表示するリンクをクリックしてください. You'll notice that I included the data window for the indicator, SuperTrend であります。. 左から右へ歩くときに, 突然、データ ウィンドウではダウン トレンドにトレンド Up から移動しません. 代わりに, シフトする傾向が両方上下に期間の間に.

MT4 Color Changing Indicator

視覚的効果は一目瞭然で, the numbers do not clearly indicate the indicator's condition. 実際, インジケーターは完全真計算を偽る状況が多い. 最後のバーは緑色、インジケーターでは、現在のバーが赤、緑です。, インジケーターが緑から赤に切り替え、ことすることができます安全に仮定し、.

When the indicator says it's red-green and the past bar was red-green, トリッキー取得します。. We are forced to keep looking back through time until a "clean" 赤または緑の値が表示されます。. This enables us to capture the indicator's real value.

そうでないです。, しかし, 幸せなトレーダーは、します。. インジケーターが赤と緑をプロットする場合を考えてみます, 赤, レッド ・ グリーン, 赤. ポイントからラインを描画方法のためメタト レーダー, インジケーターが赤い実線として実際に表示されます。 – 長い, 美しい売り信号, 右?

実際, その真の計算値が赤, グリーン, 赤, グリーン. この不具合は、いくつかの醜い驚きをすることができます。. これはダウン傾向と線が赤色に点灯として表示されますトレーダー期待に乗るとき特にそう, インジケーターが (このように EA) 保持フリップ貿易方向で flopping. あなたがこれを維持するときの心 カスタムインディケータを Ea を構築.

以下の下でファイルさ: メタト レーダーのヒント, MQL (オタクのため)

メールで無料の取引戦略

トレンド分析

申し訳ありませんが. No data so far.

アーカイブ

  • ルール
  • 外国為替市場のしくみ?
  • インジケーター
  • メタト レーダーのヒント
  • MQL (オタクのため)
  • NinjaTrader ヒント
  • Pilum
  • QB プロ
  • お金を失うことを停止します。
  • あなたの概念を歴史的にテストします。
  • 戦略の取引のアイデア
  • 未分類
  • What's happening in the current markets?

翻訳


無料の取引戦略

プライバシー ポリシーRisk Disclosure

著作権 © 2023 OneStepRemoved.com, (株). すべての権利予約.