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

 
Arsen_Syharev:
Sell1とSell2フラクタルを同時に開くには、どのようなコマンドを書けばよいか教えてください。
フォーラムには何もない。
 
こんにちは。(SigPF==1 or SigPF==2) and OrdersTotal>0 すなわち、SigPF条件のいずれかが発生した場合、現在マーケットにある注文のみを処理する必要があります。

これは、関数内部の条件をチェックする外部変数です
extern int PF_price_in_pips=70;
機能であることが望ましい。
1.どのような注文を扱っているか定義する...SigPF==1なら買い注文、SigPF==2なら売り注文である。
2.現在の価格を確認し、もし
の買い注文があり、SigPF==1が存在する場合。

買い注文が開始される現在の価格と、既に市場に出ている注文のいずれかの開始価格との 差がPF_price_in_pipsより大きい場合、この関数はvalid_signal=trueを返す必要があります。


現在,市場に売り注文があり,SigPF==2が設定されている場合。

既に市場に存在する未決済注文の価格と、売り注文が開始される現在の価格との差が、PF_price_in_pipsより大きい場合、関数はvalid_signal=trueフラグを返す必要があります。

売買シグナル発生時の新規注文の開始価格との差がPF_price_in_pipsより小さい場合、valid_signal=falseを返すべき。

基本的には、一言で言えば、売買シグナル(SigPF==1, SigPF==2)時の新規注文の建値と、すでに市場に出ている注文の建値との距離をチェックし、その距離がPF_price_in_pipsより大きければ、valid_signal=trueを返さなければならない、という関数です。これは、非常に近い価格で注文を開始することを避けるためですそしてもう一つ...私のEAは新しいバーのオープニングにのみ取引します...全てのティックには取引しません...。が、そんなことはどうでもいいと思うのだが......。 とにかくBidやAskの価格を考えなければならない・・・。

この機能を助ける!もし何か不明な点があれば、説明しますし、写真もお見せします。ただ、助けてください)ありがとうございました
 

用語がよくわからないけど...

   int PF_price_in_pips=70;
   int OrdTotal=OrdersTotal();
   bool valid_signal=false;
   int SigFF;
   
   if(OrdersTotal()>0)
   {
   for(int i=OrdTotal-1; i>=0; i --)
     {
      if(!OrderSelect(i,SELECT_BY_POS))
         continue;

      if(OrderType()==OP_BUY && SigFF==1 && Ask+OrderOpenPrice()>PF_price_in_pips)
         valid_signal=true;
         else
         valid_signal=false;
      if(OrderType()==OP_SELL && SigFF==2 && OrderOpenPrice()-Bid>PF_price_in_pips)
         valid_signal=true;
         else
         valid_signal=false;

     }
     }
 
Arsen_Syharev:
フラクタルのSell1とSell2が同時にオープンしたときに、どのようなコマンドを書けばいいのか教えてください。
Sell1、Sell2をどのような値で注文を出すとよいですか?//もう、あなたの苦悩は見ていられない...。
 
Arsen_Syharev:
Sell1とSell2のフラクタルが同時に開かれたときに、注文が開かれるようにするには、どのようなコマンドを書けばよいか教えてください。
if (Sell1 !=0 && Sell2 != 0){

/* Если по текущей цене */ 

OrderSend(Symbol1, OP_SELL, Lots, Bid, 1, 0, 0, 0, Magik, 0, Red);

OrderSend(Symbol2, OP_SELL, Lots, Bid, 1, 0,0, 0, Magik, 0, Red); 

/*Если по пробитию фракталов отложенными ордерами */

 OrderSend(Symbol1, OP_SELLSTOP, Lots, Sell1, 1, 0, 0, 0, Magik, 0, Red);

OrderSend(Symbol2, OP_SELLSTOP, Lots, Sell2, 1, 0,0, 0, Magik, 0, Red);  

} 

しかし、これはVERY VERYの粗雑な例であるに違いない

 
1つのアカウントで複数のシグナルにサインすることが可能かどうか、ご存知ですか?
 

