M1チャート バー欠落 - ページ 4

 
DanLett:
が、その後、どのように順序を開くために要求を繰り返すには、例えば、バー8 34と何が8 35で開くだろうがない場合......!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!?
例えば、34分に注文を出すのではなく、33分から35分までというように、範囲を設定します。

((分()>=33) && (分()<=35)))
 
DanLett:
開くか開かないか?
 
DmitriyN:

極限まで簡略化。サーバーの時間より1分長く設定してください。そして実行する。

このコードで注文が全く開かれないのですか?

私には効果的です。

コードの全体像


int start()

{

//----

if ((OrdersTotal()==0 && Hour()==21) && (Minute()>=13)))

OrderSend(Symbol(),OP_SELL,0.01,Bid,0,Ask+100*Point,Ask-100*Point,"DLSexp",123,0)。

Print(GetLastError();

//----

return(0)です。

}



必ず出ます。

2012.06.27 22:17:00 wesfsdf EURUSD,M1: 0

PSwesfsdfはEA名)


 
DanLett:

オールコード


int start()

{

//----

if ((OrdersTotal()==0 && Hour()==21) && (Minute()>=13)))

OrderSend(Symbol(),OP_SELL,0.1,Bid,0,Ask+100*Point,Ask-100*Point,"DLSexp",123,0)。

Print(GetLastError();

//----

return(0)です。

}



いつもそうだ

2012.06.27 22:17:00 wesfsdf EURUSD,M1: 0

PSwesfsdfはExpert Advisorの名前)


テスターではエラーが出ないので、本番のログを見る必要があります(ロボットが冷静さを失っているので、デモの方が先です、本番を急がないでください)。
 
本当にロットのレバレッジに問題があると思います。テスターのレバレッジを調べる必要があります。どうすればいいのでしょうか...!?
 
DanLett:
本当にロットのレバレッジに問題があると思います。テスターのレバレッジを調べる必要があります。どうすればいいのでしょうか...!?


これを実行してみてください。もしかしたら、その後に設定するストップがあるのかもしれませんね。

int start()
{
if (OrdersTotal()==0)

OrderSend(Symbol(),OP_SELL,0.01,Bid,0,0,0,"DLSexp",123,0);
Print(GetLastError());

return(0);

}
 
なんてこった...
OrderSendの
のどこにリターンコードとエラー解析があるのでしょうか?
 
jartmailru:
何を解析するかというと、130の誤差が あるんですよ、明らかに。
 

私の勘違いでわかったことがあるんです。

if(OrdersTotal()==0) 4つのトレードを開いていたので、開きませんでした:) どうもありがとうございました!

最後の質問

このEAで1回だけ取引を行うにはどうしたらいいですか?

例:TPまたはSlで決済後、買いまたは売りのどちらかの取引を1回行い、その後、その条件で別の取引を行う。

すなわち、条件1:の場合、買い

条件2: ならば、売り、正確に閉じる...。

しかし、先に開いた私のトレードが閉じないとどうなるのでしょうか?

 
DanLett:

でも、以前開いたトレードは閉じないんですか!?

また、Expert Advisorは注文をクローズしません。クローズする仕組みがないのです。注文はTPまたはSLによってクローズされます。
OrdersTotal()=0という 条件では、注文がない場合、つまり注文の量が0の場合、オープニングが行われます。
条件OrdersTotal()<2の場合、注文数が2以下の場合、オープニングとなる。