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

 
atztek #:
私のi3プロセッサ搭載の古いノートパソコンには、MT5がサポートしていないWinXP 32 bitがまだ入っています。最近、メモリを6Gbに増設したので、64bitのOSをインストールしてMT4とMT5を動かしたいのです。Win7とWin8.1、どちらが良いですか?

私は7が好きです。オフィスは8点、10点、7点です。7の端子の方が安定しています。理由は不明だが、7のテスターは弱いPCの方が速い。8kaは全然過渡期的じゃないですね。一番リソースを食うんですよ。10は、自分自身のためにより多くのリソースを必要とします。

 
atztek #:
私の古い i3プロセッサ搭載の ノートパソコンには、MT5ではサポートされていないWinXP 32bitがインストールされたままでした。最近、メモリを6Gbに増やしたので、MT4とMT5をサポートする64ビットOSをインストールしたいと思っています。Win7とWin8.1ではどちらが良いですか?

ノートパソコンメーカーのホームページで、公式ドライバーがどの最大OSに対応しているかを確認し、それがお好みのOSとなります。ドライバがWin 8.1用であれば、Win 10を試すことができます。もし、ドライバがWin 7で終わってしまったら、あまり選択肢はありません。

 

こんにちは、助けてください。

このEAにテイクプロフィットを追加し、EA実行時に変更するパラメータを表示する必要があります。

OrderClose'の戻り値に2つの警告が表示されます。 も修正してください。


extern double Lots = 0.1;

extern double MaximumRisk = 0.3;

extern double DecreaseFactor = 100;

double st1,st2;

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

///オープンポジションの計算

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

int CalculateCurrentOrders(文字列シンボル)

{

int buys=0,sells=0;

//----

for(int i=0;i<OrdersTotal();i++)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false)ブレーク。

if(OrderSymbol()==Symbol())とする。

{

if(OrderType()==OP_BUY) buys++;

if(OrderType()==OP_SELL) sells++;

}

}

//---- リターンオーダー数

if(buys>0) return(buys);

else return(-sells);

}

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

//| 最適なロットサイズを計算する

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

double LotsOptimized()

{

double lot=ロット。

int orders=HistoryTotal(); // ヒストリーの受注総額

int losses=0; // ブレークしないロスオーダーの数

//---- ロットサイズを選択する

lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/1000.0,3)。

//---- 損切り注文の回数を計算する。

if(DecreaseFactor>0)

{

for(int i=orders-1;i>=0;i--)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) { Print("Error in history!"); break; }.

if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL) continue;

//----

if(OrderProfit()>0)ブレーク。

if(OrderProfit()<0) losses++;

}

if(losses>1) lot=NormalizeDouble(lot-lot*losses/DecreaseFactor,1);

}

//---- ロットサイズを返す

if(lot<0.1) lot=0.1;

return(lot)です。

}

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

//| 開注文条件のチェック

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

void CheckForOpen()

{

int res;

if(音量[0]>1) return;


//---- 買う -----------------------

if ((iStochastic(NULL,0,15,26,10,MODE_SMA,0,MODE_MAIN,0)>iStochastic(NULL,0,15,26,10,MODE_SMA,0,MODE_SIGNAL,0)))

if ((Open[0]<Open[1])&&(Close[0]<Close[1])

//

{

res=OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,15,0,", 0,0,Blue) です。

を返します。

}

//- 売り ----------------------

if ((iStochastic(NULL,0,15,26,10,MODE_SMA,0,MODE_MAIN,0)<iStochastic(NULL,0,15,26,10,MODE_SMA,0,MODE_SIGNAL,0))。

if((Open[0]>Open[1])&&(Close[0]>Close[1]))

{

res=OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,3,15,0,", 0,0,Red) となります。

を返します。

}

}

//------------Закрытие позиций----------------------------------------

void CheckForClose2()

{

if(OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),Bid,3,White);

If(OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),Ask,3,Blue);

//CheckForOpen();

}


//

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

//|寄り付き注文の条件をチェックする|||etc.

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

void CheckForClose1()

{

if(音量[0]>1) return;

//損失をチェックする

if ((AccountProfit()<0)&&(MathAbs(AccountProfit())>=(AccountMargin()*MaximumRisk)))

{

CheckForClose2()。

Print("loss", AccountProfit());

}/**/

//---- チェックオーダータイプ

if(OrderType()==OP_BUY)

{

if ((iStochastic(NULL,0,15,26,10,MODE_SMA,0,MODE_MAIN,0)<iStochastic(NULL,0,15,26,10,MODE_SMA,0,MODE_SIGNAL,0))。

if ((Open[0]>Open[1])&&(Close[0]>Close[1]))

CheckForClose2()。

}

if(オーダータイプ()==OP_SELL)

{

if ((iStochastic(NULL,0,15,26,10,MODE_SMA,0,MODE_MAIN,0)>iStochastic(NULL,0,15,26,10,MODE_SMA,0,MODE_SIGNAL,0)))

if ((Open[0]<Open[1])&&(Close[0]<Close[1]))

CheckForClose2()。

}


}

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

//| 機能開始

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


void start()

{


//---- 現在のシンボルで未決済注文を計算する

if(CalculateCurrentOrders(Symbol())==0) CheckForOpen();

else CheckForClose1();

//---

}

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

MetaQuotes — разработчик торговых платформ для брокеров, банков, бирж и хедж-фондов
MetaQuotes — разработчик торговых платформ для брокеров, банков, бирж и хедж-фондов
  • www.metaquotes.net
Торговая платформа MetaTrader 5 - это бесплатный инструмент трейдера, позволяющий торговать на форексе и фондовых биржах
 
bob88 #:



extern double Lots               = 0.1;

extern double MaximumRisk        = 0.3;

extern double DecreaseFactor     = 100;

extern int stopLoss = 15;
extern int takeProfit = 30;


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

//| Check for open order conditions                                  |

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

void CheckForOpen()

  {

  int res;
  double openPrice, sl, tp;

 if(Volume[0]>1) return;



//---- покупаем -----------------------

  

  if ( (iStochastic(NULL,0,15,26,10,MODE_SMA,0,MODE_MAIN,0)>iStochastic(NULL,0,15,26,10,MODE_SMA,0,MODE_SIGNAL,0))) 

     if  ((Open[0]<Open[1])&&(Close[0]<Close[1])) 

    

  //  

     {
      openPrice = NormalizeDouble(Ask, Digits);
      sl = NormalizeDouble(openPrice - stopLoss * Point, Digits);
      tp = NormalizeDouble(openPrice + takeProfit * Point, Digits);
      res=OrderSend(Symbol(),OP_BUY,LotsOptimized(),openPrice,3,sl,tp,"",0,0,Blue);

      return;

     }

//---- продаем ------------------------

if ((iStochastic(NULL,0,15,26,10,MODE_SMA,0,MODE_MAIN,0)<iStochastic(NULL,0,15,26,10,MODE_SMA,0,MODE_SIGNAL,0)))  

    if((Open[0]>Open[1])&&(Close[0]>Close[1]))

     {
      openPrice = NormalizeDouble(Bid, Digits);
      sl = NormalizeDouble(openPrice + stopLoss * Point, Digits);
      tp = NormalizeDouble(openPrice - takeProfit * Point, Digits);
      res=OrderSend(Symbol(),OP_SELL,LotsOptimized(),openPrice,3,sl,tp,"",0,0,Red);

      return;

     }

     

  }

SLとTPの計算を追加しましたが、そのチェックを追加するといいと思います。その方法は、記事(https://www.mql5.com/ru/articles/2555#invalid_SL_TP_for_position)で紹介しています。

あなたの警告は重要ではありません。OrderCloseの結果は無視されるだけなので、警告が 表示されます。例えば、CheckForClose2 関数はOrderCloseの 結果を返すようにすることができます。あるいは、そのままでもよい。

もうひとつ、CheckForClose2、CheckForOpenなどの 関数名がおかしいことに気がつきました。そして、貿易業務を行わせているのですね。

Какие проверки должен пройти торговый робот перед публикацией в Маркете
Какие проверки должен пройти торговый робот перед публикацией в Маркете
  • www.mql5.com
Все продукты Маркета перед публикацией проходят обязательную предварительную проверку для обеспечения единого стандарта качества. В этой статье мы расскажем о наиболее частых ошибках, которые допускают разработчики в своих технических индикаторах и торговых роботах. А также покажем как самостоятельно проверить свой продукт перед отправкой в Маркет.
 
皆さん、こんにちは。どなたかEAを編集するのを手伝っていただけませんか?注文開始機能を削除して、EAが自分で注文を開くのではなく、手動で開いた注文でのみ動作するようにする必要があります。ありがとうございました。
ファイル:
 
Иван Макаров #:
皆さん、こんにちは。どなたかEAを編集するのを手伝っていただけませんか?私は、EAが自分で注文を開くのではなく、手動で開いた注文でのみ動作するように、注文開始機能を削除する必要があります。ありがとう ございました。

オーダーオープン機能を削除し、magicを0に設定します。ロボットは手動でオープンしたオーダーをピックアップし、それに従います。もしロボットに個々の注文だけに従ってもらい、一列に並ばないようにしたい場合は、例えば、ロボットがそれぞれのOnChartEventイベントCHARTEVENT_OBJECT_CLICKで作成・処理すべき適切なボタンを押すことによって、買いや売りにエントリーを行う。この場合のMagicは、自身の注文に対してのみ動作するように0より大きくなければならない。

 
ごあいさつどなたかmt4 EAに時間取引 機能を追加する方法を教えてください。例えば00:00から23:00までEAを動作させ、残りの1時間は何もしないようにしたい。もしかしたら、誰かがコードの一部とその実装方法を知っているかもしれません。私のEAにどのように実装するか、良いアイディアがあります。
 
Иван Макаров 時間取引の 機能を追加する方法をどなたか教えてください。EAを00.00から23.00まで動作させ、次の1時間は何もしないようにしたい。もしかしたら、誰かがコードの一部とその実装方法を知っているかもしれません。私のEAにどのように実装するか、良い アイディアがあります。

https://www.mql5.com/ru/forum/131859/page9#434297

isTradeTimeString()

isTradeTimeInt()

Только "Полезные функции от KimIV".
Только "Полезные функции от KimIV".
  • 2011.02.18
  • www.mql5.com
Все функции взяты из этой ветки - http://forum.mql4...
 

こんにちは。

こんな不具合も・・・。一応テスト中です!3台のコンピュータのエキスパート。そのうち2つは正確に動作しますが、1つはいつも計算で何らかのバグが発生します。一般的に、ストップロスを 正しく計算できなかったり、誤ったトリガーをかけたりします。

ハードは新しくないが、古くもない。

このようなことに遭遇された方はいらっしゃいますか?

 
Zalevsky1234 ストップロスを 正しく計算できなかったり、誤ったトリガーをかけたりします。

ハードは新しくないが、古くもない。

どなたかお困りの方はいらっしゃいませんか?

3つとも同じブローカー/ディーラーサーバーに接続されているのですか?(つまり、同じ話なのか?)そうでなければ、まずそこを見ることです。