Metatrader 5で動作しないアドバイザーは1つもありません。 - ページ 6 1234567 新しいコメント Sergey Ponomarev 2015.04.29 10:39 #51 デモ・ドルで Sergey Ponomarev 2015.04.29 10:42 #52 ロボットのダウンロードは、まだ1つも動作していません。 Alexander Bereznyak 2015.04.29 10:56 #53 ドル建てに変更、社内EAが機能せず、私のは機能する注文の実行タイプはORDER_FILLING_RETURN であるべきです。 Sergey Ponomarev 2015.04.29 11:35 #54 sandex:ドル建てに変更、社内EAが機能せず、私のは機能する注文の実行タイプはORDER_FILLING_RETURN であるべきです。 r このタイプを入力する場所) Sergey Ponomarev 2015.04.29 12:10 #55 dogmaone: r このタイプを入力する場所) もし、あなたのロボットが動くのであれば、標準的なロボットも動くようにするには、どこに正しい値を入れればいいか教えてください。 Vladimir Karputov 2015.04.29 14:41 #56 エキスパートアドバイザーのロジックが原因であることは間違いありません(コードがすべてのチェックを通過しないか、取引モードを 考慮していない)。少なくとも、サーバー「BCS5-Real」でのこの簡単なコードは簡単に動作します。//+------------------------------------------------------------------+ //| OrderSend.mq5 | //| Copyright © 2015, Vladimir Karputov | //| http://wmua.ru/slesar/ | //+------------------------------------------------------------------+ #property copyright "Copyright © 2015, Vladimir Karputov" #property link "http://wmua.ru/slesar/" #property version "1.00" //+------------------------------------------------------------------+ //| https://www.mql5.com/ru/articles/481 | //+------------------------------------------------------------------+ #include<Trade\Trade.mqh> //--- объект для проведения торговых операций CTrade trade; //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { //--- зададим MagicNumber для идентификации своих ордеров int MagicNumber=123456; trade.SetExpertMagicNumber(MagicNumber); //--- установим допустимое проскальзывание в пунктах при совершении покупки/продажи int deviation=10; trade.SetDeviationInPoints(deviation); //--- режим заполнения ордера, нужно использовать тот режим, который разрешается сервером trade.SetTypeFilling(ORDER_FILLING_RETURN); //--- режим логирования: лучше не вызывать этот метод вообще, класс сам выставит оптимальный режим trade.LogLevel(1); //--- какую функцию использовать для торговли: true - OrderSendAsync(), false - OrderSend() trade.SetAsyncMode(true); //--- /*//--- 1. пример покупки по текущему символу if(!trade.Buy(0.1)) { //--- сообщим о неудаче Print("Метод Buy() потерпел неудачу. Код возврата=",trade.ResultRetcode(), ". Описание кода: ",trade.ResultRetcodeDescription()); } else { Print("Метод Buy() выполнен успешно. Код возврата=",trade.ResultRetcode(), " (",trade.ResultRetcodeDescription(),")"); }*/ /*//--- 2. пример покупки по указанному символу if(!trade.Buy(0.1,"GBPUSD")) { //--- сообщим о неудаче Print("Метод Buy() потерпел неудачу. Код возврата=",trade.ResultRetcode(), ". Описание кода: ",trade.ResultRetcodeDescription()); } else { Print("Метод Buy() выполнен успешно. Код возврата=",trade.ResultRetcode(), " (",trade.ResultRetcodeDescription(),")"); }*/ //Можно указать все параметры ордера: уровни Stop Loss/Take Profit,цена открытия и комментарий. //--- 3. пример покупки по указанному символу символу с заданными SL и TP double volume=0.1; // укажем объем торговой операции string symbol="GBPUSD"; // укажем символ, на котором проводится операция int digits=(int)SymbolInfoInteger(symbol,SYMBOL_DIGITS); // количество знаков после запятой double point=SymbolInfoDouble(symbol,SYMBOL_POINT); // пункт double bid=SymbolInfoDouble(symbol,SYMBOL_BID); // текущая цена для закрытия LONG double SL=bid-1000*point; // ненормализованное значение SL SL=NormalizeDouble(SL,digits); // нормализуем Stop Loss double TP=bid+1000*point; // ненормализованное значение TP TP=NormalizeDouble(TP,digits); // нормализуем Take Profit //--- получим текущую цену открытия для LONG позиций double open_price=SymbolInfoDouble(symbol,SYMBOL_ASK); string comment=StringFormat("Buy %s %G lots at %s, SL=%s TP=%s", symbol,volume, DoubleToString(open_price,digits), DoubleToString(SL,digits), DoubleToString(TP,digits)); if(!trade.Buy(volume,symbol,open_price,SL,TP,comment)) { //--- сообщим о неудаче Print("Метод Buy() потерпел неудачу. Код возврата=",trade.ResultRetcode(), ". Описание кода: ",trade.ResultRetcodeDescription()); } else { Print("Метод Buy() выполнен успешно. Код возврата=",trade.ResultRetcode(), " (",trade.ResultRetcodeDescription(),")"); } } //+------------------------------------------------------------------+ Sergey Ponomarev 2015.04.29 15:03 #57 Karputov Vladimir:Expert Advisor のロジックが間違いなく原因です(コードがすべてのチェックを通過しないか、取引モードを 考慮しない)。少なくとも、サーバー「BCS5-Real」上では、このような簡単なコードは簡単に動作します。 私はあなたのコードをコンパイルしたいときにアドバイスしてください:作成するために行く(EAテンプレート)追加のイベントハンドラ何を選択するには? Vladimir Karputov 2015.04.29 15:05 #58 Sergey Ponomarev: 私はあなたのコードをコンパイルしたいときに私に助言してください:私は(EAテンプレート)追加のイベントハンドラを作成したいのですが、どちらを選択するのですか? これはスクリプトです。このスクリプトは、この取引サーバーで自動モードでポジションを 開くことができるかを確認するためのものです。 Sergey Ponomarev 2015.04.29 15:08 #59 Karputov Vladimir: これはスクリプトです。このスクリプトは、この取引サーバーでポジションが まだ自動モードで開くことができるかどうかを確認するためのものです。 なるほど...。つまり、私のブローカーのサーバーは他のロジックが必要なのですね))) Sergey Ponomarev 2015.04.29 15:08 #60 Karputov Vladimir: これはスクリプトです。このスクリプトは、この取引サーバーで自動モードでまだポジションを 開くことができるかどうかを確認するためのものです。 お疲れ様でした :) 1234567 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
ドル建てに変更、社内EAが機能せず、私のは機能する
注文の実行タイプはORDER_FILLING_RETURN であるべきです。
ドル建てに変更、社内EAが機能せず、私のは機能する
注文の実行タイプはORDER_FILLING_RETURN であるべきです。
r このタイプを入力する場所)
エキスパートアドバイザーのロジックが原因であることは間違いありません(コードがすべてのチェックを通過しないか、取引モードを 考慮していない)。
少なくとも、サーバー「BCS5-Real」でのこの簡単なコードは簡単に動作します。
Expert Advisor のロジックが間違いなく原因です(コードがすべてのチェックを通過しないか、取引モードを 考慮しない)。
少なくとも、サーバー「BCS5-Real」上では、このような簡単なコードは簡単に動作します。
私はあなたのコードをコンパイルしたいときに私に助言してください:私は(EAテンプレート)追加のイベントハンドラを作成したいのですが、どちらを選択するのですか?
これはスクリプトです。このスクリプトは、この取引サーバーでポジションが まだ自動モードで開くことができるかどうかを確認するためのものです。
これはスクリプトです。このスクリプトは、この取引サーバーで自動モードでまだポジションを 開くことができるかどうかを確認するためのものです。