if (Curtime() > lasttime + 30*60)
基本的な質問 ...
こんにちは。
メタトレーダー初心者で、基本的な質問があります。
私はエキスパートアドバイザーのオープンポジションを一度に1つだけに制限したいのですが、シンボルごとに 制限したいので、別のシンボルで別のエキスパートアドバイザーを実行すると、そのシンボルで新しいポジションを開くことになります。
言い換えれば、私はすべてのシンボルで1つのポジションを開くことができるようにしたいのですが、1つのシンボルで1つ以上のポジションを開くことはできません(そして、私は多くのシンボルで多くのエキスパート-アドバイザーを話している...)
どうすればいいのでしょうか?
私は "totaltrades "関数を 見たが、ドキュメントから、私はこの関数は、現在のシンボルのためではなく、口座に適用されることを理解した。
そのため、"if totaltrades=1 then exit; "は、すべてのシンボルに対して 一度に1つのポジションを引き起こすことになります...
10X !
全シンボルに対して1ポジション
int total=OrdersTotal();
if(total<1)
{
.
.
.
}
まあ、1つのチャートに1つというのが一番いいんだけどね.
でも、それが無理なら、1シンボルにつき1個でもいいんですけどね.
1シンボルにつき1個
for (int i=0; i<OrdersTotal(); i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==Symbol() )
return(0);
....すごい!
10倍返しだ!
そして、私は再びあなたを悩ませるでしょう...(。
チャート単位でも可能ですか?
なぜなら、私は異なる時間間隔のチャートのための異なるシステムを持っている...
申し訳ございませんが、理解できません。
- 無料取引アプリ
- 8千を超えるシグナルをコピー
- 金融ニュースで金融マーケットを探索
こんにちは
コードで次のようなことをしたいのですが
最後の取引から30分間は取引しない」。
私の指標は、私が再び私の現在の取引に追加する必要があることを示している場合、私は30分経過した場合にのみ、同じ方向に取引を配置するように。
このコードはまだ動作しませんが、まだ設計段階です。
これは、現在のペアにのみ作用するEAのためのものです。
int start()
{
int cnt, ticket, total, stop1;
static datetime lasttime
total=OrdersTotal();
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
//最後のOrderCloseの時刻を決定する
if (OrderCloseTime > lasttime + 30)
{
lasttime = orderclosetime
}//if (OrderCloseTime)
}
今度は、次のようにしたい。
if (Curtime() > lasttime + 30 minutes)
{
取引を継続する
}
plsは助ける