どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 292

 

みんな、EAトレードのための良いDCをアドバイスしてください?

 
実際の口座では、どのようなExpert Advisorを動かしたいですか?
 
Profitov:
Expert Advisorの種類を聞いてもいいですか? 次に実際の口座で使いたいExpert Advisorについて、「マーチン」が教えてくれることは? 。

どんな「マーチン」なのかわかりません))マーチン」についてはわかりません。 いや、まだ本口座ではなく、デモ用ですが、後で本口座に使うかもしれない同じ証券会社のデモ口座を使ってみたいです。

 
SpikeOne:

誰か、何が起こっているのか説明して、+で注文を閉じて、新しいシリーズを開いている場所を示してください。

アンドレイ、悪気はないんだが、こんなバカげた話は『年鑑』に載せるべきだ!」。
 

皆さん、こんにちは。興味深い問題を解決するために助けを求めているのです。私のEAの特徴は、利益が出た後、次の1~4のトレードをストップロスで 決済し、また利益を出すというものです。Expert Advisorは、インジケータのシグナルに基づいて取引を開始します。利益を得た後に続く有益な取引を除外するために、指標によって生成されたシグナルをスキップする、つまり、利益を得た後に取引(1、2、3、4)を閉じないようにする必要があります。そのために用意されているのが、Sig機能です。しかし、EAがこの関数で注文を開くことはなく、この関数がなくてもすべてが非常にうまく動作しているので、私はこの関数を間違って書いたのだと思います。どうか、頭のいい人たちに、私の間違いがどこにあるのかアドバイスしてください。

シグナルは利益確定後のシグナル数、pynktは利益の大きさ(pips単位)です。

よろしくお願いします。

 
void CheckForOpen()
{
   int ticket, STOPLEVEL;
   double Price, SL, TP; 
   STOPLEVEL=MarketInfo(Symbol(),MODE_STOPLEVEL);


   double MA1Low = NormalizeDouble (iMA(NULL,0,MA_Period_2,MA_Shift_2,MA_Method_2,0,1), Digits); 
   double MA2High = NormalizeDouble (iMA(NULL,0,MA_Period_2,MA_Shift_2,MA_Method_2,1,1), Digits);
   
 
  
   if(Volume[0]>1) return;

    // продажа
   if (Open[1]>Close[1] && Open[1] > MA1Low && Close[1] < MA1Low)
   
{
      if(Pro(1,100))

   {
       ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,SL,TP,"Pattern_1",1000,0,Red);
      return;
    }
   
  }  
//---- buy conditions
   // покупка
  if (Open[1]<Close[1] && Open[1] < MA2High && Close[1] > MA2High)
 
 { 
   if(Pro(1,100))
   {
      ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,SL,TP,"Pattern_1",1000,0,Blue);
      return;
   }       
   }
}
 
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
bool Sig(int signal,int pynkt)
 {
  static int cnt = 0;
  static datetime tm;
  if(Time[0] == tm) return(false);
  tm = Time[0];
  if(OrderSelect(OrdersHistoryTotal()-1,SELECT_BY_POS,MODE_HISTORY) == true)
   {
    cnt = cnt + 1;
    if(OrderType() == OP_BUY && OrderClosePrice() - OrderOpenPrice() < pynkt*Point) cnt = 0;
    if(OrderType() == OP_SELL && OrderOpenPrice() - OrderClosePrice() < pynkt*Point) cnt = 0;
    if(cnt >= signal) return(true);
   }
  return(false);
 }
//+------------------------------------------------------------------+
 
EAがコンパイルできないので助けてください。
//ПАРАМЕТРЫ ОТКРЫТИЯ ДЛИННОЙ ПОЗИЦИИ

if(iCCI(Symbol,0,14,PRICE_TYPICAL,0)>100&&iCCI(Symbol,0,14,PRICE_TYPICAL,0)>-100 
{
if((NumberOfBarOpenLastPos()>0||NumberOfBarOpenLastPos()==-1)&&(NumberOfBarCloseLastPos()>0||NumberOfBarCloseLastPos()==-1))
{ 
Opn_B=true;
//Cls_S=true;
}
}
 //ПАРАМЕТРЫ ОТКРЫТИЯ короткой ПОЗИЦИИ    
if(iCCI(Symbol,0,14,PRICE_TYPICAL,0)<100&&iCCI(Symbol,0,14,PRICE_TYPICAL,0)<-100
{
if((NumberOfBarOpenLastPos()>0||NumberOfBarOpenLastPos()==-1)&&(NumberOfBarCloseLastPos()>0||NumberOfBarCloseLastPos()==-1))
{
Opn_S=true; 
//Cls_B=true;   
}  
}


if(Tip==0){
           if(TrailingStop>0)  
              {                 
               if(Bid-OrderOpenPrice()>Point*TrailingStop)
                 {
                  if(SL<Bid-Point*TrailingStop)
                    {
                     OrderModify(Ticket,OrderOpenPrice(),Bid-Point*TrailingStop,TP,0,Green);
                     //return(0);
                    }
                 }
              }
}

if(Tip==1){
           if(TrailingStop>0)  
              {                 
               if((OrderOpenPrice()-Ask)>(Point*TrailingStop))
                 {
                  if(SL>Ask+Point*TrailingStop)
                    {
                     OrderModify(Ticket,OrderOpenPrice(),Ask+Point*TrailingStop,TP,0,Red);
                    // return(0);
                    }
                 }
              }
}


   // Закрытие ордеров
   while(true)                                  // Цикл закрытия орд.
     {
//длинной
//if (iRSI(NULL,0,14,PRICE_CLOSE,0)<30&&iRSI(NULL,0,14,PRICE_CLOSE,1)>30){
 if(iCCI(Symbol,0,14,PRICE_TYPICAL,0)<100&&iCCI(Symbol,0,14,PRICE_TYPICAL,0)<-100 {  
      if (Tip==0)                // Открыт ордер Buy..
        {                                       //и есть критерий закр
         Alert("Попытка закрыть Buy ",Ticket,". Ожидание ответа..");
         RefreshRates();                        // Обновление данных
         Ans=OrderClose(Ticket,Lot,Bid,2);      // Закрытие Buy
         if (Ans==true)                         // Получилось :)
           {
            Alert ("Закрыт ордер Buy ",Ticket);
            break;                              // Выход из цикла закр
           }
                           
            
         if (Fun_Error(GetLastError())==1)      // Обработка ошибок
            continue;                           // Повторная попытка
         return;                                // Выход из start()
        }
        }

// короткой       
if (Close[NULL]){
      if (Tip==1)                // Открыт ордер Sell..
        {                                       // и есть критерий закр
         Alert("Попытка закрыть Sell ",Ticket,". Ожидание ответа..");
         RefreshRates();                        // Обновление данных
         Ans=OrderClose(Ticket,Lot,Ask,2);      // Закрытие Sell
         if (Ans==true)                         // Получилось :)
           {
            Alert ("Закрыт ордер Sell ",Ticket);
            break;                              // Выход из цикла закр
           }
                  
           
         if (Fun_Error(GetLastError())==1)      // Обработка ошибок
            continue;                           // Повторная попытка
         return;                                // Выход из start()
        }
        }
      break;                                    // Выход из while
     }

 
niformalka:
EAがコンパイルできないのですが、助けてください。

...そして、どのような言語ルールで造形されたのでしょうか!例えば、こんな感じです。

if(iCCI(Symbol,0,14,PRICE_TYPICAL,0)>100&&iCCI(Symbol,0,14,PRICE_TYPICAL,0)>-100 
{

:)

 
niformalka:
EAがコンパイルできないのですが、どうしたらいいですか?

コンパイルエラーを示す赤い丸をダブルクリックすると、エラーを探す行の左側に同じ丸が表示されますよ。ここからではサークルが見えない!?

そして、私があなたのシートで私の投稿を削除したように、あなたの投稿を削除してください!

 
SpikeOne:

あなたは2014年を
総合的な回答が欲しい! このブランドをトップセールスにするつもり。
 
niformalka:

みんな、バグを見つけるのを助けてくれ、EAがコンパイルされない、私はすでにそれについて私の頭をかき回した、おそらくロング/ショートポジションの開始と終了の行のエラー


//ロングポジションパラメータを開く

if(iCCI(Symbol,0,14,PRICE_TYPICAL,0)>100&&iCCI(Symbol,0,14,PRICE_TYPICAL,0)>-100)
{
if((NumberOfBarOpenLastPos()>0||NumberOfBarOpenLastPos()==-1)&&(NumberOfBarCloseLastPos()>0|NumberOfBarCloseLastPos()==-1)))
{
Opn_B=trueとする。
//Cls_S=true とする。
}
}
//ショートポジションオープニングパラメーター
if(iCCI(Symbol,0,14,PRICE_TYPICAL,0)<100&iCCI(Symbol,0,14,PRICE_TYPICAL,0)<-100)とする。
{
if((NumberOfBarOpenLastPos()>0||NumberOfBarOpenLastPos()==-1)&&(NumberOfBarCloseLastPos()>0|NumberOfBarCloseLastPos()==-1)))
{
Opn_S=trueとする。
//Cls_B=true とする。
}
}


if(Tip=0){。
if(TrailingStop>0)
{
if(入札-注文開始価格()>ポイント*トレイリングストップ)
{
if(SL<ビッドポイント*トレイリングストップ)
{
OrderModify(Ticket,OrderOpenPrice(),Bid-Point*TrailingStop,TP,0,Green)。
//return(0);
}
}
}
}

if(Tip==1){。
if(TrailingStop>0)
{
if((OrderOpenPrice()-Ask)>(Point*TrailingStop))
{
if(SL>Ask+Point*TrailingStop)とする。
{
OrderModify(Ticket,OrderOpenPrice(),Ask+Point*TrailingStop,TP,0,Red)。
// { return(0);
}
}
}
}


// 注文を閉じる
while(true) // オーダーループを閉じる
{
//ロング
//if(iRSI(NULL,0,14,PRICE_CLOSE,0)<30&iRSI(NULL,0,14,PRICE_CLOSE,1)>30){...
if(iCCI(Symbol,0,14,PRICE_TYPICAL,0)<100&iCCI(Symbol,0,14,PRICE_TYPICAL,0)<-100{)
if (Tip==0) //買い注文を出す。
{ //そして、近い基準がある
Alert("Trying to close Buy ",Ticket,". 返信を待っています...);
RefreshRates(); // データをリフレッシュする
Ans=OrderClose(Ticket,Lot,Bid,2);//買いのクローズ
if (Ans==true) // うまくいきました :)
{
アラート(「買い注文終了」,チケット;)
break; // クローズループから抜ける
}


if (Fun_Error(GetLastError())==1) // エラー処理
continue; // 再試行
return; // start() を終了する。
}
}

// ショート
if (Close[NULL]){。
if (Tip==1) //売り注文を出す。
{ // 近い基準がある
アラート("売りの終了を試みています",チケット,";)
RefreshRates(); // データを更新する
Ans=OrderClose(Ticket,Lot,Ask,2);//終値売り
if (Ans==true) // うまくいきました :)
{
アラート(「売り注文が終了しました」,チケット;)
break; // クローズループから抜ける
}


if (Fun_Error(GetLastError())==1) // エラー処理
continue; // 再試行
return; // start() を終了する。
}
}
break; // 終了する間
}



コンパイラができないことは、変数の宣言だけです。