[ARCHIVE!] フォーラムを散らかさないように、どんなルーキーの質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしではどこにも行けない - 4. - ページ 371

 
belous:

みんな...知ってる人助けて!!!!


戦略の本質:ストキャスティクスでエントリー(5,14,3)エグジットもストキャスティクスで行うが、別の期間(5,3,3)で行う。ここで私はどのようにストキャスティクスではなく、逆信号で出口をzdelatすることができます理解していないのですか?
問題があって、どうすれば解決できるのか見当もつかないので、説明します。
そこで、私が並べたコードには、2つの関数があります。
...

SRCと一緒にフォーラムにコードを投稿してください。そして、叫ぶべきことは何もない。


 
こんにちは。コンパイルすると、括弧を付けなければならないというエラーが出るので、括弧を付けてコンパイルすると、括弧を付けるのが間違っているという別のエラーが出ます。
ファイル:
 
artemka_1981:
こんにちは、どなたか私のEAに問題があるのか助言していただけませんか。 コンパイル中にエラーが出続け、閉じ括弧を書くとエラーが出続け、閉じ括弧を書くとコンパイラが別のエラーを出します。

最後に閉じ中括弧をつけると。

OrderMagicNumber() == ) のような行を追加する。

を追加し、そのうちの1つに閉じ括弧を 付けると、すべてがコンパイルされます。

 
注文の有効 期限を正しく設定する方法を教えてください。TimeCurrent()+60と書いてみましたが、注文は開きません。一般的に、このパラメータはブローカーで許可されます。
 
sss2019:
注文の有効期限を正しく設定する方法を教えてください。TimeCurrent()+60と書いてみたのですが、注文が開きません。一般的に、このパラメータはブローカー で許可されています。

60は60秒なので、おそらくそんなに低く設定できないでしょう(私は10分制限などにしています)。

try TimeCurrent()+60*60*24 - 1日

というエラーコードが 表示されます。

 
ilunga:

最後に閉じ括弧をつけた場合。

OrderMagicNumber() == ) のような行を追加する。

を追加し、そのうちの1つに閉じ括弧を付けると、すべてがコンパイルされます。

こんにちは。括弧を追加したら、'୧⃛(๑⃙⃘◡̈๑⃙⃘)'-アンバランスな左括弧というエラーになりました。不明( いずれかに閉じ括弧を 付ける)
if(tim<iTime(Symbol(),PERIOD_D1,0)) return(1);
 return(0);
 }
 
 OrderMagicNumber()

 
artemka_1981:
こんにちは。括弧を追加したら、'୧⃛(๑⃙⃘◡̈๑⃙⃘)'-アンバランスな左括弧というエラーになりました。不明 ( いずれかに閉じ括弧を入れる )

はこのようにコンパイルされます。

//+------------------------------------------------------------------+
//|                                                Open_Buy_Sell.mq4 |
//|                                                                  |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#define magic 999

#property link      "http://www.metaquotes.net"
extern double  _lots         = 0.01;
extern int     _takeProfit   = 1200;
extern int      maxpos       = 1;     // количество поз
extern bool    _trailingStop = true;
//+------------------------------------------------------------------+

int start()
  {
   double _slBuy=0.0,_slSell=0.0, _tpBuy=0.0, _tpSell=0.0, _opBuy=0.0, _opSell=0.0;

//if (iVolume(Symbol(),PERIOD_D1,0)>1) return;
//     if (Volume[0]>1) return;
     if (_trailingStop){ 
     _TrailingStop();
      }
   _opBuy=NormalizeDouble(iHigh(Symbol(),0,1), Digits);
   _slBuy=NormalizeDouble(iLow(Symbol(),PERIOD_D1,1), Digits);
   _tpBuy=NormalizeDouble(Ask+_takeProfit*Point, Digits);
      if ( _opBuy<Ask && CountPos(1)<maxpos)
       if(barOpen(OP_BUYSTOP)==1 ||barOpen(OP_BUY)==1 )
        OrderSend(Symbol(),OP_BUYSTOP,_lots,_opBuy,15,_slBuy,_tpBuy,"Open_Buy_Sell",0,Green);

   _opSell=NormalizeDouble(iLow(Symbol(),0,1), Digits);
   _slSell=NormalizeDouble(iHigh(Symbol(),PERIOD_D1,1), Digits);
   _tpSell=NormalizeDouble(Bid-_takeProfit*Point, Digits);
     if (_opSell>Bid && CountPos(0)<maxpos)
      if(barOpen(OP_SELLSTOP)==1 ||barOpen(OP_SELL)==1 )
       OrderSend(Symbol(),OP_SELLSTOP,_lots, _opSell,15,_slSell,_tpSell,"Open_Buy_Sell",0,Red);
//----
   return(0);
  }
