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

 

こんにちは。MQL4で程度に上げるには どうしたらいいですか?

 
Diver-si >> :
こんにちは。この大きなフォーラムで、私はプログラミングの完全なオタクです。EAを書くことは可能ですか、またはその方向を示してください。ストキャが30を超えたら買い、それ以上上がったら買い。売りの場合 - 70を越えて、より高いTFのストキャスティクスが低下し、> 30が、< 70である場合。 値を変更するオプションでテイクまたはストップで終了します。

されます。頼まれたことはすべてやりました。

ファイル:
ctoh_1.rar  6 kb
 
Skydiver >> :

完了しました。言われたことは全部やったつもりです。

>>ありがとうございました!!!!

 
Diver-si >> :

本当にありがとうございました!!!!

この戦略で仕事をしたことはありますか?成功しましたか?

 
Skydiver >> :

この戦略で仕事をしたことはありますか?>> 成功したのか?

戦略ではなく、一つの仮定を検証する必要があるだけです。ところで、なぜEAがトレードをしないのでしょうか?その理由がわからない。

 
В ветке "Корректное открытие нескольких позиций" приведён следующий код:


 if(iSAR(NULL,0,step0,0.1,0)<Close[0] )
         
         
        {
          RefreshRates();
      ticket = (OrderSend( Symbol(), OP_BUY,GetSizeLot(), Ask, slippage,
       Bid-StopLoss*Point,Ask+TakeProfit*Point,NameExpert,
               0, Green ) );
if(ticket<1) {Print("Ошибка открытия 1-го ордера BUY #",GetLastError());return (0); }  
if (ticket>0) //Sleep(10000);
          { //если 1-я позиция открылась, открываем вторую
          RefreshRates();       
         ticket_1 = (OrderSend( Symbol(), OP_BUY,GetSizeLot(), Ask, slippage,
       Bid-StopLoss*Point,Ask+TakeProfit*Point,NameExpert,
              0, Green ) ); 
if(ticket_1<1) {Print("Ошибка открытия 2 ордера BUY #",GetLastError());return (0); }    
if (ticket_1>0) // Sleep(10000);
         { // если вторая позиция открылась, открываем третью 
          RefreshRates();
      ticket_2 = (OrderSend( Symbol(), OP_BUY,GetSizeLot(), Ask, slippage,
       Bid-StopLoss*Point,Ask+TakeProfit*Point,NameExpert,
              0, Green ) );
           if(ticket_2<1)
          {Print("Ошибка открытия 3 ордера BUY #",GetLastError());return (0); }   
         } 
       }    
     }

            
      if(iSAR(NULL,0,step0,0.1,0)>Close[0])
    {
        
        //---- открываем СЕЛЛ позицию
      RefreshRates();
      ticket = (OrderSend( Symbol(), OP_SELL,GetSizeLot(), Bid, slippage,
        Ask+StopLoss*Point,Bid-TakeProfit*Point, NameExpert,
              0, Red ));
              
           if(ticket<1) {Print("Ошибка открытия 1-го ордера SELL #",GetLastError());return (0); }  
if (ticket>0) //Sleep(10000);
          { //если 1-я позиция открылась, открываем вторую
       RefreshRates();      
      ticket_1 = (OrderSend( Symbol(), OP_SELL,GetSizeLot(), Bid, slippage,
        Ask+StopLoss*Point,Bid-TakeProfit*Point, NameExpert,
             0, Red ));
             
          if(ticket_1<1) {Print("Ошибка открытия 2 ордера SELL #",GetLastError());return (0); }    
if (ticket_1>0) // Sleep(10000);
         { // если вторая позиция открылась, открываем третью        
      RefreshRates(); 
      ticket_2 = (OrderSend( Symbol(), OP_SELL,GetSizeLot(), Bid, slippage,
        Ask+StopLoss*Point,Bid-TakeProfit*Point, NameExpert,
              0, Red ));               
                if(ticket_2<1)
          {Print("Ошибка открытия 3 ордера SELL #",GetLastError());return (0); }   
         } 
       }    
     }
   
    return(0);
    
}



この構成に条件を挿入する方法を教えてください if(iSAR(NULL,0,step0,0.1,0)<Close[0]), つまり、例えば買いポジションが開かれた場合、すべての買いポジションが閉じられるまで売りポジションが開かれないということです。つまり、3つのポジションを買い、3つとも決済されるまで待つというのが1サイクルの取引です。ポジションはストップロスまたはテイクプロフィットによってのみ決済されます。全ポジション決済、シグナル待ち、シグナル取得、3ポジションの買いまたは売り(シグナルによる)、など。KimIVからの便利な機能」を検討しました。関数CountOrders()、 ExistOrders()、ExistPositions()を使用することができます。しかし、実際にどのように挿入すればいいのでしょうか?if((iSAR(NULL,0,step0,0.1,0)>Close[0])&& ExistPositions(NULL,OP_SELL)==false) という構成はうまくいきません。論理変数を挿入する必要があることは理解できましたが、実際にはどのようにすればよいのでしょうか。何かわからないことがある。

 
anat >> :



このコードに条件を挿入する方法を教えてください if(iSAR(NULL,0,step0,0.1,0)<Close[0]), 例えば、買いポジションを開いた場合、すべての買いポジションを閉じるまで売りポジションを開かないようにします。つまり、3つのポジションを買い、3つとも決済されるまで待つというのが1サイクルの取引です。ポジションはストップロスまたはテイクプロフィットによってのみ決済されます。全ポジション決済、シグナル待ち、シグナル取得、3ポジションの買いまたは売り(シグナルによる)、など。KimIVからの便利な機能」を検討しました。関数CountOrders()、ExistOrders()、ExistPositions()を使用することができます。しかし、実際にどのように挿入すればいいのでしょうか?if((iSAR(NULL,0,step0,0.1,0)>Close[0])&& ExistPositions(NULL,OP_SELL)==false) という構成は機能しない。論理変数を挿入する必要があることは理解できましたが、実際にはどのようにすればよいのでしょうか。何かわからないことがある。


開いても、自動的に反対側に重なるようになっています。そして、既製のEAにコードを追加するよりも、別のEAでそれを行う方がはるかに簡単です。コレクター.mq4



 
(NULL,PERIOD_M1, 14, 0, 1, PRICE_CLOSE, 1, 1 ) < Ask)です。{ // 価格がラインより上なら売り <--------- これでいいのか?



(NULL,PERIOD_M1, 14, 0, 1, PRICE_CLOSE, 2, 1 ) > Bid) { // 価格がラインの下にあれば買い <----- ロジックは正しいですか、私は何かを混同していますか?



ヘルプplz...

 
1Rakso писал(а)>>
(null,period_m1, 14, 0, 1, price_close, 1, 1 )

そもそもこのデザインは何なのか?