初心者の方からの質問 MQL4 MT4 MetaTrader 4 - ページ 222

 

取引ロボットを確認することができます

//+------------------------------------------------------------------+

//| Experts1.mq4

//| Copyright 2017, MetaQuotes Software Corp.

//| https://www.mql5.com |

//+------------------------------------------------------------------+

#property copyright "Copyright 2017, MetaQuotes Software Corp."

#プロパティリンク "https://www.mql5.com"

#property version "1.00"

#プロパティの厳密さ

//+------------------------------------------------------------------+

//| https://www.mql5.com |

//+------------------------------------------------------------------+

#property copyright "Copyright 2020, MetaQuotes Software Corp.

#プロパティリンク "https://www.mql5.com"


input double Lots=0.01;

//+------------------------------------------------------------------+

//| |

//+------------------------------------------------------------------+

int OnInit()

(OrderSend(Symbol(),OP_BUY,Lots,3,0,Ask+0.0084,Ask-0.0084))。


double lot=ロット。

if profit then Lots=lot+0.01 else Lots=lot-0.01

if Lots=0 then Lots=0.01

if Lots>0.03 then Lots=0.01

//---

//---

return()です。

}


Открой новые возможности в MetaTrader 5 с сообществом и сервисами MQL5
Открой новые возможности в MetaTrader 5 с сообществом и сервисами MQL5
  • www.mql5.com
One Click Close The script allows users to easily close positions if their profit/loss reaches or exceeds a value specified in pips. Please set slippage value first. Sometimes some positions do not close due to high volatility of the market. Please set larger slippage or restart the script. The free demo version is: ...
 
例えば、1.28でSellstopを発注し、1.50まで価格が動いて、保留中の注文が価格から一定の距離に移動しましたが、常に価格の後ろに移動するのではなく、一度だけ、つまり例えば10pips移動して価格がさらに動いても停止 した場合の 条件をどのように書けばよいでしょうか?アレクサンダーさん、ありがとうございます。
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Приказы на проведение торговых операций оформляются ордерами. Каждый ордер имеет множество свойств для чтения, информацию по ним можно получать с помощью функций Идентификатор позиции, который ставится на ордере при его исполнении. Каждый исполненный ордер порождает сделку, которая открывает новую или изменяет уже существующую позицию...
 

専門家の皆さん、こんにちは。

ヘルプ、やり方のヒント、どこを読めばいいのか、コードの一部を書いてください。

コードの一部を添付します。注文や指値注文を開くときにコメントを入力できるようにしてほしい。つまり、コード上ではなく、EAパネルを開くときに右往左往する。

extern double Lots     = 0.1;
extern int StopLoss    = 250;
extern int TakeProfit  = 150;
extern int Magic       = 1;

double SL, TP;

int ticket;


//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   double price = Ask;

   if(BUY() == 0)
     {
      SL = NormalizeDouble(Ask - StopLoss*Point, 5);
      TP = NormalizeDouble(Ask + TakeProfit*Point, 5);
      ticket = OrderSend(Symbol(), OP_BUY, Lots, price, 3, SL, TP, "", Magic, 0, Red);
      if(ticket<0)
         Print("Не удалось открыть ордер");
     }
  }
//+------------------------------------------------------------------+
int BUY()
  {
   int count = 0;
   for(int i=OrdersTotal()-1; i>=X; i--)
     {
      if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == true &&
         OrderMagicNumber() == Magic &&
         OrderType() == OP_BUY)
        {
         count++;
        }
     }
   return(count);
  }
//+------------------------------------------------------------------+
 
d4vv:

注文や指値注文を開くときにコメントを入力できるようにしてほしい。

input string Mycomment="Preved Medved";


ticket = OrderSend(Symbol(), OP_BUY, Lots, price, 3, SL, TP, Mycomment, Magic, 0, Red);

コメントは注文作成時に書き込まれ、再度変更することはできません。

 
Aleksei Stepanenko:

コメントはオーダー作成時に書き込まれ、以後変更することはできません。

ありがとうございました。これはまさに私が必要としているものです。

 
Knelson:
保留中の注文をある値動きで一旦移動 させる場合の 条件の書き方を教えてください。

1.未決済注文のチケットと、注文がすでに移動されたことを示すフラグを格納する配列を作成します。

struct Orders
   {
   int ticket;
   bool moved;
   } orders[];

2.新たに出現した注文を追跡し、この配列に未決済注文の情報を "has not moved "のフラグで記録します。

bool finded;
int index==ArraySize(orders)-1;
for(int i=OrdersTotal()-1; i>=0; i--)
   {
   if(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
   if(OrderSymbol()!=symbol) continue;
   if(OrderMagicNumber()!=magic) continue;
   if(OrderType()!=OP_BUYSTOP && OrderType()!=OP_SELLSTOP) continue;
   finded=false;
   for(int j=index; j>=0; j--)
      {
      if(orders[j].ticket==OrderTicket())
         {
         finded=true;
         break;
         }
      }
   if(!finded)
      {
      ArrayResize(orders,++index+1);
      orders[index].ticket=OrderTicket();
      orders[index].moved=false;
      }
   }

3.オーダーがクローズ、削除、または変換された場合、配列から情報を削除します。

4.移動の条件を確認し、条件を満たしていてフラグが「移動しなかった」場合、移動してフラグを「移動した」に変更します。

 
Aleksei Stepanenko:

1.未決済注文のチケットと、注文がすでに移動されたことを示すフラグを格納する配列を作成します。

2.新たに出現した注文を追跡し、この配列に未決済注文の情報を "has not moved "のフラグで記録します。

3.オーダーがクローズ、削除、または変換された場合、配列から情報を削除します。

4.移動の条件を確認し、条件が整いフラグが "移動しなかった "なら、移動してフラグを "移動した "に変更する。

信頼性がないのでは?

マジックナンバー2の注文を出し、マジックナンバー1の注文を削除する。

コードは単純で、ティック受信後、マジックナンバー1の注文が見つかり、移動する必要があれば、この注文を削除し、マジックナンバー2の新しい注文を配置するループになります。

 

はい、良い選択肢だと思います。

 
Aleksei Stepanenko:

はい、それは良い選択肢です。

UPD:コードは単純になります - ダニは、マジックナンバー1の順序でループを見つけると移動する必要がある場合、この順序を削除し、マジックナンバー2で新しい順序を設定 する来るとき

......次に、マジックナンバー2の新しいオーダーを設定し、それがOKならマジックナンバー1のオーダーを削除します。

ので、以下のチェックを考え出す - たとえば、停止レベルのレベルが拡張され、一度注文を移動することはできませんし、我々はすでに発見された順序を削除しています。

彼方)

 
人間の脳を観察していると(ほとんど自分の脳ですが、それだけではありません)、「トンネルを掘る」という特性があることがわかります。思考のプロセスは、まるでトンネルの中のように、思考の固定観念の中で行われるのです。そして、自分の努力でそこから飛び出すのは容易なことではありません。私」は私と切り離せない存在であり、その思考回路は正しい、絶対的に正しいと思われます。しかし、外からの知識が入ってきて、自分がアイデアの虜になっていたことに気づき始める。奇跡...