[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 1012

 
boris.45:

ありがとうございました

そこで、データをダウンロードする。F2キーを押し、ペアを選択し、M1で全履歴をダウンロードする
 

こんにちは。

EAで異なる時間間隔(タイムフレーム??????)の価格とインジケータ値の比較を実装する方法をご教示いただけないでしょうか。コードを貼り付けています。このスレッドを読む限り、検索しても何も出てきませんでした(940で)。ありがとうございました!!!

//+------------------------------------------------------------------+
//|                                        expert SAR_1_5_15 min.mq4 |
//|                      Copyright © 2009, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

//---- input parameters
extern double    Lots=0.01;
extern int       StopLoss=300;
extern int       TakeProfit=150;
extern int       MagicNumber=123456;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
  
bool CheckOrders(int Type)
{
 bool Result=True;
 for(int i=0;i<OrdersTotal();i++)
  if(OrderSelect(i,SELECT_BY_POS))
   if(OrderMagicNumber()==MagicNumber && OrderSymbol() == Symbol())
      if(OrderType()==Type)
        {
         if(Type==OP_BUY)
           if(!OrderClose(OrderTicket(),OrderLots(),Bid,0))
             Result=False;
         if(Type==OP_SELL)
           if(!OrderClose(OrderTicket(),OrderLots(),Ask,0))
             Result=False;
         } 
        else Result=False;
 return(Result); 
}

// Проверяем наличие закрытой на текущей свече позиции типа Type. Если есть, то возвращает False  
bool CheckExists(int Type)  
{
 bool Result=True;
 for(int i=OrdersHistoryTotal()-1; i>=0;i--)
  if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY))
   if(OrderMagicNumber()==MagicNumber&&OrderSymbol()==Symbol()&&OrderCloseTime()>=Time[0]&&OrderType()==Type)
    {
     Result=False;
     break;
     }
 return(Result); 
 }
  
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
    // Узнаем уровень стопов и спрэд
    int Spread = MarketInfo(Symbol(), MODE_SPREAD);
    int StopLevel = MarketInfo(Symbol(), MODE_STOPLEVEL);

    // Рассчитываем значения Parabolic,на 0-ом, 1-ом и 2-м барах для 1,5-ти,15-ти минутн. графиков
    double sar10 = iSAR(NULL,1,0.02,0.2,0);
    double sar11 = iSAR(NULL,1,0.02,0.2,1);
    double sar50 = iSAR(NULL,5,0.02,0.2,0);
    double sar51 = iSAR(NULL,5,0.02,0.2,1);
    double sar150 = iSAR(NULL,15,0.02,0.2,0);
    double sar151 = iSAR(NULL,15,0.02,0.2,1);
    double sar152 = iSAR(NULL,15,0.02,0.2,2);
        
   //-------------открытие позиции Buy покупка----------------- 
    if(
    (sar10>Open[0])&&    //  SAR 1 // сравниваем с ценой открытия
    (sar11>Close[0+1])&&    // минута и сравниваем с ценой закрытия
    (sar50>Open[0])&&         //  SAR 5
    (sar51>Close[0+1])&&      // минут
    (sar150>Open[0])&&        //  SAR 15
    (sar151>Close[0+1])&&    // минут
    (sar152<Close[0+2])      // начало тренда
    )
     if(CheckOrders(OP_SELL) && CheckExists(OP_BUY))
      {
       if(StopLoss <= StopLevel+Spread)
         double SL = 0;
        else
         SL = Ask - StopLoss*Point;
       if(TakeProfit <= StopLevel-Spread)
         double TP = 0;
        else
         TP = Ask + TakeProfit*Point;
       if(!OrderSend(Symbol(), OP_BUY, Lots, Ask, 10, SL, TP, NULL, MagicNumber))
         Print("Не открыт ордер Buy. Ошибка №", GetLastError()); 
       }
    //-------------------Конец блока покупки -------------------
    
    //-------------Открытие позиции Sell продажа----------------  
    if(
    (sar10<Open[0])&&       //  SAR 1
    (sar11<Close[0+1])&&    // минут
    (sar50<Open[0])&&       //  SAR 5
    (sar51<Close[0+1])&&    // минут
    (sar150<Open[0])&&        //  SAR 15
    (sar151<Close[0+1])&&     // минут
    (sar153>Close[0+2])      // начало тренда
    )
     if(CheckOrders(OP_BUY) && CheckExists(OP_SELL))
      {
       if(StopLoss <= StopLevel+Spread)
         SL = 0;
        else
         SL = Bid + StopLoss*Point;
       if(TakeProfit <= StopLevel-Spread)
         TP = 0;
        else
         TP = Bid - TakeProfit*Point;
       if(!OrderSend(Symbol(), OP_SELL, Lots, Bid, 10, SL, TP, NULL, MagicNumber))
         Print("Не открыт ордер Sell. Ошибка №", GetLastError()); 
       }

