datetime some_time=D'2017.03.03 4:00'; int shift=Bars("EURUSD",PERIOD_CURRENT,some_time,TimeCurrent()); Print("index of the bar for the time ",TimeToStr(some_time)," is ",shift);
datetime some_time=D'2004.03.21 12:00'; int shift=iBarShift("EURUSD",PERIOD_CURRENT,some_time); Print("index of the bar for the time ",TimeToStr(some_time)," is ",shift);
datetime some_time=D'2017.03.03 4:00'; int shift=Bars("EURUSD",PERIOD_CURRENT,some_time,TimeCurrent()); Print("index of the bar for the time ",TimeToStr(some_time)," is ",shift);
datetime some_time=D'2004.03.21 12:00'; int shift=iBarShift("EURUSD",PERIOD_CURRENT,some_time); Print("index of the bar for the time ",TimeToStr(some_time)," is ",shift);
みなさん、こんにちは!自分のコンディションの書き方はどうすればいいのでしょうか?価格がストップロスの距離を超えた後にストップロス注文を出す必要があります。
for Buy...です。
if( )
{
------------
}
を売るために......。
STB を Breakeven に変換する関数に,オーダーチケットと 距離(pips)が渡されます。
{
double sl=0.0;
if(OrderSelect(ticket,SELECT_BY_TICKET))
{
if(OrderType()==OP_BUY)
{
if(Bid>=OrderOpenPrice() && Bid-OrderOpenPrice()>=distance*_Point) sl=OrderOpenPrice();
if(OrderStopLoss()!=0 && OrderStopLoss()>=OrderOpenPrice())return;
}
if(OrderType()==OP_SELL)
{
if(Ask<=OrderOpenPrice() && OrderOpenPrice()-Ask>=distance*_Point) sl=OrderOpenPrice();
if(OrderStopLoss()!=0 && OrderStopLoss()<=OrderOpenPrice())return;
}
ResetLastError();
if(sl<=0)return;
if(!OrderModify(OrderTicket(),OrderOpenPrice(),sl,OrderTakeProfit(),0))
{
int error=GetLastError();
rezult=StringConcatenate(OrderSymbol(),": error modifying StopLoss order ",OrderTicket()," ",TypeToStr(OrderType())," №- ",error);
Print(rezult);
}
}
}
...
絵は出ません)
検索ロジック自体が重いので、どうすれば楽になるかは......まだわかりません。
Vitaly 私はもともと、テスターの速度を低下させるのは計算ではなく、ビジュアルテストの グラフィカルなオブジェクトであることを説明しようとしたのです。彼のアドバイスに従え
描画せずにインジケータで転がすことができます)。そして、選択したほうがいいのです。ホップ-ドローイング、ホップ-ドローイングなし:)
をご覧いただき、速度の違いをご確認ください。
描画が遅れているわけでもなく、チャート上にグラフィックがあるだけの話です。
描画が遅くなっているわけでもなく、チャート上にグラフィックがあるだけの話です。
Vitaly 私はもともと、テスターの速度を低下させるのは計算ではなく、ビジュアルテストの グラフィカルなオブジェクトであることを説明しようとしたんです。彼の言うとおりにする
をご覧いただき、速度の違いをご確認ください。
描画が遅れているのではなく、チャート上にグラフィックがあるだけで遅れているのです。
このグラフは、コードを書いているときに計算の正しさを確認するために作ったもので、しばらく前に純粋に技術的な目的で作られたもので、もうずっと前にコードから取り除かれています。テスト中のチャートは空白です。
だから、機能がないときは、テストが「飛ぶように」進むのですが、機能をつなげると、ゆっくり進むんです。
追伸:グラフィカルなオブジェクトは基本的に必要ないですね。グラフィックのことは忘れてください。
グラフは、コードを書いているときに計算が正しいかどうかを確認するためだけに作ったもので、純粋に技術的なもので、ずっと前にコードから削除されました。テスト中のチャートは空白です。
だから、機能がないときはテストが「飛ぶように」進むのですが、機能をつなぐと、ゆっくり進むんです。
追伸:グラフィカルなオブジェクトは基本的に必要ないですね。グラフィックのことは忘れてください。
ここを 見ましたか?
クール、EAに機能を引っ張ってくるようにします。結果は後ほど掲載します。
ありがとうございます!!!
4:00と15:00に開かれたバーのインデックスを取得するための正しいコードの書き方を教えてください。
それは1つです。
int shift=Bars("EURUSD",PERIOD_CURRENT,some_time,TimeCurrent());
Print("index of the bar for the time ",TimeToStr(some_time)," is ",shift);
それは2つです。
int shift=iBarShift("EURUSD",PERIOD_CURRENT,some_time);
Print("index of the bar for the time ",TimeToStr(some_time)," is ",shift);
それは1つです。
int shift=Bars("EURUSD",PERIOD_CURRENT,some_time,TimeCurrent());
Print("index of the bar for the time ",TimeToStr(some_time)," is ",shift);
それは2つです。
int shift=iBarShift("EURUSD",PERIOD_CURRENT,some_time);
Print("index of the bar for the time ",TimeToStr(some_time)," is ",shift);