初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 72

 

レスター
開く、閉じる、修正する機能を内蔵したテンプレートです。
オープニングとエンディングは、ニコライ・コシチンが書き下ろしました。

簡単に変更したり、改造を加えたりしました。

呼び方は明確だと思うので、ご参考までに。

申し訳ありません。

Документация по MQL5: Файловые операции / FileMove
Документация по MQL5: Файловые операции / FileMove
  • www.mql5.com
Файловые операции / FileMove - Документация по MQL5
ファイル:
schablon_1.mq5  13 kb
 
papaklass:

この方法で試してみてください。

残念ながら、注文が全然締まらない。 しばらく考えないといけないと思う)
 
mario065:

レスター
このテンプレートには、開く、閉じる、修正するための機能が組み込まれています。
オープニングとエンディングは、ニコライ・コシチンが書き下ろしました。

簡単に変更したり、改造を加えたりしました。

挑戦の仕方は明確だと思うので、ご参考までに。

そのようなファイルをエディターで開くにはどうしたらよいですか?
 
Lester:
そのようなファイルをエディターで開くにはどうしたらよいのでしょうか?

それを開くことはできません。))

いくつかの記事を読んでみてください。小さなものから大人っぽいものまで、たくさんの中から選ぶことができます。))

 
Lester:
残念ながら、注文が全く成立しません。)

ファイルを変更しました、申し訳ありません。

ファイルがごちゃごちゃになってしまいました、すみません。

 
papaklass:

おっとワラントとどう関係があるのですか?ずっとポジションの話をしてきました。ポジションとペンディングオーダーは別物です。きっと閉め方が違うのでしょう!

保留中の注文は、クローズではなく、削除されます。ポジションは、オープンポジションと 同量で反対方向の 成行注文をオープンすることで決済されます。

引用されたコードは、保留中の注文を削除するために設計されたものではありません。

この機能を利用して、注文を削除することができます。


了解です。注文は何もなく、ポジションだけです。

夜、ポジションセレクトを処方したのですが、息が整ったようです。たまにポジションを送る(クローズする)のですが、ここはもう条件が絡んでいるのでしょう。

他にもわからないことがあります。ストップロスやプロフィットロスを形成することはなく、その値は入力パラメータに規定されています。この値を送信時に規定しても、同じこと、つまり何も起こりません。

input int StopLoss=60;      // Stop Loss
input int TakeProfit=170;   // Take Profit
int OnInit()
 ...
   STP = StopLoss;
   TKP = TakeProfit;
   if(_Digits==5 || _Digits==3)
     {
      STP = STP*10;
      TKP = TKP*10;
     }
   return(0);
  }
...
 mrequest.action = TRADE_ACTION_DEAL;                                  // немедленное исполнение
         mrequest.price = NormalizeDouble(Ask,_Digits);    // последняя цена ask
         mrequest.sl = StopLoss; // Stop Loss
         mrequest.tp = TakeProfit; // Take Profit
         mrequest.symbol = _Symbol;                                            // символ
         mrequest.volume = Lot;                                                // количество лотов для торговли
         mrequest.magic = EA_Magic;                                            // Magic Number
         mrequest.type = ORDER_TYPE_BUY;                                       // ордер на покупку
         mrequest.type_filling = ORDER_FILLING_FOK;                            // тип исполнения ордера - все или ничего
         mrequest.deviation=10;                                               // проскальзывание от текущей цены
         //--- отсылаем ордер
         OrderSend(mrequest,mresult);
         // анализируем код возврата торгового сервера
         if(mresult.retcode==10009 || mresult.retcode==10008) //запрос выполнен или ордер успешно помещен
           {
            Alert("Ордер Buy успешно помещен, тикет ордера #:",mresult.order,"!!");
           }
         else
           {
            Alert("Запрос на установку ордера Buy не выполнен - код ошибки:",GetLastError());
            return;

 

こんにちは。シグナルを受信した後、MT4で何をすれば同期が取れるか教えてください。MT5でやることは説明書に書いてあったのですが、MT4用の説明書が見つかりませんでした。MT4からシグナルを購読して います。

MT4からのシグナルを登録しました。 ありがとうございます。

Торговые сигналы
Торговые сигналы
  • www.mql5.com
Торговые Сигналы для MetaTrader: копирование сделок, мониторинг счета, автоматическое исполнение сигналов и социальный трейдинг
 
Lester:

了解しました。命令には触れず、ポジションだけ。

夜、ポジションセレクトを処方したのですが、呼吸しているようです。たまにポジションを送る(クローズする)のですが、ここはもう条件が絡んでいるのでしょう。

他にもわからないことがあります。ストップロスやプロフィットロスを形成することはなく、その値は入力パラメータに規定されています。この値を送信時に規定しても、同じこと、つまり何も起こりません。

ストップとプロフィットが正しく指定されていません。
Здес указали целое число
input int StopLoss=60;      // Stop Loss
input int TakeProfit=170;   // Take Profit

...
   STP = StopLoss;
   TKP = TakeProfit;
   if(_Digits==5 || _Digits==3)
     {
      STP = STP*10;
      TKP = TKP*10;
     }
   return(0);
  }
...

mrequest.action = TRADE_ACTION_DEAL;                                  // немедленное исполнение
         mrequest.price = NormalizeDouble(Ask,_Digits);    // последняя цена ask
         mrequest.sl = NormalizeDouble(Ask - StopLoss*_Points,_Digits); // Stop Loss
         mrequest.tp = NormalizeDouble(Ask + TakeProfit*_Points,_Digits);  // Take Profit

На места для стоп и профит нужна цена!
 
papaklass:

ポジションを建てるときにストップが設定されない理由は、取引モードによって異なる場合があります。 リクエスト実行 インスタント実行 マーケット実行の 3つのモードがあります。

ブローカーが成行執行 モードを使用している場合、まずポジションを建て、次のティックでそれを修正(ストップを設定)する必要があります。同時に、つまり一度の注文で、この取引モードでは、ストップでポジションを建てることはできません。

MQL5 Reference / Standard constants, enumerations and structures / Data structures / Structure of the trade request.一般的には、取引要求の構造に 目を通してください。さらなる語学の勉強に役立つと思います。

確かにアルパリにはMarket Executionが あります。オーダーモディフィケーションの仕組みそのものはあるのでしょうか?売りまたは買いの注文がある限り、フォーラムでの変更はないため。

私の記憶違いでなければ、モディフィケーションの「魚」はこのようなものです。

if(PositionSelect(_Symbol)==true) // есть открытая позиция
     {
      if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY)
        { ModifyPosition(стоплосс на покупку)
        }
      else if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_SELL)
        {
         { ModifyPosition(стоплосс на продажу)
        }
return


 
Lester:
確かに、『アルパリマーケットエグゼキューション 』では。オーダーモディフィケーションの仕組みそのものはあるのでしょうか?売りまたは買いの注文がある限り、フォーラムでの変更はありません。

私の記憶違いでなければ、改造の「魚」はこのような感じです。

標準ライブラリ(CTradeクラス-PositionModify メソッド)から準備されたソリューションを使用してください。初歩的な解決策としては良いのではないでしょうか。いつでも、自分で似たようなクラスを作り、必要な変更を加えることができます。
理由: