/********************Script program start function********************/voidOnStart()
{
MqlDateTime mqlDateTime0, mqlDateTime1;
datetime arrDateTime[7];
CopyTime(_Symbol, PERIOD_D1, 0, 7, arrDateTime);
TimeToStruct(arrDateTime[0], mqlDateTime0);
TimeToStruct(arrDateTime[6], mqlDateTime1);
if(mqlDateTime0.day_of_week == FRIDAY && mqlDateTime0.mon != mqlDateTime1.mon)
{
Print("Ура!!! Сегодня первая пятница");
// Дальше можно брать по времени пятницы открытие и закрытие бара и на основании этого определяем бычья или медвежья свеча...
}
}/********************************************************************/
月初が何曜日 だったかがわかるだけで十分です。あとは計算です。
左手で右耳を掻くようなものです。
すみません、おそらく質問を注意して見ていなかったのでしょう。
4の条件はどう書くかというと、月の第一金曜日が強気であった場合と
2回目の月曜日が弱気であれば、売りの取引を開始 します。
DayOfWeek()==1 月曜日は明確だが、何月の何月曜日か)
了解!自分だけが知っているアルゴリズムの話でしょ。月1日の曜日を 決定せよ!」と書いたことがあります。そして、表や2つの簡単な計算式を使って、気になる日付けを決めていくのです。
カレンダーで表を確認する。
月の初日を6とすると、最初の金曜日の数字は7となる。そうでなければ、第一金曜日は6に等しい-月の始まりの日。
月の始まりの日が2でない場合、第2月曜日は9-その月の日に相当します。それ以外の場合、第2月曜日の数字は16-その月の日です。
数学関数を使えば、除算の余りや モジュールはもっと短くなる
了解!あなただけが知っているあなたのアルゴリズムの話です。何が言いたいかというと、月初めの曜日を 決めろ!ということです。そして、表や2つの簡単な計算式を使って、関心のある日の日付を決めていくのです。
カレンダーで表を確認する。
月の初日を6とすると、最初の金曜日の数字は7となる。そうでなければ、第一金曜日は6に等しい-月の始まりの日。
月の始まりの日が2でない場合、第2月曜日は9-その月の日に相当します。それ以外の場合は、第2月曜日は16に等しい - その月の日数
ありがとうございます。
このたびは、ご希望をいただき、誠にありがとうございました。そして、やはりドットの後にスペースを入れ、ドットの前にもスペースを入れる。プログラミングに役立つ幸運と、必要なら利益も!
ご指摘、誠にありがとうございました。また、フルストップの後にスペースを入れ、フルストップの前にスペースを飛ばしたい場合もあります。プログラミングに役立つがんばってください!そして、必要な方は、がんばってください。
とても複雑なものが出てきます。もっとシンプルな選択肢があるはずだ。どなたか教えてください。
例えば明日、アップデートで何かが変わり、すべてを書き直さなければならなくなったとします。
とても複雑なものが出てきます。もっとシンプルな選択肢があるはずだ。どなたか教えてください。
明日、アップデートで何かが変わり、すべてを書き直さなければならなくなったとします。
そんなに難しいことではありません。しかし、それぞれの状況に応じて、何本の日足バーをコピーするか、どのバーを構造体にインポートするか、異なる値を設定する必要があります。
ローソク足のパラメータをMqlRatesの 構造体に取り込むのがよいでしょう
しかし、それぞれの状況に応じて、何本の日足バーをコピーするか、どのバーを構造体に入れるか、異なる値を設定する必要があります。
ということで、MQL4にしか興味はありません。
それこそMQL4しか興味がないのですが・・・別の解決策を探さないといけませんね.
int res;
int nomber = OrdersHistoryTotal();
int tip=OrderType();
if(OrderSelect(nomber,SELECT_BY_POS,MODE_HISTORY))
{
tip=OrderType();
}
ma=iMA(NULL,0,MovingPeriod,120,MODE_SMA,PRICE_CLOSE,1);
if(Bid<ma)
if(tip!=OP_SELL)
{
res=OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,3,0,Bid-TP*Point,"",MAGICMA,0,Red);
return;
}
それこそMQL4しか興味ないんですけどね。
また、こんな考えもあります。
第1金曜日が必要な場合は、8より小さい数字にする必要があります。第1金曜日を金曜日とした場合、次の金曜日は第8金曜日となります。したがって、任意の曜日、任意の日、2番目、3番目...に簡単に再計算することができます。