//+------------------------------------------------------------------+  
 //Проверяем количесвто позиций.
   int CountPos(int type) 
{//Описание http://fxnow.ru/blog.php?user=Yuriy&blogentry_id=66

int i;
int col;
int count=0 ;
for(i=OrdersTotal()-1; i>=0; i--)
{
if(OrderSelect(i,SELECT_BY_POS)==true)
{
if(OrderType()==OP_BUYSTOP && OrderSymbol()==Symbol() && type==1 && OrderMagicNumber()== magic){count++;}
if(OrderType()==OP_SELLSTOP && OrderSymbol()==Symbol() && type==0 && OrderMagicNumber()== magic){count++;}
         }
       }   
return(count);
}
//+------------------------------------------------------------------+
void _TrailingStop(){
   int i;
   double _stopLossSellF=NormalizeDouble(iHigh(Symbol(),0,1), Digits),
          _stopLossBuyF=NormalizeDouble(iLow(Symbol(),0,1), Digits);
   if (OrdersTotal()>0){
      for (i=OrdersTotal()-1; i>=0; i--){
         if (OrderSelect(i, SELECT_BY_POS)){
            if (OrderSymbol()==Symbol() && OrderMagicNumber()==magic){
             
               if (OrderType()==OP_BUY && OrderOpenPrice() < _stopLossBuyF){
                  while (IsTradeContextBusy()) Sleep(1000);
                  RefreshRates();
                  OrderModify(OrderTicket(),OrderOpenPrice(),_stopLossBuyF,OrderTakeProfit(),OrderExpiration(),CLR_NONE);
               }
           
               if (OrderType()==OP_SELL && OrderOpenPrice() > _stopLossSellF && _stopLossSellF!=0.0){
                  while (IsTradeContextBusy()) Sleep(1000);
                  RefreshRates();
                  OrderModify(OrderTicket(),OrderOpenPrice(),_stopLossSellF,OrderTakeProfit(),OrderExpiration(),CLR_NONE);
               }
            }
         }
      }
   }
return;
}
int barOpen(int ty)
{
datetime tim=0;
 for(int i=0; i<=OrdersTotal(); i++)
    {  
       if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES))continue;
       if(OrderSymbol() !=Symbol()|| OrderMagicNumber()!= magic|| OrderType()!=ty) continue; 
       if(tim<OrderOpenTime())        
          tim=OrderOpenTime();
   }
 for(i=0; i<=OrdersHistoryTotal(); i++)
    {  
       if (!OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))continue;
       if(OrderSymbol() !=Symbol()|| OrderMagicNumber()!= magic|| OrderType()!=ty) continue; 
       if(tim<OrderOpenTime())        
          tim=OrderOpenTime();
   }
 
if(tim<iTime(Symbol(),PERIOD_D1,0)) return(1);
 return(0);
}
 

注文を設定するOrderSend コマンドが2つ連続している場合、その間にIsTradeAllowed 関数を配置する必要があるか教えてください。

それとも、その必要はなく、EA は注文が成功した後にのみ、最初のOrderSend 呼び出しから2 番目の呼び出しに移行するのでしょうか。

それでもIsTradeAllowedが 必要な場合、whileループにどのようなタイムディレイを設定すればよいでしょうか。

 
そのセリフに間違いがあったのでしょうか?ありがとうございました。
if(OrderType()==OP_BUYSTOP && OrderSymbol()==Symbol() && type==1 && OrderMagicNumber()==MAGICMA ){count++;}
if(OrderType()==OP_SELLSTOP && OrderSymbol()==Symbol() && type==0 && OrderMagicNumber()==MAGICMA ){count++;}
ilunga:

そうやってコンパイルするんです。

今すぐテストは、ログに任意のトランザクションを開いていないときにOpen_BuyS_SellS EURUSD、毎日:OrderSendエラー131を 書き込みます。

 
こんばんは。http://fxcoder.ru/indicators/tpo からダウンロードできる、指定した時間枠の価格水準でトレードを配分するインジケータを使って いる人がいたら教えて欲しいです。もしそうなら、どうすれば正しく分析できるのでしょうか?何か情報をお持ちですか?