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

 
s4sha45:

皆さんこんにちは!YouTubeのビデオの例から簡単な取引ロボットの書き方を学び始めたところ です。 最初の買い注文を開くスクリプトを書きたい のですが、他のオープンオーダーがない場合に開く必要があります。スクリプトはこれを書きましたが、注文は開きません。どこにエラーがあるかをアドバイスください

<

void OnTick()

{

if(OP_SELL==0&&OP_BUY==0)

int ticket=OrderSend(Symbol(),OP_BUY,Lot1,Ask,Slippage,StopLoss,TakeProfit, "My order",MagicNumber,0,clrGreen).この注文は、Lot1、Ask、Slippage、StopLoss、TakeProfitを含む。

>

と書かれていますね(ロシア語で逐語的に)。

1が0に等しく0が0に等 しい場合、ポジションをオープンします。

 
Artyom Trishkin:

と書かれていますね(ロシア語で逐語的に)。

1が0に等しく0が0に等 しい場合、ポジションをオープンします。

ビデオでは、この行をif (b==0&& s==0)書いたらうまくいきました。その前に変数bとsを入力していません。バージョンが古いのかもしれません。もしこれが間違っているなら、注文がないと判断する行は今どのように見えるべきでしょうか?
 
bool FindOrder(int eType, int eMagic, string eSymbol)
   {
   for(int i=OrdersTotal()-1; i>=0; i--)
      {
      if(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
      if(OrderCloseTime()>0) continue;
      if(OrderSymbol()!=eSymbol) continue;
      if(OrderMagicNumber()!=eMagic) continue;
      if(OrderType()!=eType) continue;
      return(true);
      }
   return(false);
   }
bool b=FindOrder(OP_BUY,Magic,Symbol());
if(b)
   {
   
   }
 
s4sha45:

皆さんこんにちは!YouTubeのビデオの例から簡単な取引ロボットの書き方を学び始めたところ です。 最初の買い注文を開くスクリプトを書きたい のですが、他のオープンオーダーがない場合に開かなければなりません。スクリプトはこれを書きましたが、注文は開きません。どこにエラーが あるのか教えてください

<

void OnTick()

  {

  if (OrdersTotal()==0)   int ticket=OrderSend(Symbol(),OP_BUY,Lot1,Ask,Slippage,StopLoss,TakeProfit,"My order",MagicNumber,0,clrGreen);

  }

買い注文、売り注文、ストップ注文、リミット注文がないときに、注文を出す必要がある場合。

OrdersTotal()
クローズド・オーダーは考慮されません。
 
Александр:

買い注文、売り注文、ストップ注文、リミット注文がないときに、注文を出す必要がある場合。

クローズド・オーダーは考慮されません。
ありがとうございました。
 

こんばんは、質問があります:私はすべてのティックの市場価格と特定のcsvファイル(7列)の価格を比較する必要があり、注文はシリーズにグループ化されており、各シリーズの注文 数は任意である可能性があります。初期化に時間をかけて各注文の全データを含む配列を作成し、tickでその配列を反復するのと、ファイルを開いて毎回全てをカーソルにコピーするのと、どちらが速いか理解したい。ファイルや配列にアクセスする時間はどのくらいなんだろう、どのくらい時間が稼げるんだろう。ありがとうございます。

 
Karomos:

こんばんは、質問があります:私はすべてのティックの市場価格と特定のcsvファイル(7列)の価格を比較する必要があり、注文はシリーズにグループ化されており、各シリーズの注文 数は任意である可能性があります。初期化に時間をかけて各注文の全データを含む配列を作成し、tickでその配列を反復するのと、ファイルを開いて毎回全てをカーソルにコピーするのと、どちらが速いか理解したい。ファイルや配列にアクセスする時間はどのくらいなんだろう、どのくらい時間が稼げるんだろう。ありがとうございました。

あなたが書いたことはあまり明確ではありませんが、メモリへのアクセスはファイルからの読み込みより確実に速いです。

 

こんにちは。EAパラメータウィンドウをプログラム的に呼び出すことが可能かどうか教えてください。

問題は、パラメータは定数でしか初期化できないので、まずあるアルゴリズムで計算したい のです。

EAのパラメータにBUY_STOPとSELL_STOPのレベルを設定しています。実は、ほとんどの場合、Expert Advisorはこれらのレベルを自分で計算できるので、私はその正しさをチェックするだけでいいのです。

そこで、EAが起動時にこれらのレベルを計算し、パラメータに入れ、パラメータウィンドウを表示するようにしたいのです。正しい場合は、OKを押すと、EAは通常通り動作します。Expert Advisorが誤ってレベルを認識した場合は、正しい値に修正する。プログラム的にパラメータウィンドウを表示することが不可能な場合、EAのパラメータウィンドウを表示する前に、何らかの方法でパラメータを初期化(私はその計算のための関数を書きました)することができるかどうかを助言してください。

 

専門家の皆様へ

令状はどうやって見つけるのか、教えてください。

状況は次のとおりです。

- 私のEAは同時に2つの注文を開始しています。SLは同じ、TPは設定されていない。

- そして、ある状況下で、私のEAは最初の注文を閉じ、私は2番目の注文でSLを修正しなければなりません。

問題は、2次をどう求めるかです。

問題は、開いているペアが複数ある可能性があることです。しかし、開封の 時期は一組一組違う。


私の見るところ、いろいろなバリエーションがありそうです。どうすれば、より簡単に、より正しくできるのか。

チケットはブローカーに消されるかもしれないので、コメントには書かない。

実は、2順目は別のマジックを付与することができます。しかし、これでは問題が解決しません。

時間帯や開店価格での検索も可能です。しかし、2回目の注文が同じ価格で開かれるという保証はどこにあるのでしょうか?

何かアドバイスはありますか?

 

MT5からのインジケーターは、2色で線を描きます

行の値は同じバッファにある。

インジケータに値を要求する際に、線の色を識別する方法はありますか?