//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 19.05.2008 |//| Описание : Возвращает флаг закрытия последней позиции по стопу. |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ("" - любой символ, |//| NULL - текущий символ) |//| op - операция (-1 - любая позиция) |//| mn - MagicNumber (-1 - любой магик) |//+----------------------------------------------------------------------------+bool isCloseLastPosByStop(string sy="", int op=-1, int mn=-1) {
datetime t;
double ocp, osl;
int dg, i, j=-1, k=OrdersHistoryTotal();
if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
if (OrderSymbol()==sy || sy=="") {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) {
if (t<OrderCloseTime()) {
t=OrderCloseTime();
j=i;
}
}
}
}
}
}
}
if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) {
dg=MarketInfo(sy, MODE_DIGITS);
if (dg==0) if (StringFind(OrderSymbol(), "JPY")<0) dg=4; else dg=2;
ocp=NormalizeDouble(OrderClosePrice(), dg);
osl=NormalizeDouble(OrderStopLoss(), dg);
if (ocp==osl) return(True);
}
return(False);
}
...オンザテイク
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 19.05.2008 |//| Описание : Возвращает флаг закрытия последней позиции по тейку. |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ("" - любой символ, |//| NULL - текущий символ) |//| op - операция (-1 - любая позиция) |//| mn - MagicNumber (-1 - любой магик) |//+----------------------------------------------------------------------------+bool isCloseLastPosByTake(string sy="", int op=-1, int mn=-1) {
datetime t;
double ocp, otp;
int dg, i, j=-1, k=OrdersHistoryTotal();
if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
if (OrderSymbol()==sy || sy=="") {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) {
if (t<OrderCloseTime()) {
t=OrderCloseTime();
j=i;
}
}
}
}
}
}
}
if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) {
dg=MarketInfo(sy, MODE_DIGITS);
if (dg==0) if (StringFind(OrderSymbol(), "JPY")<0) dg=4; else dg=2;
ocp=NormalizeDouble(OrderClosePrice(), dg);
otp=NormalizeDouble(OrderTakeProfit(), dg);
if (ocp==otp) return(True);
}
return(False);
}
こちら:https://docs.mql4.com/ru/dateandtime/DayOfWeek
これを見ると、曜日を返して くれるのですが、来週の最終日が何曜日なのか知りたいのです。最終営業日が金曜日でない日があるため
コードが効かない...。:( ストップと同時に注文を出す必要があるのですが......トリガーされました。指標がない...ロットを閉じるだけで...。こんなに難しいとは思いませんでした。
HELP ME!!!緊急です!:(
テスト後に開くチャートパターンを修正していただけませんか?自分で作ったテンプレートを使っているので、マークは全部あるのですが...。
ビジュアライゼーション」にチェックを入れた状態でテスターを起動します。
テスターが履歴を読み込んで動作を開始したら、一時停止ボタンを押し、グラフにパターンをセットします。
一時停止ボタンを押すと、テスターが継続されます。希望により、ビジュアライゼーションをスキップすることができます(Skip to ボタン)。
テスターが終了すると、チャート上のすべての矢印があなたのパターンで表示されます。
あなたのコードが合わない...。:( ストップと同時に注文を出す必要があるのですが......トリガーされました。指標がない...ロットを閉じるだけで...。こんなに難しいとは思いませんでした。
助けてください!!!緊急です!!!:(
これは、ロットの吊り下げ数を把握することで解決できるのではないでしょうか。MovingAverage Expert Advisorに内蔵されているCalculateOrders()関数。
注文をした→有効な注文 数を計算する→変数に記憶 させる→。
Start関数で各反復をチェック→注文数が減っているかどうか→減っていたら必要に応じて対応する。
あなたのコードが合わない...。:( ただ、ストップと同時に注文を出す必要がある...トリガーされる。指標がない...ロットを閉じるだけで...。そんなに難しいとは思わなかった。
HELP ME!!!緊急です!:(
この関数は、停止時に最後のポジションを閉じるフラグを返します。
...オンザテイク
ここで 自分で調べてみてください。それなら自分で書けよ...。
こんにちは。
あるExpert Advisorで作業しているのですが、以下の行がどのように実行されるのか理解できません。
if (profitbuy<=0)mtpb=tpb;
条件は明確で、どのような結果で変数mtpbが変数tpbの値をとるかは不明です。
こんにちは。
私はあるExpert Advisorに取り組んでいますが、次の行がどのように実行されるべきかがわかりません。
if (profitbuy<=0)mtpb=tpb;
条件は明確で、どのような結果で変数mtpbが変数tpbの値をとるかは不明です。
こちら:https://docs.mql4.com/ru/dateandtime/DayOfWeek
これを見ると、曜日を返してくれるのですが、来週の最終日が何曜日なのか知りたいのです。週の最終日が金曜日でない日があるからです。
目的は手段を正当化するものではありません。
わかりやすくするために、ここで質問です。ご自身、「来週は何曜日が 最後か」を決めたいとき、どうされますか?そうですね、その年のカレンダーを調べ、自分の国では具体的にどんな祝日があるのか、週末がある日から別の日に移ったのか(例えば日曜日から木曜日へ、そのために毎年国会、つまり国家議会は別の文書を採択します)等を調べます。このためにわざわざMQLでプログラムを作る人がいると思いますか?個人的には、カレンダーを見る方が楽なんですけどね...。
こんばんは!(^o^)すみません、原理を理解したいのですが、何、このような構造は不可能なのでしょうか?
int u; u=0-10; for( u;u<30;u++) {Alert("u",u); }. Writes error ';' - assignment expect C:\Òãîðóìa MF Trader 4 ¡documents¡experts¡cycle.mq4 (33, 31)
u;uの間にセミコロンが表示される ヘルプで一度確認したのですが、解説をお願いします