絵馬クロス! - ページ 20

 

EMAクロステスター

こんにちは、Codersguru!

まず最初に、素晴らしいMT学習コースに感謝したいと思います。 これがなかったら、どうやってこれほど早くMLを学べたかわかりません。 あなたは男です!

最近、同じペアと同じTFで複数の設定を実行しながらライブ口座でEAをテストできるように、様々な方法でトレードできるようにEAをプログラミングしています。 私はEMAのアイデアが大好きで、あなたの基準を使用するEAをコーディングしました。 このバージョンでは、同じTF/PAIRまたは任意の組み合わせで異なる設定を持つEAのインスタンスをほぼ無制限に取引することができます。 プログラムはMTでGlobalVariableを設定し、それを使ってユニークなIDを作成し、それをオープンしたトレードのコメントに挿入します。 そして、EAはこのユニークなIDを元に注文を処理します。

また、テスト時の設定を含む取引明細のようなcsvファイルを書き出す機能を 追加しました(expert/filesフォルダ)。このようにトレードした後は、様々なEAのトレードがあるので、本来はここで正確なトレード明細を取得することになります。

箱から出しても、V2と同じように機能するはずです。 誰かがライブに行きたい場合に備えて、私が追加したいくつかの余分な機能があります。

私はすべてに感謝し、私はこの1つであなたの考えを見ることに興味がある

Nic

 
hellkas:
こんにちは、Hendrickです。

設定とTF...

ありがとうございます。

こんにちは、Hellkasです。

これらは私のペアです(すべてのペアのタイムフレームは日です)。

usdjpy, eurchf, audusd, euraud, usdcad, usdchf, audcad, eurchf.

設定:デフォルト。ただし、Reversal=TrueとLots=0,1。

ご挨拶

 
Nicholishen:
こんにちは、Codersguru!

このプログラムはMTにGlobalVariableを設定し、それを使って一意のIDを作成し、それをオープンしたトレードのコメントに挿入します。 そして、EAはこの一意のIDに基づいて注文を処理します。

Nic

ニック

これは、注文やEAが作成する別ファイルの追跡には最適な方法です。私が書いている理由は、OrderComment()を使ってトレードにラベルを付けるという同じことをやって、それが将来の問題を引き起こすことが分かったからです。それは

1) コメント欄は文字列のパラメータで、そこにブローカーが独自のコメントを追加することができます。例えば、注文が利益確定やストップロスにヒットして決済されると、ブローカーはあなたのコメント欄にメッセージを追加します。また、注文が失効した場合、コメントはブローカーのメッセージで完全に書き換えられます。

2) GlobalVariable() 関数は double number 型で、OrderComment の入力として使用されると string 型に変換されます。変数の型を混在させることは、将来コードを書き直すときに、変数のミックスマッチエラーを引き起こす可能性があるため、プログラミングの習慣として良いことではありません。

そこで、OrderSend() 関数のMagicNumberフィールドを使うことにしました。以下のコードは、注文の追跡と記録保持のために使用するユニークな番号を生成するために使用する関数コールです。これは、100から999までの数字を生成します。この番号が使用されると、次のEAで使用するために新しい番号が1つずつ増加します。この関数の呼び出しをコードのinit()関数領域に置くと、起動時に一度だけ表示され、EAがオフになるまで保持されます。

int OrderID = 0;

int init() {

OrderID = GetTagNumber()

...

...

...

return( 0 );

}// init関数を終了します。

このOrderIDは、取引やファイルエントリーにラベルを付けたいときに使うことができます。

//«« <<<>>> »»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»

int

GetTagNumber() { // Sets the SystemTag To....

int PullNumber = 0;

if( GlobalVariableCheck( "PullTag ( Do Not Delete )" ) ) {

PullNumber = GlobalVariableGet( "PullTag ( Do Not Delete )" );

} else {

PullNumber = 100;

} // End If, GlobalVariableCheck:

GlobalVariableSet( "PullTag ( Do Not Delete )", PullNumber + 1 );

if( GlobalVariableGet( "PullTag ( Do Not Delete )" ) > 999 ) {

GlobalVariableSet( "PullTag ( Do Not Delete )", 100 );

} // End If, GlobalVariableSet:

return( PullNumber );

} // End Function, GetTagNumber:

OrderID変数はinit()関数の外側で宣言されなければなりませんので、あなたのプログラムの残りの部分はその値を見ることができます。

下限と上限(100 - 999)を好きなように変更することができ、上限を削除すれば、リセットすることなく増加し続けます。

変数名の由来は "PullTag ( Do Not Delete )" ...グローバル変数をEA外で表示・削除できるようになったからです。削除禁止は、グローバル変数を表示する際に表示される警告メッセージです。PullTag変数を削除すると、次回のEA起動時に再び100で再起動します。グローバル変数は、ワークステーションの電源を切ってもその値を保持します。

ザ・コッキード・カウボーイ

いつも通り、言い過ぎました。

 

...ちょうど、なぜSL/TPが履歴に表示されないのか不思議に思っていたところでした。 洞察に感謝します。 私のコードにこれを組み込んでみます。 貴重な情報源として、本当にありがとうございます!

 

Nic

取引端末の ウィンドウを開き、口座履歴タブをクリックし、端末の任意の領域で右クリックし、メニューラベル>コメントをクリックした場合。あなたのコメントとブローカーから追加されたコメント(彼らは通常[ ...]内にあります)をターミナルウィンドウ内で見ることができるようになります。

コッキード・カウボーイ

 

ああ...TP/SLがすべて[tp][sl]と付加されていることに気づいたよ。 私はあなたのコードの方が好きです。

 

何が起こったのですか? I down load your last Version of ema cross ea at post 369, you see what happen with the test grv but tell me why.

ファイル:
1_4.gif  8 kb
 

みんな、お願い。

助けてください。なぜREVERSALオプションがこのEAに含まれているのでしょうか?なぜ両方のEMAが交差する地点で再度取引をするのかがわかりません...

ありがとうございます...

今のところREVERSAL true =で100pips以上獲得していますが、おかしいです。つまり、EMAのクロスポイントが来ると、このEAは全く逆のトレードを行うので、損をすることになります。

 

プロトレンドとカウンタートレンド

glader:
頼むよ。

について教えてください。なぜREVERSALオプションがこのEAに含まれているのでしょうか?EMAが交差する地点で逆張りする理由がわからないのですが・・・。

ありがとうございます。

今のところREVERSAL true =で100pips以上獲得していますが、異常なことです。つまり、EMAのクロスポイントが現れたら、このEAは全く逆の取引を行うので、あなたはお金を失うことになるのです。

プロトレンドを選択することができます。

カウンタートレンドでは、ベストプライスでポジションをオープンし、最初のうちは多少の損失を覚悟した上で、得られる最大限の利益を得るというのがIMHOの考え方です。

 

データ不足

Audio:
どうしたんですか?

オーディオです。

泣かないでください.

履歴データが足りないのでは?

私のバックテストとフォワードテストを見てください!

ファイル: