私が試行錯誤しているアドバイザーの組み立て方 - ページ 30

 
Aleksandr Klapatyuk:

ターミナルで確認し、設定する必要があります。今は、何が必要なのか理解できませんし、テスターでもうまく動きません。

今、黄色のボタンがラインを設定し、ラインはBooまたはSellになります。

 
Aleksandr Klapatyuk:

すでにペアになっているのはこちら -AVGiS intelligence.mq5195 kb

別の方法でやろうとすると、うまくいきませんので、これなしですべてを書き直さなければなりません。 (CSampleExpert::)--- bool CSampleExpert::Init(void)

だから、うまくいかないものを探しているんです...。一番上にButtonCreateが あるのですが...。著者のコードと同じように入れたのですが...。

 
Сергей Криушин:

だから、動かないものを見ていると...。一番上にButtonCreateが あるのですが...。著者のコードと同じように...

と、このように、うまくいくのですが、さらに、私の

 
Сергей Криушин:

だから、動かないものを見ていると...。一番上にButtonCreateが あるのですが...。は、筆者のコードと同じ...。

明日、あなたがやっているように、私も糊付けしてみます。

 
Сергей Криушин:

だから、動かないものを見ていると...。一番上にButtonCreateが あるのですが...。は、筆者のコードと同じ...。

という感じでしょうか?

コードを挿入できません - なぜか入りません

ファイル:
01_AVGiS.mq5  41 kb
 
しまった!OSを再インストールしてしまった!mt5のコードで混乱している
 
Aleksandr Klapatyuk:

こんなのあるんですか?

コードを入れることができない

オープニングのコード、一番上の黄色いのから飛ばすんですね...すでにどこかに書いたのですが、投稿が消えてしまいました...)) 信号にリンクさせる必要があるんですね...。

//+------------------------------------------------------------------+  
//|                                                                  |
//+------------------------------------------------------------------+
bool OpenBuy(double tp)
  {
//--- перебор всех открытых позиций
   if(PositionsTotal()<limit_total)
     {
      //--- объявление и инициализация запроса и результата
      MqlTradeRequest request={0};
      MqlTradeResult result={0};
      //--- параметры запроса
      request.action=TRADE_ACTION_DEAL; // тип торговой операции
      request.symbol=Symbol(); // символ
      request.volume=Volume(); // объем в 0.1 лот *((int)MathAbs(main_buffer))
      request.type=ORDER_TYPE_BUY; // тип ордера
      request.price=SymbolInfoDouble(Symbol(),SYMBOL_ASK); // цена для открытия
      request.deviation=5; // допустимое отклонение от цены
      request.magic=EXPERT_MAGIC; // MagicNumber ордера
      //request.sl=SymbolInfoDouble(Symbol(),SYMBOL_BID)-TrailingStop_STOPS_LEVEL*SymbolInfoDouble(Symbol(),SYMBOL_POINT); // Уровень Stop Loss ордера
      //request.tp=SymbolInfoDouble(Symbol(),SYMBOL_BID)+TProf*SymbolInfoDouble(Symbol(),SYMBOL_POINT); // Уровень Take Profit ордера
        
      //--- отправка запроса
      if(!OrderSend(request,result))
         PrintFormat("OrderSend error %d",GetLastError()); // если отправить запрос не удалось, вывести код ошибки
      //--- информация об операции
      PrintFormat("retcode=%u deal=%I64u order=%I64u",result.retcode,result.deal,result.order);
     };

   return ( true );
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
bool OpenSell(double tp)
  {
  
//--- перебор всех открытых позиций
   if(PositionsTotal()<limit_total)
     {
      //--- объявление и инициализация запроса и результата
      MqlTradeRequest request={0};
      MqlTradeResult result={0};
      //--- параметры запроса
      request.action=TRADE_ACTION_DEAL; // тип торговой операции
      request.symbol=Symbol(); // символ
      request.volume=Volume(); // объем в 0.1 лот *((int)MathAbs(main_buffer))
      request.type=ORDER_TYPE_SELL; // тип ордера
      request.price=SymbolInfoDouble(Symbol(),SYMBOL_BID); // цена для открытия
      request.deviation=5; // допустимое отклонение от цены
      request.magic=EXPERT_MAGIC; // MagicNumber ордера
      
      //request.sl=SymbolInfoDouble(Symbol(),SYMBOL_ASK)+TrailingStop_STOPS_LEVEL*SymbolInfoDouble(Symbol(),SYMBOL_POINT); // Уровень Stop Loss ордера
      //request.tp=SymbolInfoDouble(Symbol(),SYMBOL_ASK)-TProf*SymbolInfoDouble(Symbol(),SYMBOL_POINT); // Уровень Take Profit ордера
                        
         
           
                    
      //--- отправка запроса
      if(!OrderSend(request,result))
         PrintFormat("OrderSend error %d",GetLastError()); // если отправить запрос не удалось, вывести код ошибки
      //--- информация об операции
      PrintFormat("retcode=%u deal=%I64u order=%I64u",result.retcode,result.deal,result.order);
     };

   return ( true );
  }
 
Сергей Криушин:

を開くと、一番上の黄色いものからスキップしていきます...すでにどこかに書いたのですが、投稿が消えてしまいました...)) 信号にリンクさせる必要があります...

OpenSell(double tp) TradeSell(double LotsX)に改名したのですが、どうでしょう?

あるいは、もともとリンクから別のコードをダウンロードしていたのですが、Speed-v1.mq548 kbを いただきました。

違うんだろうな、と思って ダウンロードしたらダブルLotsX

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
bool TradeBuy(double LotsX)
  {
//--- перебор всех открытых позиций
   if(PositionsTotal()<limit_total)
     {
      //--- объявление и инициализация запроса и результата
      MqlTradeRequest request= {0};
      MqlTradeResult result= {0};
      //--- параметры запроса
      request.action=TRADE_ACTION_DEAL; // тип торговой операции
      request.symbol=Symbol(); // символ
      request.volume=InpLots; // объем в 0.1 лот *((int)MathAbs(main_buffer))
      request.type=ORDER_TYPE_BUY; // тип ордера
      request.price=SymbolInfoDouble(Symbol(),SYMBOL_ASK); // цена для открытия
      request.deviation=5; // допустимое отклонение от цены
      request.magic=Magic_Number; // MagicNumber ордера
      //--- отправка запроса
      if(!OrderSend(request,result))
         PrintFormat("OrderSend error %d",GetLastError()); // если отправить запрос не удалось, вывести код ошибки
      //--- информация об операции
      PrintFormat("retcode=%u deal=%I64u order=%I64u",result.retcode,result.deal,result.order);
     };
   return (true);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
bool TradeSell(double LotsX)
  {
//--- перебор всех открытых позиций
   if(PositionsTotal()<limit_total)
     {
      //--- объявление и инициализация запроса и результата
      MqlTradeRequest request= {0};
      MqlTradeResult result= {0};
      //--- параметры запроса
      request.action=TRADE_ACTION_DEAL; // тип торговой операции
      request.symbol=Symbol(); // символ
      request.volume=InpLots; // объем в 0.1 лот *((int)MathAbs(main_buffer))
      request.type=ORDER_TYPE_SELL; // тип ордера
      request.price=SymbolInfoDouble(Symbol(),SYMBOL_BID); // цена для открытия
      request.deviation=5; // допустимое отклонение от цены
      request.magic=Magic_Number; // MagicNumber ордера
      //--- отправка запроса
      if(!OrderSend(request,result))
         PrintFormat("OrderSend error %d",GetLastError()); // если отправить запрос не удалось, вывести код ошибки
      //--- информация об операции
      PrintFormat("retcode=%u deal=%I64u order=%I64u",result.retcode,result.deal,result.order);
     };
   return (true);
  }
//+------------------------------------------------------------------+

不要なものを全て削除し、そこにあったAVGiS.mq5と 01のAVGiS.mq5の名前をつけました。

スナップショット.PNG

 

よし、ここにファイルをアップロードする。 今、コンピュータを復元しているところだ。

と最後の試験官を救わなかった。

 
Aleksandr Klapatyuk:

よし、ここにファイルをアップロードする。 今、コンピュータを復元しているところだ。

で、最後の専門家を保存しなかった。

ソースは正しいです...すでに、私の改造したものが他の人に装着されています。を、異なるコードで表示します...))

理由: