KimIVの便利な機能 - ページ 120 1...113114115116117118119120121122123124125126127128 新しいコメント Nauris Zukas 2013.07.30 07:24 #1191 こんにちは。 GetProfitOpenPosInCurrency()関数を改造して、最も負けているポジションを返すようにしました。 このポジション(OrderOpenTime())の開始時間を返すには、どの関数が適しているか教えていただけますか? double GetMaxLoseOpenPosInCurrency(string sy="", int op=-1, int mn=-1) { double p=0; int i, k=OrdersTotal(); if (sy=="0") sy=Symbol(); for (i=0; i<k; i++) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if ((OrderSymbol()==sy || sy=="") && (op<0 || OrderType()==op)) { if (OrderType()==OP_BUY || OrderType()==OP_SELL) { if (mn<0 || OrderMagicNumber()==mn) if(p > OrderProfit() + OrderSwap() + OrderCommission()){ p=OrderProfit()+OrderCommission()+OrderSwap(); } } } } } return(p); } Victor Nikolaev 2013.07.30 07:49 #1192 abeiks: こんにちは。 GetProfitOpenPosInCurrency()関数を改造して、最悪の負けポジションを返すようにしました。 このポジション(OrderOpenTime())の開始時間を返すには、どの関数が適しているか教えていただけますか? チケット番号を返すと、標準関数でできること Nauris Zukas 2013.07.30 08:51 #1193 Vinin: チケット番号を返すと、標準機能から解放される ありがとうございます。 pool 2013.08.05 10:06 #1194 KimIV さん、こんにちは。スクリプトを探しているのですが、見つかりません。シンボルで保留中の注文をすべて 削除して、シンボルを 探し回る のですが、たぶんあります。 Nauris Zukas 2013.08.05 10:57 #1195 こんにちは。 KimIVのisTradeTimeInt()関数を使用しています。私は多くの時間間隔を使い、それぞれの間隔に異なる変数を割り当てることにします。そのためにこんなコードを作りました(今のところ2区間)。問題は、これが最も正しい解決策なのか、それとも別の方法でアプローチすべきなのか、ということです。 extern int OH1=9;extern int OM1=0;extern int CH1=12;extern int CM1=0; extern int OH2=13;extern int OM2=0;extern int CH2=15;extern int CM2=0; int HourOpenTime() { int trade = 0; if(isTradeTimeInt(OH1,OM1,CH1,CM1))trade = 1; if(isTradeTimeInt(OH2,OM2,CH2,CM2))trade = 2; return (trade); } --- 2014.01.22 07:59 #1196 bestseich: 親愛なる イゴールキム、私は OrderCloseBy( )のような関数を書く のに役立ちますが、それは別のペアで動作する必要があり 、OrderProfit()、それは注文が異なって指示されているかどうかは関係ありません、1OrderProfit()>別の ように、別のペア、何ポイント、両方、正確に、唯一のこれらの2つが同時に閉じて いる。私のバリエーションはこんな感じです。 for (int i=OrdersTotal()-1;i>=0;i--) {if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){if(OrderSymbol()!=Symbol()||OrderSymbol()==Symbol()))です。{ if(OrderProfit()>=pr*Point)//pr はパラメータで、ポイントは利益。 int ot=OrderTicket()、double op=OrderProfit()。if(OrderProfit()<=pru*(-1)*Point)//pru それはパラメータにある、損失のポイントint otu=OrderTicket()、double opu=OrderProfit()。if(op>opu*v*(-1)&&(OrderType()==OP_BUY||OrderType()==OP_SELL))//v は損益率、すなわち 1.5 です。OrderClose(otu,OrderLots(),Bid,sleep,Blue)。OrderClose(ot,OrderLots(),Bid,sleep,Blue)。OrderClose(otu,OrderLots(),Ask,sleep,Blue)。OrderClose(ot,OrderLots(),Ask,sleep,Blue)。}}} うまくいくのか?差し支えなければ、あなた自身の解決策を修正または提案してください。 vasabu 2014.01.22 08:33 #1197 イゴールへ 最後の注文を閉じた後、次の注文を開く前に、口座残高に応じて ロット数を計算する機能があるかどうか、教えてください。 あらかじめご了承ください。 Alekseu Fedotov 2014.01.22 09:33 #1198 vasabu2012: イゴールへ 最後の注文を閉じた後、次の注文を開く前に、口座残高に応じてロット数を計算する機能があるかどうか、教えてください。 あらかじめご了承ください。 ここで、イゴールの機能を紹介します。 ファイル: b-lots.mqh 3 kb benzovoz 2014.02.17 06:20 #1199 アップデートでPriceOpenLastPos関数が条件で動作しなくなり、私の脳みそが壊れそうになりました。 double PriceOpenLastPos(string sy="", int op=-1, int mn=-1) { datetime t; double r=0, r2=0; int i, k=OrdersTotal(); if (sy=="0") sy=Symbol(); for (i=0; i<k; i++) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol()==sy || sy=="") { if (OrderType()==OP_BUY || OrderType()==OP_SELL) { if (op<0 || OrderType()==op) { if (mn<0 || OrderMagicNumber()==mn) { if (t<OrderOpenTime()) { t=OrderOpenTime(); r=OrderOpenPrice(); } } } } } } } r2 = DoubleToStr(r, 4); return(r2); } MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 [ARCHIVE]フォーラムを乱立させないために、どんなルーキーの質問でも。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 5. [警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 elektronik 2014.04.14 07:43 #1200 EAの再コンパイルにご協力ください e-CloseByEquity.rar MetaEditorのプログラミング変更に伴い 1...113114115116117118119120121122123124125126127128 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
こんにちは。
GetProfitOpenPosInCurrency()関数を改造して、最も負けているポジションを返すようにしました。 このポジション(OrderOpenTime())の開始時間を返すには、どの関数が適しているか教えていただけますか?
こんにちは。
GetProfitOpenPosInCurrency()関数を改造して、最悪の負けポジションを返すようにしました。 このポジション(OrderOpenTime())の開始時間を返すには、どの関数が適しているか教えていただけますか?
チケット番号を返すと、標準関数でできること
チケット番号を返すと、標準機能から解放される
ありがとうございます。
KimIV さん、こんにちは。スクリプトを探しているのですが、見つかりません。シンボルで保留中の注文をすべて 削除して、シンボルを 探し回る のですが、たぶんあります。
こんにちは。
KimIVのisTradeTimeInt()関数を使用しています。私は多くの時間間隔を使い、それぞれの間隔に異なる変数を割り当てることにします。そのためにこんなコードを作りました(今のところ2区間)。問題は、これが最も正しい解決策なのか、それとも別の方法でアプローチすべきなのか、ということです。
親愛なる イゴールキム、私は OrderCloseBy( )のような関数を書く のに役立ちますが、それは別のペアで動作する必要があり 、OrderProfit()、それは注文が異なって指示されているかどうかは関係ありません、1OrderProfit()>別の ように、別のペア、何ポイント、両方、正確に、唯一のこれらの2つが同時に閉じて いる。私のバリエーションはこんな感じです。
for (int i=OrdersTotal()-1;i>=0;i--)
}}}
うまくいくのか?差し支えなければ、あなた自身の解決策を修正または提案してください。
イゴールへ
最後の注文を閉じた後、次の注文を開く前に、口座残高に応じて ロット数を計算する機能があるかどうか、教えてください。
あらかじめご了承ください。
イゴールへ
最後の注文を閉じた後、次の注文を開く前に、口座残高に応じてロット数を計算する機能があるかどうか、教えてください。
あらかじめご了承ください。
ここで、イゴールの機能を紹介します。
アップデートでPriceOpenLastPos関数が条件で動作しなくなり、私の脳みそが壊れそうになりました。
datetime t;
double r=0, r2=0;
int i, k=OrdersTotal();
if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==sy || sy=="") {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) {
if (t<OrderOpenTime()) {
t=OrderOpenTime();
r=OrderOpenPrice();
}
}
}
}
}
}
}
r2 = DoubleToStr(r, 4);
return(r2);
}