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

 
検査は正しく、非常に慎重に行わなければならない。

さらに再現性がある。それに、他人のDLLを自分でソースからコンパイルせずに実行するのは論外です。
 

皆さんこんにちは、次のことについてお聞きしたいのですが。

私は初心者です、多分誰かが私を説明することができます。

私はロシアだけでなく、別のトレーダーでデモ口座を 開設しました。私は問題に遭遇しました:私は市場にロットを配置することはできません、すなわち、私はできますが、市場価格でのみロットは市場価格でしか置けないんです!

おそらく、私は何も知らないのだろう

市場を通り抜けてどこに行っても、とにかく注文を受けてくれる。でも、FXの端末ではそれができなくて、大きなスプレッドのある市場価格で買うしかないんです!(笑)。

Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация о счете
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация о счете
  • www.mql5.com
, то позиции по каждому символу разрешается закрывать только в том порядке, в котором они были открыты — сначала самую старую, затем более новую и т.д. При попытке закрыть позиции в ином порядке будет получена ошибка. Уровень залоговых средств, при достижении которого происходит принудительное закрытие самой убыточной позиции (Stop Out...
 
ウェブサイトが動作しない
 
Vladimir Pastushak:
WebサイトのPSCが動作しない
.
 
Alexey Viktorov:
.

今は動いています。

 
Renat Fatkhullin:
検査はきちんと、とても慎重に行わなければなりません。

テストは行わず、能力を評価するのみとした。

OK、この華麗な方法で、あなたが拒否したことを考えましょう、私は上記のVSソースを提供しました。

 

こんにちは。

末尾の機能。

ストラテジーテスターで 4756エラーが出るのですが、どこが悪いのか教えてください。スクリプトで実行すると、動作します。

int Tralling(int PointsTral=200)
  {
   MqlTradeRequest Request;
   MqlTradeResult Result;
   int PosTot, i, digits;
   string Symbols[]= {""};
   double SymbPt,sl,tp,
          PriceOpen[]= {0};
   i=0;
   PosTot= PositionsTotal();
   if(PosTot>0)
     {
      while(i<PosTot)
        {
         Symbols[i] = PositionGetSymbol(i);
         digits=(int)SymbolInfoInteger(Symbols[i],SYMBOL_DIGITS);
         if(PositionSelect(Symbols[i]))
           {
            PriceOpen[i] = PositionGetDouble(POSITION_PRICE_OPEN);
            SymbPt = SymbolInfoDouble(Symbols[i],SYMBOL_POINT);
            if(PositionGetInteger(POSITION_TYPE) == 0)
              {
               if(SymbolInfoDouble(Symbols[i],SYMBOL_BID) >= PriceOpen[i]+(SymbPt*PointsTral))
                 {
                  if(SymbolInfoDouble(Symbols[i],SYMBOL_BID)>PositionGetDouble(POSITION_SL)+(SymbPt*PointsTral))
                    {
                     sl=SymbolInfoDouble(Symbols[i],SYMBOL_BID)-(SymbPt*PointsTral);
                     tp=PositionGetDouble(POSITION_TP);
                     Request.action=TRADE_ACTION_SLTP;
                     Request.symbol = Symbols[i];
                     Request.sl=NormalizeDouble(sl,digits);
                     Request.tp=NormalizeDouble(tp,digits);
                     Request.position=PositionGetInteger(POSITION_TICKET);
                     if(!OrderSend(Request,Result))
                        Alert("Ошибка Треллинга ",GetLastError());
                    }
                 }
              }

            if(PositionGetInteger(POSITION_TYPE) == 1)
              {
               if(SymbolInfoDouble(Symbols[i],SYMBOL_ASK) <= PriceOpen[i]-(SymbPt*PointsTral))
                 {
                  if(SymbolInfoDouble(Symbols[i],SYMBOL_ASK)<PositionGetDouble(POSITION_SL)-(SymbPt*PointsTral))
                    {
                     sl=SymbolInfoDouble(Symbols[i],SYMBOL_ASK)+(SymbPt*PointsTral);
                     tp=PositionGetDouble(POSITION_TP);
                     Request.action=TRADE_ACTION_SLTP;
                     Request.symbol = Symbols[i];
                     Request.sl=NormalizeDouble(sl,digits);
                     Request.tp=NormalizeDouble(tp,digits);
                     Request.position=PositionGetInteger(POSITION_TICKET);
                     if(!OrderSend(Request,Result))
                        Alert("Ошибка Треллинга ",GetLastError());
                    }
                 }
              }

           }
         else
           {
            Alert("Не удалось выделить оредер по символу. ", Symbols[i], " Ошибка ", GetLastError());
           }
         i++;
        }
     }
   return (1);
  }

Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства позиций
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства позиций
  • www.mql5.com
Тикет позиции. Уникальное число, которое присваивается каждой вновь открытой позиции. Как правило, соответствует тикету ордера, в результате которого она была открыта, за исключением случаев изменения тикета в результате служебных операций на сервере. Например, начисления свопов переоткрытием позиции. Для нахождения ордера, которым была открыта...
 

こんにちは。

エラーが見つからない。トラリングストップです。スクリプトでチャートに投げると、動くんです。ストラテジーテスターでは、エラー4756(サーバーに送信できません)が返されます。

よろしくお願いします。

int Tralling(int PointsTral=200)
  {
   MqlTradeRequest Reques;
   MqlTradeResult Result;
   int PosTot, i, digits;
   string Symbols;
   double SymbPt,sl,tp,
          PriceOpen;
   i=0;
   PosTot= PositionsTotal();
   if(PosTot>0)
     {
      while(i<PosTot)
        {
         Symbols = PositionGetSymbol(i);
         digits=(int)SymbolInfoInteger(Symbols,SYMBOL_DIGITS);
         if(PositionSelect(Symbols))
           {
            PriceOpen = PositionGetDouble(POSITION_PRICE_OPEN);
            SymbPt = SymbolInfoDouble(Symbols,SYMBOL_POINT);
            if(PositionGetInteger(POSITION_TYPE) == 0)
              {
               if(SymbolInfoDouble(Symbols,SYMBOL_BID) >= PriceOpen+(SymbPt*PointsTral))
                 {
                  if(SymbolInfoDouble(Symbols,SYMBOL_BID)>PositionGetDouble(POSITION_SL)+(SymbPt*PointsTral))
                    {
                     sl=SymbolInfoDouble(Symbols,SYMBOL_BID)-(SymbPt*PointsTral);
                     tp=PositionGetDouble(POSITION_TP);
                     Reques.action=TRADE_ACTION_SLTP;
                     Reques.symbol = Symbols;
                     Reques.position=PositionGetInteger(POSITION_TICKET);
                     Reques.sl=NormalizeDouble(sl,digits);
                     Reques.tp=NormalizeDouble(tp,digits);
                     if(!OrderSend(Reques,Result))
                        Alert("Ошибка Треллинга ",GetLastError());
                    }
                 }
              }

            if(PositionGetInteger(POSITION_TYPE) == 1)
              {
               if(SymbolInfoDouble(Symbols,SYMBOL_ASK) <= PriceOpen-(SymbPt*PointsTral))
                 {
                  if(SymbolInfoDouble(Symbols,SYMBOL_ASK)<PositionGetDouble(POSITION_SL)-(SymbPt*PointsTral))
                    {
                     sl=SymbolInfoDouble(Symbols,SYMBOL_ASK)+(SymbPt*PointsTral);
                     tp=PositionGetDouble(POSITION_TP);
                     Reques.action=TRADE_ACTION_SLTP;
                     Reques.symbol = Symbols;
                     Reques.position=PositionGetInteger(POSITION_TICKET);
                     Reques.sl=NormalizeDouble(sl,digits);
                     Reques.tp=NormalizeDouble(tp,digits);
                     if(!OrderSend(Reques,Result))
                        Alert("Ошибка Треллинга ",GetLastError());
                    }
                 }
              }

           }
         else
           {
            Alert("Не удалось выделить оредер по символу. ", Symbols[i], " Ошибка ", GetLastError());
           }
         i++;
        }
     }

   return (1);
  }
 
Igor Makanu:

テストは行わず、能力評価のみ

OK、そのような華麗な言葉で、あなたが拒否していることを考えましょう、私は上記のVSソースを提供しました。

あなたは例外的な主張をして、それを証明することができなかった。また、dllを投稿するのは初めてではないので、禁じ手です。

再現のためのソースコードが見当たりません。

 
Renat Fatkhullin:

あなたは例外的な主張をして、それを証明することができなかった。また、dllの投稿は今回が初めてではないので、禁じ手です。

再現のためのソースコードが見当たりません。

声明の排他性は何を示しているのでしょうか?旧端末の性能測定で非常に良い結果が出たというだけで、イマイチ、昔から作られている良いものという印象です。

今日、PCで確認したところ、MT4/MT5と同じ結果でした。ノートPCで再度確認したところ、やはり違いは見られず、何らかのサービスのバックグラウンドでWin10が「ドライブを噛み砕いた」可能性が高いです。ノートPCではランタイムの設定をしておらず、デフォルトで夜間に設定されています。

夜はまだ原則的に今日、どのような違いを理解する欲求があった - それが動作するように、私はソースコードがコメントや状況や議論の明確化を開始する部分を切り取るために意味をなさない見ていない、私はそれを実行する必要はありません。


新ビルドのバグのうち

ターミナルログの情報が正しくありません。

2020.05.06 19:03:03.895 Terminal Windows 10 build 18363, Intel Core i3 M 380 @ 2.53GHz, 0 / 2 Gb メモリ, 149 / 237 Gb ディスク, IE 11, UAC, GMT+4

タスクマネージャーで2.97GBのうち920MBを無料で獲得、以前のビルドはより正しいシステム情報を持っていました。