ローとハイ - ページ 3

 

どこに問題があったのか、(皆さんの助けを借りて)わかりました。)

皆さん、ありがとうございました。

さて--->テスト!(バックテストは非常によく見えます)

 

問題は、Hour()が添付したHoursの時間を返すので、チャートにEAを添付したレベルで注文を開いてしまうことだと思います。しかし、あなたはこれを使いたいのだと思います。

TimeHour(Timecurrent())

ドキュメントを見てみてください。

EP

 

これを解決できれば、私の聖杯が 手に入る!?:D
 
ErrorProgrammer:

Hour()は添付したHoursの時間を返すので、EAをチャートに添付したレベルで注文を開いてしまうのが問題なのだと思います。

実際には01005379さんの問題の解決にはならないのですが、これではいけないと思います。例えば、以下のEAをストラテジーテスターで 実行すると、シミュレートしたブローカーの時間に対応するHour()の値が変化しています。


int start() {Comment("Hour: " + Hour() + "   @ " + TimeToStr(TimeCurrent(), TIME_DATE | TIME_MINUTES));}

ドキュメントが言おうとしているのは、Hour()やMinute()などはstart()の呼び出し中には変化しない、ということだと思います。しかし、それらはEAのライフタイムを通じて変化します。


 
01005379:

もし、これを修正することができれば、私の聖杯を手に入れたようなものです。:D

そのバーはかなり特大に見えますが、他の注文でも同じことが起こるのでしょうか?その特別なバーのボラティリティのせいかもしれませんね。

 
fxcourt:

そのバーはかなり特大に見えますが、他の注文でも同じことが起こるのでしょうか?その特別なバーのボラティリティのせいかもしれませんね。

さて、他の注文も同じです。注文は、値がLowValueより低くなってから1バーオープンされます。売り注文の 場合、BidがLowValueより低くなったらすぐに注文を出すようにしてほしい。

 

現時点では、バーオープンがエントリーの上か下である場合にのみ、注文を出します。

int start()

{

//バーオープンで高値と安値を取得

{

if(got_high_and_low)

{

readytotrade = true;

}

//1ティックごとに、取引可能であれば、エントリー価格がヒットしたかどうかをチェックする

if(readytotrade)

{

//買いまたは売り

readytotrade = false;

}

 
fxcourt:
現時点では、バーオープンがエントリーの上か下である場合にのみ、注文を出します。

うーん、どうすればいいんだろう?

 

最初の部分は1バーにつき1回実行され、エントリーとその他のデータを収集し、2番目の部分はエントリーがヒットするのを監視します。

 
fxcourt:

現時点では、バーオープンがエントリーの上か下である場合にのみ、注文を出します。

int start()

{

//バーオープンで高値と安値を取得

{

if(got_high_and_low)

{

readytotrade = true;

}

//1ティックごとに、取引可能であれば、エントリー価格がヒットしたかどうかをチェックする

if(readytotrade)

{

//買いまたは売り

readytotrade = false;

}

wuh、私は今少し迷っています。より多くの助けは大きいです;)