エラー、バグ、質問 - ページ 144

 
pronych:

例えば、バーチャルな注文を作る(変数に保存しておいて、価格がクロスしたときにマーケットでオープンする)とか。今は時間が大切...。

時間がない... コードをデバッグしたところだ。

少なくとも、テストと調整をする時間が必要です。

 
Valmars:
このようなたった一つのミスが、チャンピオンシップでのあなたのEAの運命に影響を与えることはありません。しかし、もし資金がなければ、以前の選手権で起こったように、そのログにギガバイトを生成するポジションを開くために繰り返し試みますが、それは失格になります。
いいえ、保留中の注文が削除された場合、もちろんお金がなければ次の注文は出ません。
 
保留中の注文のストップレベルを決定する際に問題があります。市場が落ち着いていて、許容範囲内のレベルでストップオーダーを出したいとき、関数 SymbolInfoInteger(SYMBOL_TRADE_STOPS_LEVEL) が完全に機能し、オーダーが出され、私を含め全員がハッピーに なるのです。しかし、取引開始時に相場が大きく動くと、この機能が働かなくなり、注文が発注されず、端末が無効なストップに関するエラーを発生させるようになります。

このような推奨機能に依存することで、自分のEAが競争から排除されるようなことは避けたいですね。しかし、その場合、あるシンボルの現時点での正しい許容ストップレベルを知るにはどうしたらよいのでしょうか?

追伸:エラー発生時の増分での選択、この場合のエラー件数が増えるのは嫌ですね。
 
Vladix:
保留中の注文のストップレベルを決定する際に問題があります。市場が落ち着いていて、許容範囲内のレベルでストップオーダーを出したい場合、関数 SymbolInfoInteger(SYMBOL_TRADE_STOPS_LEVEL) は完璧に機能します;オーダーは出され、私を含め全員がハッピーに なります。しかし、取引開始時に相場が大きく変動し始めると、この機能が働かなくなり、注文が発注されず、端末が無効なストップに関するエラーを発生させるようになります。

このような推奨機能に依存することで、自分のEAが競争から排除されるようなことは避けたいですね。しかし、その場合、あるシンボルの現時点での正しい許容ストップレベルを知るにはどうしたらよいのでしょうか?

追伸:エラー発生時にインクリメンタル増量するようなセレクションはとても使いたくないし、この場合のエラーの数も増えてしまう。

保留中の注文については、建値が現在値より近い場合にもストップ高無効のエラーが発生 します。

つまり、ストップだけ でなく、始値もチェックする必要があります。


 

HistorySelectByPosition() 後にHistoryDealsTotal() 関数を起動 するとエラーになるのでは?

オープンポジション(多通貨取引)を持っているにもかかわらず、取引数が0と繰り返し表示される。

以下はそのコードです。


void GetDealQuantity(string smbl)
{
long pos_id。
int total, quantity=0;
ulong ticket=0; newticket;
PositionSelect(smbl)。
pos_id=PositionGetInteger(POSITION_IDENTIFIER)です。
bool select=HistorySelectByPosition(pos_id)とする。
total=HistoryDealsTotal()。
Print(__FUNCTION__," select=",select," total=",total);
for(int i=HistoryDealsTotal()-1;i>=0;i--)
{
newticket=HistoryOrderGetTicket(i)。
if(ticket!=newticket) { quantity++; ticket=newticket; }.
}
if(smbl==symbol1) quantity1=quantity;
if(smbl==symbol2) quantity2=quantity;
Print(__FUNCTION__," quantity=",quantity);
}

ジャーナルにプリントする。

2010.01.04 00:20:05 GetDealQuantity select=true total=0
2010.01.04 00:20:05 GetDealQuantity quantity=0
2010.01.04 00:20:05 EURJPY volume=0.1 quantity=0
2010.01.04 00:20:05 GetDealQuantity select=true total=1
2010.01.04 00:20:05 GetDealQuantity quantity=1
2010.01.04 00:20:05 AUDUSD ボリューム=0.1 数量=1

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций - Документация по MQL5
 

投稿に正しくコードを挿入 してみてください。例をこのようにやり直してみてください。

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void GetDealQuantity(string smbl)
  {
   long pos_id;
   int total,quantity=0;
   ulong ticket=0,newticket;
   if(PositionSelect(smbl))
     {
      pos_id=PositionGetInteger(POSITION_IDENTIFIER);
      bool select=HistorySelectByPosition(pos_id);
      if(select)
        {
         total=HistoryDealsTotal();
         Print(__FUNCTION__," select=",select," total=",total,"posID=",pos_id);
         for(int i=total-1;i>=0;i--)
           {
            newticket=HistoryOrderGetTicket(i);
            if(ticket!=newticket) { quantity++; ticket=newticket; }
           }
         if(smbl==symbol1) quantity1=quantity;
         if(smbl==symbol2) quantity2=quantity;
         Print(__FUNCTION__," quantity=",quantity);
        }
      else
        {
        Print("Не удалось выполнить HistorySelectByPosition() для pos_id=",pos_id);
        }

     }
   else
     {
      Print("Позиции не выбрана по символу ",smbl);
     }
  }
//+------------------------------------------------------------------+
MQL5.community - Памятка пользователя
MQL5.community - Памятка пользователя
  • 2010.02.23
  • MetaQuotes Software Corp.
  • www.mql5.com
Вы недавно зарегистрировались и у вас возникли вопросы: Как вставить картинку в сообщение на форуме, как красиво оформить исходный код MQL5, где находятся ваши Личные сообщения? В этой статье мы подготовили для вас несколько практических советов, которые помогут быстрее освоиться на сайте MQL5.community и позволят в полной мере воспользоваться доступными функциональными возможностями.
 
最後の引用文をクリップボードに書き出すようなスクリプトの例はどこかにないでしょうか?
 
jmp:
最後の引用文をクリップボードに書き出すスクリプトの例などはどこかにあるのでしょうか?

Windowsのクリップボード?

msdnで必要な関数がどのDLLに入っているか調べなければならないのですが...。

 
真相を解明したい。間違っていたら訂正してください。インジケータ(フラクタルだったと思います)のドキュメントを勉強したとき、同じレベルの2つの隣接する(連続した、または数本のバーで 区切られた)極値の場合、重要なのは最新のもの(右側の新しいもの)であることをはっきりと覚えていましたし、今も覚えています。しかし、ジグザグ・インディケータだけでなく、チャート・オブジェクトの磁化の特性(そのジグザグに基づいているらしい)も、一つの水準に近い二つのローソク足の最初の極値で固定されているが、私の考えでは、ケースバイケースで挙動が変わるので、まだはっきりとした結論は出せない。ジグザグについては、これは一番最初のローソク足だけで構築されます。これでいいのか、同志たちよ?そうあるべきなのでしょうか?あるいは、明確なルールのない「基準」がいくつかあって、極限を左のローソク足で判断するか右のローソク足で判断するかは、誰もが自由に選択できるのでしょうか?
 
ジグザグは何百万本もあるんですよ。あなたが正しいと思うものを使ってください。