//---закрыть все позиции в пятницу в 19-40 по серверному времени if(DayOfWeek()==5 && Hour()==19 && Minute()>40){
//Дать сигнал на закрытие всех позиций
}
voidOnStart()
{
//---int hrd=-3; // разница времени в часах котировок брокера с Гринвичемdatetime tc=TimeCurrent();
if(f_ts(tc,hrd)>0) Print("CloseAll()");
}
//+------------------------------------------------------------------+int f_ts(datetime ti, int hrd)
{
if(TimeDayOfWeek(ti)!=5) return(-1); // если не пятница выходимdatetime t0d,te;
int dtd=1440*60, res=-1;
t0d=ti/dtd*dtd; // начало торгового дня
te=t0d+dtd-30*60+hrd*3600; // 30 мин до конца сессииif (ti>te) res=1;
else res=0;
return(res);
belck:
приветствую!
помогите разобраться. пытаюсь сделать в советнике закрытие сделок в пятницу за пол часа до закрытия сессии.
пробовал по учебнику, то ничего у меня не получилось
может у кого уже готовый код есть.
код закрытия у меня есть. мне нужен сам сигнализирующий закрытие сессии за 30 минут.
これはどうでしょう。
ごあいさつ
金曜日にセッションが終了する30分前にEAで取引を終了させようとしています。
チュートリアルをやってみたが、うまくいかなかった。
どなたかコードをお持ちの方は教えてください。
30分前にセッションを終了できるようにする必要があります。
これはどのブローカーにとっても、より普遍的なことかもしれません。UTCとのブローカー相場にまだ差がないのが残念
これは動作しています、故障はしていません。
は、この方法でテスターを通してテストした後、機能が動作しないことを確認しました。
まあこれはテスターでは動かないはずなのですが。
関数は現在時刻を 基準にしており、TimeCurrent()とTimeDayOfWeek()が正しく動作するため、上に書いたものは動作します。夏時間・冬時間の切り替え機能、すなわちパラメータhrdを追加するだけです。切り替えは通常、アメリカのサマータイム(11月第1日曜日 3月第2日曜日)に合わせて行われますが、切り替えを行わないブローカーもありますので、お使いの
ごあいさつ
金曜日にセッション終了の30分前にEAで取引を終了させようとしています。
チュートリアルをやってみたが、うまくいかなかった。
どなたかコードをお持ちの方は教えてください。
クロージングコードは持っているのですが、30分前にセッションの終了を知らせる必要があります。
こんな感じかな。
全然似ていない。
セッションの終了時刻を定義する必要がある datenime SessionClose = .セッションクローズではなく、トレードクローズの場合は、SessionClose =StrToTime("23:30") となります。
曜日を 定義するTimeDayOfWeek()
金曜日の場合、 TimeCurrent() >= SessionClose をチェック する。
ということは全くありません。
セッションの終了時刻を定義する必要がある datenime SessionClose = ....セッションクローズではなく、トレードクローズの場合、SessionClose =StrToTime("23:30") となります。
曜日を定義するTimeDayOfWeek()
金曜日の場合、 TimeCurrent() >= SessionClose をチェック する。
このコードについて、もう少し詳しく教えてください。
ということは全くありません。
セッションの終了時刻を定義する必要がある datenime SessionClose = ....セッションクローズではなく、トレーディングであれば、SessionClose =StrToTime("23:30") となります。
このコードについて、もう少し詳しく教えてください。
はい、できます。しかし、それは私の主義に反するものです。
セッション終了時刻 datenime SessionClose = ... と入札. は、どのように定義してもテスターでは動作しません :) 3月上旬から今日までチェック
できるんです。しかし、それは私の主義に反しています。
テスターは何のためにあるのですか?最新のアップデートまではテスターで動作していましたが。今さら反論もしませんし、テストもしていませんし、すぐにテスターをつけざるを得ないということもないでしょう。原則に異存はありませんが、その人はテスターでEAを動かしたいので、あなたの選択肢はその人に合っていないのです。
私のバージョンを使えば、本番でもテスターでも動きますが、冬期夏期への移行を自動的に考慮する機能ができるまでは、今年の移行時間を次のように定義してください。
2013年3月から2014年11月までは正常に動作、テストされます。ブローカーに応じたシフトを設定