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

 
leonerd:

なるほど、ありがとうございます。EAで試してみようと思ったんです。しかし、ここでは5203を得た。MT5では、同じコードが正常に動作するのですが・・・。

わかったような気がします。タイムアウト5000を設定した(MT5ではうまくいったが、MT4ではうまくいかなかった)。500を入れた - MT4でも動きました。

 

インジケータからEAに 関数を転送して、EAで直接計算する方法を教えてください。


void OnTick()

{

SovExitBuffer[0]= getValue()// }

)?


int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {

//---
   int limit;
//---
   if(rates_total<=1)
      return(0);
//--- last counted bar will be recounted
   limit=rates_total-prev_calculated;
   if(prev_calculated>0)
      limit=limit+1;

 for(int i=limit-1; i>=0; i--)
 {

  
  upDband1=iMA(NULL,0,25,0,MODE_SMA,PRICE_CLOSE,i)+iStdDev(NULL,0,25,0,MODE_EMA,PRICE_CLOSE,i)*2;
  maDbands1=iMA(NULL,0,25,0,MODE_SMA,PRICE_CLOSE,i);
  deltaDbands1=upDband1-maDbands1;

  ExitBuffer[i]=deltaDbands1; //Это значение нужно получить в советнике в Ontick()
  
  }

   return(rates_total);
  }


 

このコードの書き方を教えてください 2エラー!1-予期せぬ終了プログラム 2-アンバランスな括弧 アンバランスな括弧の意味にはどのようなものがあるのでしょうか。

extern double        Lot   =1;
//-------------------------------------
//----------------------------------
void start()
{
  Lot=OrderLots();
  void RefreshRates();
  CurAskPriceOne = MarketInfo("EURUSD", MODE_ASK);
  CurAskPriceTwo = MarketInfo("USDCHF", MODE_ASK);
 //----------
 //--Открытие ордера1
    Ticket=OrderSend("EURUSD",OP_BUY,Lot,CurAskPriceOne,2,0,0);
    if (Ticket > 0)
      {
       if(OrderSelect(Ticket,SELECT_BY_POS,MODE_TRADES)) Print (" One order opene : " , OrderOpenPrice());
      {
      else Print ("Eror opening BUY EURUSD order : ",GetLastError();
//-------------
//--Ордер 2
          Ticket=OrderSend("USDCHF",OP_BUY,Lot,CurAskPriceTwo,2,0,0);
    if (Ticket > 0)
      {
       if(OrderSelect(Ticket,SELECT_BY_POS,MODE_TRADES)) Print (" One order opene : " , OrderOpenPrice());
      {
      else Print ("Eror opening BUY USDCHF order : ",GetLastError());
      
//---------------------------Закрытие старт
  return;
}
 
Tenimagalon:

このコードの書き方を教えてください 2エラー!1-unexpected end program 2-Unbalanced parentheses 何が問題なのか?

固定された括弧を持つエラー - あなたは、ペアを探すために必要な、またはより良い - 最初に括弧を入れて、次に書くためのコードの内側。

extern double        Lot   =1;
//-------------------------------------
//----------------------------------
void start()
{
   Lot=OrderLots();
   RefreshRates();
   CurAskPriceOne = MarketInfo("EURUSD", MODE_ASK);
   CurAskPriceTwo = MarketInfo("USDCHF", MODE_ASK);
   //----------
   //--Открытие ордера1
   Ticket=OrderSend("EURUSD",OP_BUY,Lot,CurAskPriceOne,2,0,0);
   if(Ticket > 0)
     {
      if(OrderSelect(Ticket,SELECT_BY_POS,MODE_TRADES)) 
         Print(" One order opene : " , OrderOpenPrice());
      else
         Print("Eror opening BUY EURUSD order : ",GetLastError());
     }
   //-------------
   //--Ордер 2
   Ticket=OrderSend("USDCHF",OP_BUY,Lot,CurAskPriceTwo,2,0,0);
   if (Ticket > 0)
     {
      if(OrderSelect(Ticket,SELECT_BY_POS,MODE_TRADES)) 
         Print(" One order opene : " , OrderOpenPrice());
     }
   else
      Print("Eror opening BUY USDCHF order : ",GetLastError());
   //---------------------------Закрытие старт
   return;
}

...でも、あなたのコードにはロジックがない...。

 

追加します。

これ

Lot=OrderLots();

は動作しませんが、OrderLots()関数は動作しますので、ヘルプを読んでください。

の変数を使用します。

CurAskPriceOneとCurAskPriceTwo。

はどこにも宣言されていません。

は大雑把にやる必要があります。

   double CurAskPriceOne = MarketInfo("EURUSD", MODE_ASK);
   double CurAskPriceTwo = MarketInfo("USDCHF", MODE_ASK);

このように

 
ロットの件、了解しました。
  double CurAskPriceTwo = MarketInfo("USDCHF", MODE_ASK);

を発表していないのですが、うまくいきました。:)

 
分単位の引用が過去にさかのぼって消えているのを見たことが何度かあります。例えば、昨夜(12.02)、10日~11日の数百件の記録が消えました。M1チャートで「更新」を押すだけで治ることもありますが、昨日はうまくいかず、別の端末から手動で相場を取り込む 必要がありました。サーバー上のブローカーは問題なく、同じアカウントをターミナルの別のコピーで開くと、穴のない正常なチャートが表示されるからです。何が問題なのでしょうか?
Объем импорта - экономические данные США
Объем импорта - экономические данные США
  • www.mql5.com
Импорт (Imports) отражает объем товаров и услуг из-за рубежа, которые сразу же входят в сети потребления, склады и зоны внешней торговли. При составлении индикатора обычно используется стоимость
 
注文を出す方法、閉じる方法、種類別に取る方法、ボットにクソみたいな注文を出させる方法、それがわからない:)一番簡単なコードを考えてみましょう。この野郎を一度注文を開かせるためには、最初か最後に何を入れればいいのでしょう。
extern double lot =1;
int start()
{
  int Ticket;
   Ticket=OrderSend("USDCHF",OP_BUY,Lot,Ask,2,0,0);
 return(1);
}
 
Tenimagalon:
注文を出す方法、閉じる方法、種類別に取る方法、ボットにクソみたいな注文を出させる方法、それがわからない:)一番簡単なコードを考えてみましょう。この野郎を一度注文を開かせるためには、最初か最後に何を入れればいいのでしょう。
OrdersTotal() < 1
 
Iurii Tokman:
これは開封前ですか?
(
)