//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 13.06.2007 |//| Описание : Удаление ордеров. Версия функции для тестов на истории. |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента (NULL - текущий символ) |//| op - операция ( -1 - любой ордер) |//| mn - MagicNumber ( -1 - любой магик) |//+----------------------------------------------------------------------------+void DeleteOrders(string sy="", int op=-1, int mn=-1) {
int i, k=OrdersTotal(), ot;
if (sy=="" || sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
ot=OrderType();
if (ot==OP_BUYLIMIT || ot==OP_BUYSTOP || ot==OP_SELLLIMIT || ot==OP_SELLSTOP) {
if (OrderSymbol()==sy && (op<0 || ot==op)) {
if (mn<0 || OrderMagicNumber()==mn) {
OrderDelete(OrderTicket(), clDelete);
}
}
}
}
}
}
エラーが発生する--->
関数内の変数はすべて関数内で定義されているのですが・・・どうしたのでしょうか?
をコピーして貼り付けました。--->
if((High[2]==High[1])||(Close[2]==High[1])||(High[2]==Open[1]))
{
DeleteOrders()
}
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 13.06.2007 |//| Описание : Удаление ордеров. Версия функции для тестов на истории. |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента (NULL - текущий символ) |//| op - операция ( -1 - любой ордер) |//| mn - MagicNumber ( -1 - любой магик) |//+----------------------------------------------------------------------------+void DeleteOrders(string sy="", int op=-1, int mn=-1) {
int i, k=OrdersTotal(), ot;
if (sy=="" || sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
ot=OrderType();
if (ot==OP_BUYLIMIT || ot==OP_BUYSTOP || ot==OP_SELLLIMIT || ot==OP_SELLSTOP) {
if (OrderSymbol()==sy && (op<0 || ot==op)) {
if (mn<0 || OrderMagicNumber()==mn) {
OrderDelete(OrderTicket(), clDelete);
}
}
}
}
}
}
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 13.06.2007 |//| Описание : Удаление ордеров. Версия функции для тестов на истории. |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента (NULL - текущий символ) |//| op - операция ( -1 - любой ордер) |//| mn - MagicNumber ( -1 - любой магик) |//+----------------------------------------------------------------------------+void DeleteOrders(string sy="", int op=-1, int mn=-1) {
int i, k=OrdersTotal(), ot;
if (sy=="" || sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
ot=OrderType();
if (ot==OP_BUYLIMIT || ot==OP_BUYSTOP || ot==OP_SELLLIMIT || ot==OP_SELLSTOP) {
if (OrderSymbol()==sy && (op<0 || ot==op)) {
if (mn<0 || OrderMagicNumber()==mn) {
OrderDelete(OrderTicket(), CLR_NONE);
}
}
}
}
}
}
OrdersTotal() は、すでにオープンしているポジションの数を表示します。
チュートリアルのTerminal()関数で、Mas_Ord_New[0][0]!=0として、ポジションを閉じるときに使っています。しかし、ここでもう一つの課題があります。それは、現在のシグナルによってすでに1つの注文が開かれている場合、そのシグナルによる取引を禁止するフラグを作成することです。国旗を使おうとしているのですが、何か間違えてしまったようです。
Parny needs help What is it
2012.09.10 18:40:20 '6257743': order buy 5.00 EURUSD opening at 1.27816 sl: 1.27791 tp: 1.27876 failed [Invalid S/L or T/P] (無効なS/LまたはT/P)。
また、なぜ価格とストップロスが同じなのでしょうか。
価格 1.25618 ストップロス 1.25618 テイクプロフィット 1.25698
テイクプロフィット 60pips
ストップロス 20
こんにちは。カスタムインジケータについて質問です。iCustomの説明にはこうあります。
質問:「shift」の値を取得する方法(shift付きでインジケータを呼び出すと、shiftなしの場合と同じ値が使用されます。iCustom(NULL, 0, "name",pam1,0,1)= iCustom(NULL, 0, "name",pam1,0,100) しかし、100バー前のインディケータを呼び出すと、 iCustom(NULL, 0, "name",pam1,0,100) とは異なる値が表示されることになります。指標はシンプルで、5つ前の終値を使って、その平均を取ります。
よろしくお願いします。
主線との偏差を0(ゼロ)に設定した。ゼロ以上でなければならない。
偏差値もマイナスに設定するのでしょうか?
同志の皆さん、ありがとうございます。そのとおりです。仕事が忙しくて、さっぱりだったんです。掛け値なしに、お礼のボタンを押せばいいのにと思いました。)
ちなみに、初心者の方には、インジケータにパラメータを渡すときは、雄弁な名前の変数で渡すことをお勧めすると便利だと思います。これまではそうしてきたのですが、今回は何か失敗しました。
皆さん、こんばんは。
同じ質問をしたくて、ここから機能をパクりましたhttps://www.mql5.com/ru/forum/131859
エラーが発生する--->
関数内の変数はすべて関数内で定義されているのですが・・・どうしたのでしょうか?
をコピーして貼り付けました。--->
そこに間違いはない。
そして、この「宙ぶらりん」になっているように見えます。
実は、このような条件 (High[2]==High[1 ])や、このような条件(Close[2]==High[1])、このような条件(High[2]==Open[1])は稀なのです。グラフを見てください。このような偶然の一致はいくつ見つかるでしょうか?順番を外すというロジックで言えば、.- も苦しくなる、要するに。
ここからコードをコピーして、新規プロジェクト(EA)を作成し、コードを貼り付け→コンパイル
不思議なことに、まだ同じエラーが出ます...。
ここからコードをコピーして、新規プロジェクト(EA)を作成し、コードを貼り付け→コンパイル
不思議なことに、まだ同じエラーが出ます...。
手動で取引している、eurusd 5min、時間があれば確認してみてください・・・。
このストラテジーに基づいてEAを作りたいのですが、条件_2でトレードをクローズする必要があります :),それがわかりません、クローズ関数もあるのにいつもエラーが出ます....