こんにちは、最近あなたの仲間に加わりました。)保留中の注文に うんざりして、インターネットからダウンロードしたスクリプトを使うことにしましたが、一方向にしかエラーが出ない、他のスクリプトは一方向にしか注文が出ないなど、満足のいくものではありませんでした。これは、基本的に、両方向に一定量の保留注文を開くことで構成されます。質問:各注文にトレーリングストップを設定するにはどうすればよいですか? これはExpert Advisorではなく、スクリプトです。注文が開設され、トレーリングストップが付けられ、それだけで、スクリプトはその仕事を完了しました。注文の右クリックで実行される通常のトレーリングストップをトリガーするスクリプトを使用するにはどうすればよいですか?第4回 MetaTrader Build 765。

 
entitie:

こんにちは、最近あなたの仲間に加わりました。)保留中の注文に うんざりして、インターネットからダウンロードしたスクリプトを使うことにしたのですが、一方向にしかエラーが出ず、他のスクリプトは各方向に1つずつしか注文を出せないなど、満足のいくものではありませんでした。これは、基本的に、両方向に一定量の保留注文を開くことで構成されます。質問:各注文にトレーリングストップを設定するにはどうすればよいですか? これはExpert Advisorではなく、スクリプトです。注文が開設され、トレーリングストップが付けられ、それだけで、スクリプトはその仕事を完了しました。注文の右クリックで実行される通常のトレーリングストップをトリガーするスクリプトを使用するにはどうすればよいですか?第4回 MetaTrader Build 765。

フリーランスが全部やる)。
 

皆さん、こんにちは。

タスクは以下の通りです。EURUSD.mで買い、EURUSD.m1で売るために、ある距離のステップの後に注文を開く必要があります。この問題は、以下のコードで解決されます。

ただし、前回EURUSD.m1での売り注文からStep*2の距離で逆行した場合は、やはりEURUSD.mに買い注文を出す必要があります。この条件は、この始値がEURUSD.mの最後の買い注文の価格より低いという条件で動作します。

どうすればいいのかがわからない。喜んでお手伝いさせていただきます。

// бай евро доллар
if (rates[1].open < rates[1].close && !PositionSelect(Symbol1)) 
   {
      LastPriceBuy = OpenBuy(Symbol1,Lot); // если бычья свеча и нет открытой позиции по этому символу
   }
if (GlobalVariableCheck ("bb_1")) GlobalVariableGet("bb_1", bb_1);  // цифровая переменная внутренняя и ее проверка

if (PositionSelect(Symbol1) && LastPriceBuy > 0) //открытие второго и последующих ордеров
  {
   if(LastPriceBuy+Step*_Point < SymbolInfoDouble(Symbol1,SYMBOL_ASK)) 
   {LastPriceBuy = OpenBuy(Symbol1,Lot);} // открытие позиции в бай по евро доллару всех последующих ордеров 
  }    

// сел евро доллар
if (rates[1].open > rates[1].close && !PositionSelect(Symbol3)) {LastPriceSell = OpenSell(Symbol3,Lot);} // если бычья свеча и нет открытой позиции по этому символу
if (GlobalVariableCheck ("ss_1")) GlobalVariableGet("ss1_", ss_1);  // цифровая переменная внутренняя и ее проверка

if (PositionSelect(Symbol3) && LastPriceSell > 0) //открытие второго и последующих ордеров
  {
   if(LastPriceSell-Step*_Point > SymbolInfoDouble(Symbol3,SYMBOL_BID))
   {LastPriceSell = OpenSell(Symbol3,Lot);} // открытие позиции в селл по евро доллару всех последующих ордеров 
  } 
 
zfs:
フリーランスは全部やる)。

とても貴重で有益な返信コメントです、あなたも使ってみてはいかがでしょうか・・・。

実際のところ、注文を出した後、その上に標準的なトレーリングストップを掛ける簡単なコマンドはないのでしょうか?

理由: