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

 
キエフ時間の17時(東部標準時)と4時59分(西部標準時)を教えてください。
 
131:
キエフでは東部標準時で午後5時、西部標準時で午後4時59分となっていますが、皆さんは 何時か教えていただけますか?

ほらよ、小僧。

ETS = UTC-5
MSK = UTC+3
キエフ=UTC+2

 
abolk:

ほらよ、小僧。

ETS = UTC-5
MSK = UTC+3
キエフ=UTC+2


ありがとうございます。:)
 

いい人、教えてください!!!!!!!!!!

これってどうなんだろう?アドバイザーを少しいじることにした...。をいじった...。を編集したものです...

//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//Рассчитываем значения OsMA и Stochastic на 0-ом и 1-ом барах
 double OsMA_0=iOsMA(NULL,0,pF,pSl,pSig,1,0);
 double OsMA_1=iOsMA(NULL,0,pF,pSl,pSig,1,1);
 double Sto_0=iStochastic(NULL,0,pK,pD,SL,1,1,MODE_MAIN,0);
 double Sto_1=iStochastic(NULL,0,pK,pD,SL,1,1,MODE_MAIN,1);
 
 //-------------открытие позиции Buy покупка----------------- 

 if(
   (Sto_0>Sto_1)&&
   (Sto_0< 20)&&
   (OsMA_0>OsMA_1)&&
   (OsMA_0<-P)
   ) //торговое условие на покупку
 if( CheckOrders (OP_SELL)) 
      {
       if(!OrderSend(Symbol(), OP_BUY, Lots, Ask, 3, 0, 0, NULL, MagicNumber)
         Print("Не открыт ордер Buy. Ошибка №", GetLastError()); 
       }
    //-------------------Конец блока покупки -------------------
    

と表示され、空白のスペースでエラーになりました。

'\end_of_program' - unbalanced left parenthesis C:\Program Files\MetaTrader - Alpari\experts\expertOsMA_Stochastic.mq4 (104, 1)

このスペースには*が表示されます。

 
* //-------------открытие позиции Buy покупка----------------- 

削除してみたり、追加してみたり...。いろいろやってみたが、ダメだった。

どなたかヒントをください -)))))))))))))))))))))))))))))))))))))))))))))))))))))

それと、お邪魔ですが、832ページの最初の質問ですが...。

 
chief2000:

一般に、CCIは乱高下するので、バーが終了して新しいバーが開いた後にチェックするのがよいでしょう。

そして、もし現在のものと強く関連しているのであれば、クロスのたびにローソクの開始時刻をグローバル変数に記憶させ、その時刻が異なるか(異なれば注文が開く)、同じか(=>注文が開かない)をチェックすればよいのです。

CCIはあくまで一例です。別のインジケーターに置き換わります。コードとしては、多分これに近いものがあると思います。

static int prevtime = 0;

int init() {
   prevtime = Time[0];
   return(0);
}

int start() {

   if (! IsTradeAllowed()) {
      return(0);
   }

   if (Time[0] == prevtime) {
      return(0);
   }
   prevtime = Time[0];

   int ticket = -1;
   int total = OrdersTotal();
   for (int i = total - 1; i >= 0; i--) {
      OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
      if ((OrderSymbol() == Symbol()) && (OrderMagicNumber() == magic)) {
         int prevticket = OrderTicket();
         if (OrderType() == OP_BUY) {
 

igrok2008, コード全体が必要です。このエラーは、ある部分のブラケットに問題があることを意味します。


 if( CheckOrders (OP_SELL)) 
      {
       if(OrderSend(Symbol(), OP_BUY, Lots, Ask, 3, 0, 0, NULL, MagicNumber)<0)
         Print("Не открыт ордер Buy. Ошибка №", GetLastError()); 
      }
 
Techno:

igrok2008, コード全体が必要です。このエラーは、ある部分のブラケットに問題があることを意味します。


不思議なことに、それが功を奏した。シェルの位置も変えなければならなかった!!!

以下はコードの全体像です。

//+------------------------------------------------------------------+
//|                                        expertOsMA_Stochastic.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 int       pF=8;
extern int       pSl=34;
extern int       pSig=13;
extern double    P=0.0007;
extern int       pK=21;
extern int       pD=5;
extern int       SL=8;
extern double    Lots=0.1;
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); 
}
  
  
  
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//Рассчитываем значения OsMA и Stochastic на 0-ом и 1-ом барах
 double OsMA_0=iOsMA(NULL,0,pF,pSl,pSig,1,0);
 double OsMA_1=iOsMA(NULL,0,pF,pSl,pSig,1,1);
 double Sto_0=iStochastic(NULL,0,pK,pD,SL,1,1,MODE_MAIN,0);
 double Sto_1=iStochastic(NULL,0,pK,pD,SL,1,1,MODE_MAIN,1);
 
//-------------открытие позиции Buy покупка----------------- 

 if(
   (Sto_0>Sto_1)&&
   (Sto_0< 20)&&
   (OsMA_0>OsMA_1)&&
   (OsMA_0<-P)) //торговое условие на покупку
 if( CheckOrders (OP_SELL)) 
      {
       if(OrderSend(Symbol(), OP_BUY, Lots, Ask, 3, 0, 0, NULL, MagicNumber)<0)
         Print("Не открыт ордер Buy. Ошибка №", GetLastError()); 
      }
    //-------------------Конец блока покупки -------------------
    
    //-------------Открытие позиции Sell продажа----------------  
    
    if(true        &&
      (Sto_0<Sto_1)&&
      (Sto_0>80)&&
      (OsMA_0<OsMA_1)&&
      (OsMA_0>P))//торговое условие на продажу
     if( CheckOrders (OP_BUY)) 
      {
       if(!OrderSend(Symbol(), OP_SELL, Lots, Bid, 3, 0, 0, NULL, MagicNumber)>0)
         Print("Не открыт ордер Sell. Ошибка №", GetLastError()); 
       }

//-----------------конец блока продажи ----------------------
   return(0);
  }
//+------------------------------------------------------------------+
 
そして、もう一つ質問なんですが......。
 

igrok2008:

シェルの位置も変えなきゃいけないんだ!!!!

そして、もう一つ質問なんですが......。
で、ordersend関数の 前のエクスクラメーションマークを削除して、0以下、最初のものと同様に0以下とする必要があります。
 

やった

が、ここで質問です......。

//+------------------------------------------------------------------+
//|                                             expertStochastic.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 int       pK=21;
extern int       pD=5;
extern int       SL=8;
extern double    Lots=0.1;
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); 
}
  
  
  
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//Рассчитываем значения Stochastic b его сигнальную на 0-ом и 1-ом барах
 double Sto_0=iStochastic(NULL,0,pK,pD,SL,1,1,MODE_MAIN,0);
 double Sto_1=iStochastic(NULL,0,pK,pD,SL,1,1,MODE_MAIN,1);
 double Sig_0=iStochastic(NULL,0,pK,pD,SL,1,1,MODE_SIGNAL,0);
 double Sig_1=iStochastic(NULL,0,pK,pD,SL,1,1,MODE_SIGNAL,1);
   
   //-------------открытие позиции Buy покупка----------------- 
 if((((Sto_0> Sig_0&&Sto_1>Sig_1)&&(Sig_0< 20)||(Sto_0>=80)))) //торговое условие на покупку
 if(CheckOrders(OP_SELL)) 
      {
       if(!OrderSend(Symbol(), OP_BUY, Lots, Ask, 3, 0, 0, NULL, MagicNumber))
         Print("Не открыт ордер Buy. Ошибка №", GetLastError()); 
       }
    //-------------------Конец блока покупки -------------------
    
    //-------------Открытие позиции Sell продажа----------------  
    
    if((((Sto_0< Sig_0&&Sto_1<Sig_1)&&(Sig_0> 80)||(Sto_0<=20))))//торговое условие на продажу
     if(CheckOrders(OP_BUY)) 
      {
       if(!OrderSend(Symbol(), OP_SELL, Lots, Bid, 3, 0, 0, NULL, MagicNumber))
         Print("Не открыт ордер Sell. Ошибка №", GetLastError()); 
       }

//-----------------конец блока продажи ----------------------
   return(0);
  }
//+------------------------------------------------------------------+

私の専門家は(訓練用に)簡単なものですが、使えません :-((

本質 - ストックが下から上がる、ライン20をクロス、注文BAYを置く、価格はさらに行っている......クロスストックライン80に達している注文が閉じられます

価格は好きなように跳ね続け......売りの条件ではその逆、すなわち、反対の注文の間に時間差が生じるようにBUTを購入し、販売する.............。

こんな感じなのですが......。

ありがとうございました。