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

 
rigonich:

どんなデータなのか理解できないのですが?EAのコードを入れて、コンパイルして実行し、名前をつけるだけです。テストはしておらず、判明したものを再コンパイルして出しただけです。もし、正常に動作しない場合は、その理由を教えてください。



Hooray I got it ... webでコンパイルを検索してみると ))) it turns out Compile .

すでにテストを開始しており、一度に500-1000のポジションを開くことができます。

テストへのリンクはこちら file://localhost/C:/Users/mv/Desktop/StrategyTester.htm - あまりにも多くのポジションを開いてしまいます。

[Deleted]  
Frostr:



万歳、やったぞ・・・WebでCompileの意味を検索してみると)))、Compile .

すでにコンパイルでテストを始めていますが、一度に500〜1000のポジションを開くことができます。


さて、どうでしょう。
 

オーダーコメントで、現在アンタッチャブルなキャラクターは何人いるか教えてください。

Z.I.大事なことならアルパリにある。

[Deleted]  
Frostr:



をウェブで検索したら、Compile .

すでにテストを開始しており、一度に500-1000のポジションを開くことができます。

テストへのリンクはこちら: file://localhost/C:/Users/mv/Desktop/StrategyTester.htm 多くのポジションを開くことができます。


以下はそのコードです。どの終値でも、2つの反対側のポジションを開くことができます。
//+------------------------------------------------------------------+
//|                                                  Trudnyaga_1.mq4 |
//+------------------------------------------------------------------+
#property copyright ""
#property link      ""
//+------------------------------------------------------------------+
extern int    stoploss   = 0,          // уровень выставления SL, если 0, то SL не выставляется
              takeprofit = 0,          // уровень выставления TP, если 0, то TP не выставляется
              Magic      = 123456;     // уникальный номер ордера
extern double Lot        = 0.1;        // объем ордера
extern int    slippage   = 3;          // Максимально допустимое отклонение цены для рыночных ордеров
extern int    MaxOrders  = 3;          // Максимально допустимое количество ордеров BUY или SELL
extern int    CycleCount = 5;          // количество попыток открытия ордера
//+------------------------------------------------------------------+
double SL,TP;
int    Total,LastTotal;
string ord;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
   {
   return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
   {
   return(0);
}
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
   {
   Total=fTotal();
   if((Total==LastTotal&&LastTotal!=0)||Total>=MaxOrders)return(0);
   if(takeprofit!=0)TP=NormalizeDouble(Ask+takeprofit*Point,Digits);else TP=0;
   if(stoploss!=0)SL=NormalizeDouble(Ask-stoploss*Point,Digits);else SL=0;
   OPENORDER("Buy");
   if(takeprofit!=0)TP=NormalizeDouble(Bid-takeprofit*Point,Digits);else TP=0;
   if(stoploss!=0)SL=NormalizeDouble(Bid+stoploss*Point,Digits);else SL=0;
   OPENORDER("Sell");
   LastTotal=fTotal();
   return(0);
}
//+------------------------------------------------------------------+
void OPENORDER(string ord)
   {
   int error,err;
   while(true)
      { 
      error=-1;
      if(ord=="Buy" )error=OrderSend(Symbol(),OP_BUY, Lot,NormalizeDouble(Ask,Digits),slippage,SL,TP,"BUY",Magic,0,Blue);
      if(ord=="Sell")error=OrderSend(Symbol(),OP_SELL,Lot,NormalizeDouble(Bid,Digits),slippage,SL,TP,"SELL",Magic,0,Red);
      if(error==-1) //неудачная покупка OK
         { 
         ShowERROR();err++;Sleep(2000);RefreshRates();
      }
      if (err>=CycleCount)break;
   }
   return;
} 
//+------------------------------------------------------------------+
void ShowERROR()
   {
   int err=GetLastError();
   switch(err)
      { 
      case 1   : return;
      case 2   : Alert("Нет связи с торговым сервером ",Symbol());return;
      case 3   : Alert("Error неправильные параметры ",Symbol());return;
      case 130 : Alert("Error близкие стопы Ticket ",Symbol());return;
      case 134 : Alert("Недостаточно денег ",Symbol());return;
      case 146 : Alert("Error Подсистема торговли занята ",Symbol());return;
      case 129 : Alert("Error Неправильная цена ",Symbol());return;
      case 131 : Alert("Error Неправильный объем ",Symbol());return;
      case 4200: Alert("Error Объект уже существует ",Symbol());return;
      default  : Alert("Error " ,err," ",Symbol());return;
   }
}
//+------------------------------------------------------------------+
int fTotal()
   {
   int Tot=OrdersTotal();
   int BuyCount=0,SellCount=0;
   if(Tot>0)
      {
      for(int i=0;i<OrdersTotal();i++)
         {
         if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
            {
            if(OrderSymbol()==Symbol()&&(Magic==0||OrderMagicNumber()==Magic))
               {
               switch (OrderType())
                  {
                  case OP_BUY :BuyCount++; break;
                  case OP_SELL:SellCount++;break;
               }
            }
         }
      }
   }
   return(BuyCount+SellCount);
}
//+------------------------------------------------------------------+
 
どの郵便局で受信した郵便物やその内容をテキスト化できるのか?
削除済み  
gheka:
どの郵便局で受信した郵便物やその内容をテキスト化できるのか?
スマホ買った方がいいよ、安くなったし。ただ、MTSには接続しないでください。あの野郎どもは私の最後の2コペックを盗んだんです :))
 
悪気はないのですが、私はMTSを支持します。MTSとは7年間、何の問題もありません。
[Deleted]  
gheka:
悪気はないのですが、私はMTSを支持します。MTSとは7年間、何の問題もありません。

電話だけであれば、私も5年間は何の問題もありませんでした。もちろん、解決してくれるし、謝罪もしてくれるのですが、書ききれないので、証明します。何より、1ヵ月後にまた同じ問題が起こり、すべてが水の泡になってしまう。だから今はメガホンを使っています。
 
rigonich:

以下はそのコードで、言われたとおりに動作します。どの終値でも、2つの反対側のポジションを開くことができます。



ありがとうございます。

でも、EAが違うから、仕組みが違うんですね。

私のEAは、いくつかのポジションが閉じている場合、両方向にポジションを 開くようにしたい。

やり方はわからないが、いくつかのポジションを開けるのを見たことがある。

ファイル:
sellbuy_1.ex4  5 kb
 

追加してみると、ほぼうまくいきましたが、価格が一方向に動いた場合に必要な方法でポジションを開いて います。

例えば、彼は買いを閉じた後、新しい買いと売りを開き、その後再び買いを閉じ、再び買いと売りを開いたが、彼はNOT買いと売りを閉じた場合、それは新しいオープンしません((((((()。

ぜひ、参考にしてみてください...。

なんてくだらないことを書いてしまったんだろう )) .でも、そういうことなんです......こんな開封条件があるんです......。

価格が変化したらポジションを開くという条件を追加したいのですが・・・。

ファイル: