externstring sComment4 = "Max Hours allowed before pending orders are deleted";
externint pendinglimit = 4;
// * EVERYTIME A TRADE GETS TRIGGERED
bartraded = TimeHour(TimeCurrent());
// DELETE PENDING ORDERS THAT HAVE NOT BEEN TRIGGERED WITHIN if(TimeHour(TimeCurrent()) > bartraded + pendinglimit && Tradeopen()==true) // Check to see if pending orders have expired
{
for(int tnumber = OrdersTotal()-1; tnumber >= 0 ; tnumber--) //scan through open orders
{
if (OrderSelect(tnumber, SELECT_BY_POS) &&
OrderType()==(OP_BUYSTOP||OP_SELLSTOP) && // The order selected is either a pending buy on stop order or a buy on sell orderOrderMagicNumber()==(Mnumber1||Mnumber3)) // The orders magic number is the same as the magic number used in this ea
{
OrderSelect(tnumber, SELECT_BY_POS); // Select orderOrderDelete(tnumber); // Delete it
}
}
}
Hey Daz & Co,
hothandは5桁のMT4では動きますが、4桁のプラットフォームでは動きません。
hothandは5桁のMT4では動作しますが、4桁のプラットフォームでは動作しません。この原因は何でしょうか、また、修正するための手がかりはありますか?
さて、私は戻ってきました。
これはトレードを実行するコードの部分ですが、今のところ5桁で動作させるつもりです。このアイデアは、その日の取引に最適なペアを選ぶためにhothand関数を使用することです。このコードでは、1時間足チャートのインサイド・バーをスキャンする必要があります。(hothand関数はペアの文字列を返します)インサイドバーを見つけたら、テスト目的でフラットアウトの売買取引を開始するようにしました。バックテスターが 1つのチャートから複数のペアの取引を扱えるのかどうか、よくわかりません。私はそれが使用するすべてのペアの1分間の履歴をダウンロードしました。しかし、それは私がそれを添付したチャートであるeurusd上で取引を開くように見えるだけです。
WHRoederさん、またまたお立ち寄りいただきありがとうございます。それで、EAでトレードを開くには、開いた後に戻ってSLとTPを記入するのが正しい方法なのでしょうか?そのコードで間違っていることを100万個見つけられると確信しています。
4/5桁のスリッページを調整しない。ECNに対応していない
常にリターンコードをテストすることで、なぜ動作しないのかがわかります。
buystop = iLow(hothand()...
あなたのストップはhothand()というペアに基づいていますが、あなたはSymbol()で注文を開始しています。もしそれらが同じでないなら、ストップは完全にインチキです。さて、私は戻ってきました。
これはトレードを実行するコードの部分ですが、今のところ5桁で動作させるつもりです。このアイデアは、その日の取引に最適なペアを選ぶためにhothand関数を使用することです。このコードでは、1時間足チャートのインサイド・バーをスキャンする必要があります。(hothand関数はペアの文字列を返します)インサイドバーを見つけたら、テスト目的でフラットアウトの売買取引を開始するようにしました。バックテスターが1つのチャートから複数のペアの取引を扱えるのかどうか、よくわかりません。私はそれが使用するすべてのペアの1分間の履歴をダウンロードしました。しかし、それは私が添付したチャートであるeurusd上で取引を開くように見えるだけです。
一般的なコメント:
アスクで 買い、ビッドで 売る。
ブローカーがECNタイプの場合、注文時にSLとTPを設定できない(この場合は0に設定)ので、注文を出してからSLとTPを追加するために注文を修正しなければならない。
常に注文の結果を確認 し、エラーが返ってこないかどうかをチェックし、それに応じて対処する必要があります。
このEAを複数のチャートで使う場合、つまり、複数のチャートから注文を出す場合、Order Context Busyを避けるために、ある種のMutexが必要になります(WHRoederの投稿をチェックしてください、彼は優れたMutexを持っています)。
しかし、それは私がそれを添付したチャートであるeurusdで取引を開くように見えるだけです。
うん、.. .
Symbol()はEA/Indicatorが接続されているペアですが、これを代わりにするつもりだったのでしょうか?
はい、そうするつもりでしたが、今はこのようなエラーが発生します。
http://clip2net.com/s/144hq
hothand関数の ペア出力を認識していないようです。hothand関数の出力は文字列なので、何がうまくいかないのかわかりません。
hothand関数のペア出力を認識していないような。hothand関数の出力は文字列なので、何がうまくいかないのかわかりません。
こんにちは、皆さん。私は以下のようなコードを作ろうとしています。
もし、保留中の注文が x個のバーの間開いていたら、バー数がxを超えたらそれを削除する。
何か私のロジックで間違っている可能性があります多分?