すでにすべて試したが、まだエラーが出る 2016.04.15 13:17:24 Core 1 2016.03.29 09:00:00 failed close position #64 buy 0.81 EURUSD by position #0 [Invalid request] (要求が無効です)。
//+------------------------------------------------------------------+//| Закрытие позиции по типу |//+------------------------------------------------------------------+void PositionClose(double lot, int P_type,long id)
{
Print("Вход в функцию Закрытие позиции по типу !");
ZeroMemory(mrequest); ZeroMemory(mresult); // обнуляем значения mrequest, mresult//--- Получить текущее значение котировки в структуру типа MqlTickif(!SymbolInfoTick(_Symbol,latest_price))
{
Alert("Ошибка получения последних котировок - ошибка:",GetLastError(),"!!");
return;
}
//--- формируем торговый запрос
mrequest.action = TRADE_ACTION_CLOSE_BY; // закрыть позицию встречной
mrequest.order = id;
// mrequest.action = TRADE_ACTION_DEAL; // немедленное исполнение// mrequest.price = NormalizeDouble(latest_price.bid,_Digits); // последняя цена ask// mrequest.sl = 0; // Stop Loss// mrequest.tp = 0; // Take Profit
mrequest.symbol = _Symbol; // символ
mrequest.volume = lot; // количество лотов для торговли// mrequest.magic = MAGIC; // Magic Number// if (P_type == 0) mrequest.type = ORDER_TYPE_SELL; // проверяем тип позиции// if (P_type == 1) mrequest.type = ORDER_TYPE_BUY;
mrequest.type = ORDER_TYPE_CLOSE_BY;
mrequest.type_filling = ORDER_FILLING_FOK; // тип исполнения ордера - все или ничего
mrequest.deviation=10; // проскальзывание от текущей ценыif( OrderSend(mrequest,mresult)>0) // если значение отосланного ордера не ноль, то
{ if(mresult.retcode==10009 || mresult.retcode==10008)
Print(" позиция закрыта !");
} else {
Print(ResultRetcodeDescription(mresult.retcode));
return;
}
}
すでにすべて試したが、まだエラーが出る 2016.04.15 13:17:24 Core 1 2016.03.29 09:00:00 failed close position #64 buy 0.81 EURUSD by position #0 [Invalid request] (要求が無効です)。
ES 009:12:21.189 Trade 2016.04.1400:00:30 instant sell 0.01 EURUSD at 1.12728 (1.12728 / 1.12736 / 1.12728)
IL 009:12:21.189 Trades 2016.04.1400:00:30 deal #2 sell 0.01 EURUSD at 1.12728 done (based on order #2)
OP 009:12:21.189 Trade 2016.04.1400:00:30 deal performed [#2 sell 0.01 EURUSD at 1.12728]
NF 009:12:21.189 Trade 2016.04.1400:00:30 order performed sell 0.01 at 1.12728 [#2 sell 0.01 EURUSD at 1.12728]
GJ 009:12:21.192 TestEA (EURUSD,H1) 2016.04.1400:00:30 CTrade::OrderSend: instant sell 0.01 EURUSD at 1.12728 [done at 1.12728]
KH 009:12:21.192 Trade 2016.04.1400:00:31 instant buy 0.02 EURUSD at 1.12736 (1.12728 / 1.12736 / 1.12728)
OD 009:12:21.192 Trades 2016.04.1400:00:31 deal #3 buy 0.02 EURUSD at 1.12736 done (based on order #3)
GI 009:12:21.193 Trade 2016.04.1400:00:31 deal performed [#3 buy 0.02 EURUSD at 1.12736]
LM 009:12:21.193 Trade 2016.04.1400:00:31 order performed buy 0.02 at 1.12736 [#3 buy 0.02 EURUSD at 1.12736]
NS 009:12:21.193 TestEA (EURUSD,H1) 2016.04.1400:00:31 CTrade::OrderSend: instant buy 0.02 EURUSD at 1.12736 [done at 1.12736]
OP 009:12:21.193 TestEA (EURUSD,H1) 2016.04.1400:00:32 Вход в функцию Закрытие позиции по типу !
GI 009:12:21.193 Trade 2016.04.1400:00:32 close position #2 sell 0.01 EURUSD by position #3 buy 0.02 EURUSD (1.12728 / 1.12736 / 1.12728)
OM 009:12:21.193 Trades 2016.04.1400:00:32 deal #4 buy 0.01 EURUSD at 1.12736 done (based on order #4)
RK 009:12:21.193 Trades 2016.04.1400:00:32 deal #5 sell 0.01 EURUSD at 1.12728 done (based on order #4)
EF 009:12:21.193 TestEA (EURUSD,H1) 2016.04.1400:00:32 CTrade::OrderSend: unknown action 10 [done]
EI 009:12:21.423 Trade 2016.04.1423:59:59 position closed due end of test at 1.12663 [#3 buy 0.01 EURUSD 1.12736]
JG 009:12:21.423 Trades 2016.04.1423:59:59 deal #6 sell 0.01 EURUSD at 1.12663 done (based on order #5)
HN 009:12:21.423 Trade 2016.04.1423:59:59 deal performed [#6 sell 0.01 EURUSD at 1.12663]
IS 009:12:21.423 Trade 2016.04.1423:59:59 order performed sell 0.01 at 1.12663 [#5 sell 0.01 EURUSD at 1.12663]
MT5でEAプログラムをテストしているときの不思議(画像ファイル参照)...残高がマイナスでもプラスの等価性はあるのか? また、残高がマイナスになるのはどんなときか?トレーディング・ネイションに転向する前は、何度も心変わりをして、まだ手をつけていなかったのですが...。そろそろ寝ようかな)
もし、オープンコードとセットに興味がある方がいらっしゃいましたら、教えてください。- 必ず掲載させていただきます。MT5をヘッジ付きで使いこなすようになり、今では、-奇跡、ですが)
奇跡は起きない。大きな黒字のオープンポジションがあり、バランスシートの大きさより大きな損失のクローズドポジションが あります。オープンポジションを維持するための資金が十分にあるため、デメリットはない。
私の間違いが何なのか、教えてください。
for(int i=0;i<N_Sell;i++) printf("OpenSellTime[%d] = %G",i,TimeToString(OpenSellTime[i],TIME_DATE|TIME_MINUTES)," PriceOpenSell[%d] = %G",i,PriceOpenSell[i]);
OpenSellTime配列の日付は表示されず、式の2番目の部分であるPriceOpenSellは表示されません。
また、%Gや%dのようなprintf コマンドも見当たりません。
グッドアフターヌーン・オール!(Good afternoon All)
プログラミングのダミーに質問です・・・。
新しいビルドのためにEAをコンパイルしようとしているのですが、コンパイラがいろいろなエラーを出します...。
その中のひとつをご紹介します。
if(oppositedelete){delete( OP_SELLSTOP);delete( OP_SELLLIMIT);}となります。
このコードには、赤で示した2つのエラーがあります:'(' - オブジェクトポインタが 期待される
エラーの対象について少し読んだところ、名前が予約されているため、置き換えなければならないことが理解できました...。
そこで問題は、何に置き換えるかということです。
グッドアフターヌーン・オール!(Good afternoon All)
プログラミングのダミーに質問です・・・。
新しいビルドのためにEAをコンパイルしようとしているのですが、コンパイラがいろいろなエラーを出します...。
その中のひとつをご紹介します。
if(oppositedelete){delete( OP_SELLSTOP);delete( OP_SELLLIMIT);}となります。
このコードには、赤で示した2つのエラーがあります:'(' - オブジェクトポインタが期待される
エラーの対象について少し読んだところ、名前が予約されているため、置き換えなければならないことが理解できました...。
そこで問題は、何に置き換えるかということです。
コードの中に次のような行があります。
Print (";OpenSellTime - ",TimeToString(OpenSellTime[N_Sell],TIME_DATE|TIME_MINUTES), ";PriceOpenSell", PriceOpenSell[N_Sell]);
なぜこのようなテキストが出力されるのでしょうか。
OpenSellTime - 2015.12.01 11:15
ここで、"; "と2番目の部分は"PriceOpenSell "ですか?
コードの中に次のような行があります。
Print (";OpenSellTime - ",TimeToString(OpenSellTime[N_Sell],TIME_DATE|TIME_MINUTES), ";PriceOpenSell", PriceOpenSell[N_Sell]);
なぜこのようなテキストが出力されるのでしょうか。
OpenSellTime - 2015.12.01 11:15
はどこ、2番目の「PriceOpenSell」はどこ?
を削除した";"。- が働いた。
printfに関する 疑問は残りますが...。
カウンターポジションのクローズ 要求を正しく送信するにはどうしたらよいですか?
今まで通り、反対側を閉じると、漆塗りになってしまいます))
すでにすべて試したが、まだエラーが出る 2016.04.15 13:17:24 Core 1 2016.03.29 09:00:00 failed close position #64 buy 0.81 EURUSD by position #0 [Invalid request] (要求が無効です)。
どのフィールドを埋め、どのフィールドを埋めないのか?開いたポジションがショートかロングかは関係ないのでは?
こんにちは、テスターについて質問です。
多通貨のExpert Advisorをテストしており、取引されているすべての通貨ペアのウィンドウをビジュアライザーで確認したいのですが、可能でしょうか?
ビジュアライザーのヘルプに、ビジュアライザーのメインメニューの「表示」セクションにある「チャート」というコマンドについて書かれていますが、これは新しいチャートを開くために使われるようです。しかし、なぜか「Chart」コマンドが全くなく、それに伴い、追加ペアのチャートを開く ことができません。何が問題なのでしょうか?
カウンターポジションのクローズ 要求を正しく送信するにはどうしたらよいですか?
今まで通り、反対側を閉じると、漆塗りになってしまいます))
すでにすべて試したが、まだエラーが出る 2016.04.15 13:17:24 Core 1 2016.03.29 09:00:00 failed close position #64 buy 0.81 EURUSD by position #0 [Invalid request] (要求が無効です)。
どのフィールドを埋め、どのフィールドを埋めないのか?私が理解する限り、ポジションがロングかショートかは関係ありません。
最小限のコードを使用 - 標準ライブラリを使用します。
エージェントログです。