初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 672 1...665666667668669670671672673674675676677678679...1503 新しいコメント Alexandr Vetrov 2016.11.15 11:38 #6711 fxsaber: ありがとうございます!!! RichLux 2016.11.15 17:25 #6712 マーチンゲールベースで動作するEAを書いています。1つの通貨ペアでpips単位の最大許容損失額に達したときに、開いた注文をすべて閉じるようにするにはどうすればよいですか? Vladislav Andruschenko 2016.11.15 17:34 #6713 RichLux:マーチンゲールベースで動作するEAを書いています。1つの通貨ペアでpips単位の最大許容損失額に達したときに、開いた注文をすべて閉じるようにするにはどうすればよいですか?double GetProfitinCurrency(string order_symbol="",int order_type=-1,int order_magic=-1) { double profit=0; int i,k=OrdersTotal(); if(order_symbol=="0") order_symbol=Symbol(); for(i=0; i<k; i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) { if((OrderSymbol()==order_symbol || order_symbol=="") && (order_type<0 || OrderType()==order_type)) { if(OrderType()==OP_BUY || OrderType()==OP_SELL) { if(order_magic<0 || OrderMagicNumber()==order_magic) { profit+=OrderProfit()+OrderCommission()+OrderSwap(); } } } } } return(profit); }この関数は、オープンポジションの利益を返すもので、シンボル、タイプ、マジックでフィルタリングすることができます。その後、すべてのポジションをクローズします。void CPD(string order_symbol="",int order_type=-1,int order_magic=-1) { int i,k=OrdersTotal(); if(order_symbol=="0") order_symbol=Symbol(); for(i=k-1; i>=0; i--) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) { if((OrderSymbol()==order_symbol || order_symbol=="") && (order_type<0 || OrderType()==order_type)) { if(OrderType()==OP_BUY || OrderType()==OP_SELL) { if(order_magic<0 || OrderMagicNumber()==order_magic) OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),1,CLR_GREEN); } } } } } Questions from Beginners MQL5 コーディングのヘルプ MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 RichLux 2016.11.15 19:18 #6714 Vladislav Andruschenko: ...は、10月のポーズで利益を返す関数で、シンボル、タイプ、マジックを使ってフィルタリングすることができます。その後、すべてのポジションを閉じる ありがとうございます。しかし、私は損切りに興味があります。どうすれば実現できるのか? Vladislav Andruschenko 2016.11.15 19:31 #6715 つまり、上記をあげました。つまり、利益とは総称なのです。-20は-20 if(GetProfitinCurrency(Symbol(),-1,-1)<-20)CPD(Symbol(),-1,-1) RichLux 2016.11.15 19:59 #6716 Vladislav Andruschenko: double GetProfitinCurrency(string order_symbol="",int order_type=-1,int order_magic=-1) { double profit=0; int i,k=OrdersTotal(); if(order_symbol=="0") order_symbol=Symbol(); for(i=0; i<k; i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) { if((OrderSymbol()==order_symbol || order_symbol=="") && (order_type<0 || OrderType()==order_type)) { if(OrderType()==OP_BUY || OrderType()==OP_SELL) { if(order_magic<0 || OrderMagicNumber()==order_magic) { profit+=OrderProfit()+OrderCommission()+OrderSwap(); } } } } } return(profit); }ありがとうございます、わかりました。コードでまだはっきりしないのは、(order_type<0||OrderType()==order_type) THISは「and order to sell or buy」と読めるか、ということです。 Vladislav Andruschenko 2016.11.15 20:01 #6717 RichLux: yesorder_type= OP_BUY OP_SELL -1 RichLux 2016.11.15 20:53 #6718 また、コンパイラはClosePosBySelectについて 文句を言う。この機能は別に書く必要があるのでしょうか? Vladimir Karputov 2016.11.16 12:16 #6719 このトピックに関係のないコメントは、「現在時刻をグラフに表示する」に移動しました。 Vladimir Karputov 2016.11.16 12:20 #6720 ウラジスラフ・アンドルシェンコRichLux:また、コンパイラはClosePosBySelectについて 文句を言う。この機能は別に書く必要があるのでしょうか?void CPD(string order_symbol="",int order_type=-1,int order_magic=-1) { int i,k=OrdersTotal(); if(order_symbol=="0") order_symbol=Symbol(); for(i=k-1; i>=0; i--) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) { if((OrderSymbol()==order_symbol || order_symbol=="") && (order_type<0 || OrderType()==order_type)) { if(OrderType()==OP_BUY || OrderType()==OP_SELL) { if(order_magic<0 || OrderMagicNumber()==order_magic) OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),1,CLR_GREEN); } } } } } 1...665666667668669670671672673674675676677678679...1503 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
マーチンゲールベースで動作するEAを書いています。
1つの通貨ペアでpips単位の最大許容損失額に達したときに、開いた注文をすべて閉じるようにするにはどうすればよいですか?
マーチンゲールベースで動作するEAを書いています。
1つの通貨ペアでpips単位の最大許容損失額に達したときに、開いた注文をすべて閉じるようにするにはどうすればよいですか?
double GetProfitinCurrency(string order_symbol="",int order_type=-1,int order_magic=-1)
{
double profit=0;
int i,k=OrdersTotal();
if(order_symbol=="0") order_symbol=Symbol();
for(i=0; i<k; i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if((OrderSymbol()==order_symbol || order_symbol=="") && (order_type<0 || OrderType()==order_type))
{
if(OrderType()==OP_BUY || OrderType()==OP_SELL)
{
if(order_magic<0 || OrderMagicNumber()==order_magic)
{
profit+=OrderProfit()+OrderCommission()+OrderSwap();
}
}
}
}
}
return(profit);
}
この関数は、オープンポジションの利益を返すもので、シンボル、タイプ、マジックでフィルタリングすることができます。
その後、すべてのポジションをクローズします。
{
int i,k=OrdersTotal();
if(order_symbol=="0") order_symbol=Symbol();
for(i=k-1; i>=0; i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if((OrderSymbol()==order_symbol || order_symbol=="") && (order_type<0 || OrderType()==order_type))
{
if(OrderType()==OP_BUY || OrderType()==OP_SELL)
{
if(order_magic<0 || OrderMagicNumber()==order_magic) OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),1,CLR_GREEN);
}
}
}
}
}
...
は、10月のポーズで利益を返す関数で、シンボル、タイプ、マジックを使ってフィルタリングすることができます。
その後、すべてのポジションを閉じる
つまり、上記をあげました。
つまり、利益とは総称なのです。
-20は-20
if(GetProfitinCurrency(Symbol(),-1,-1)<-20)CPD(Symbol(),-1,-1)
double GetProfitinCurrency(string order_symbol="",int order_type=-1,int order_magic=-1)
{
double profit=0;
int i,k=OrdersTotal();
if(order_symbol=="0") order_symbol=Symbol();
for(i=0; i<k; i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if((OrderSymbol()==order_symbol || order_symbol=="") && (order_type<0 || OrderType()==order_type))
{
if(OrderType()==OP_BUY || OrderType()==OP_SELL)
{
if(order_magic<0 || OrderMagicNumber()==order_magic)
{
profit+=OrderProfit()+OrderCommission()+OrderSwap();
}
}
}
}
}
return(profit);
}
ありがとうございます、わかりました。
コードでまだはっきりしないのは、(order_type<0||OrderType()==order_type) THISは「and order to sell or buy」と読めるか、ということです。
yesorder_type= OP_BUY OP_SELL -1
また、コンパイラはClosePosBySelectについて 文句を言う。
この機能は別に書く必要があるのでしょうか?
ウラジスラフ・アンドルシェンコ
RichLux:
また、コンパイラはClosePosBySelectについて 文句を言う。
この機能は別に書く必要があるのでしょうか?
{
int i,k=OrdersTotal();
if(order_symbol=="0") order_symbol=Symbol();
for(i=k-1; i>=0; i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if((OrderSymbol()==order_symbol || order_symbol=="") && (order_type<0 || OrderType()==order_type))
{
if(OrderType()==OP_BUY || OrderType()==OP_SELL)
{
if(order_magic<0 || OrderMagicNumber()==order_magic) OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),1,CLR_GREEN);
}
}
}
}
}