//-----------------конец блока продажи ----------------------
   return(0);
  }
//+------------------------------------------------------------------+
 
尊敬するプログラマーの皆さん、こんにちは。
目からウロコの取引をするExpert Advisorがあるのですが。問題は、スリッページのためか、常に正しくポジションを オープン、クローズ できないことです。EAにSlippageパラメータを追加してください。ありがとうございました。
ファイル:
 

みなさん、こんにちは。

このEAの設定方法を教えてください。https://www.mql5.com/ru/code/9434

あるマイナスまたはプラスになったら、ヘッジポジションを開く、または利益確定するようにしたいのですが。

パラメータを変更する場所がわからない。

そこにパラメータがある:profitplus 1.0

プロフィットマイナス -1.0

利益1.0

どこで変更すればいいのかわからない。

パラメータを変更する場所がわかりません。

 

日足ロウソクの始点でポジションを 開くEAがどこにあるか教えてください。

シーピー

 
glasha:
尊敬するプログラマーの皆さん、こんにちは。
目からウロコの取引をするExpert Advisorがあるのですが。問題は、スリッページのためか、常に正しくポジションをオープン、クローズできないことです。EAにSlippageパラメータを追加してください。ありがとうございました。
ファイル:
 
igrok2008:

こんにちは。

EAで指標値と異なる時間間隔(タイムフレーム??????)の価格との比較を実装する方法をご教授ください。コードを貼り付けています。このスレッドを読む限り、検索しても何も出てきませんでした(940で)。ありがとうございました。

私が理解する限り、ここが比較の対象です。もし私が間違っていたら、訂正してもらいましょう。

if(
(sar10>Open[0])&&// SAR 1 // 始値との 比較
(sar11>Close[0+1])&&//終値との 比較
(sar50>)Open[0])&&// SAR 5
(sar51>Close[0+1])&&// 分
(sar150>Open[0])&&// SAR 15
(sar151>Close[0+1])&&// 分
(sar152<Close[0+2])//トレンド開始
)

 

1.実機やテスターで、異なる時間軸でどのようにプログラムを調整するのか。

例:1時間足では監視してトレンドを探し、30分足と(・)以下ではエントリー/イグジット。

ありがとうございます。

 
EMAクロスオーバーインジケーターを、交差点で1回だけでなく何回でも鳴らせるようにするには、どうしたらいいでしょうか?
 
x8profit:
EMAクロスオーバーシグナルを、クロスオーバーごとに1回だけでなく、好きなだけビープ音を鳴らすにはどうしたらいいでしょうか?

コードを見ていないのですが、まず思いついたのは、ビープ音が1回発生する部分で、ループを作り、その繰り返し回数を外部に出力することです。設定で設定した回数だけ、信号が出力されます...

とはいえ...シグナルの継続時間*サイクルの繰り返し数で、インジケータの動作が一時停止します。