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

 
delf:
ありがとうございます!とてもシンプルでわかりやすいので、試してみようと思います。
何か変だ。Stor Lossの後は、また同じ方向に戻る。
 
delf:
何か変だ。STOPLoss後は同じ方向に戻る。

StopLossとは?

 

こんにちは。

このウィンドウを表示するには、どのファイルをダウンロードし、mt4のどこにインストールする必要があるか教えてください。

テスト対象商品の異なるタイムフレームでシミュレーションを 行う方法がわかりません。

日足チャート、4時間足、1時間足の3つだけを表示させたい

日足、4時間足、1時間足の3つのチャートを見たいのですが、一晩中やってもうまくいきません!助けてください。


 
ametist444:

こんにちは。

このウィンドウを表示するには、どのファイルをダウンロードし、mt4のどこにインストールする必要があるか教えてください。

テスト対象商品の異なるタイムフレームでシミュレーションを 行う方法がわかりません。

日足チャート、4時間足、1時間足の3つだけを表示させたい

1つのタイムフレームに3つのウィンドウだけを表示したい、3つのチャートだけを表示したい、日足、4時間足、1時間足の3つのチャートだけを表示したい。

MT4からプログラム的にこれらのウィンドウを開く必要がありますか?よくわからない、苦手なんです...。:-)

手動でいくつかのウィンドウを開き、そこにインジケータを挿入する、選択肢はないのか?

 

こんばんは:理解する方法を教えてください。

現在の口座で、現在の市場環境において、指定された注文タイプに必要な証拠金の額で、現在の保留中の注文や 未決済ポジションは考慮されません。

既存の関数を近似できるのか?

 

また、多くの代わりにこの機能を使うようになりました。

double     Lott  ( double     Lot ){
     if ( risk!=0)  Lot=AccountFreeMargin()*risk/10000 ; return (Lot);}  

OrderSenderror 131- wrong volume.初回入金10000円 初回ロット1 しかし、何かうまくいかない...。

 

しばらくの間 私は で、最後の2つの 買いポジションだけを 閉じるように 買い クローズ ブロックを 作り直そうとして いますが、失敗して います ブロックの やり直し方法を教えて ください

void Close_2buy()
{
   bool   result;
  double  close_price;
  int    cmd,error;
  bool close;

      for (int f=OrdersTotal()-1; f>=0; f--) // 
      {
         OrderSelect(f, SELECT_BY_POS);
         if (OrderSymbol()==Symbol() &&(OrderMagicNumber()==magic ) 
         && (OrderType() == OP_BUY )) 
         {
            close = False;
            {
               close_price = MarketInfo(OrderSymbol(), MODE_BID);
               close = True;
            }
               
            if (close) 
            {
               result=OrderClose(OrderTicket(), OrderLots(), close_price, 0, CLR_NONE);
               if(result!=TRUE)
               {error=GetLastError();Print("LastError = ", error);}
            }
            
         }
      }
}
 
Dimka-novitsek:

また、多くの代わりにこの機能を使うようになりました。

OrderSend error 131 - wrong volume.初回入金10000円 初回ロット1 しかし、何かうまくいかない...。


これを修正して試してみてください(AccountBalance()をAccountFreeMargin()に変更し、変数を入れてください)。LotsDigits)
//+------------------------------------------------------------------+
//|                                                         0000.mq4 |
//+------------------------------------------------------------------+
#property copyright ""
#property link      ""
////////////////////////////////////////////////////////////////////////|
extern int     Method         =1;      // Метод: 0-FixedLots, 1-часть //|
                                       //(Risk) от свободных средств  //|
                                       // нормированных по значению   //|
                                       // MeansStep(например Risk=    //|
                                       // 0.01,MeansStep=1000,если    //|
                                       // средств меньше 2000,лот     //|
                                       // равен 0.01,если средств     //|
                                       // стало 2000 или более - 0.02 //|
                                       // лота, 3000 или более - 0.03 //|
                                       // лота и т.д.).               //|
                                                                      //|
extern double  LOTS           =0.01;   // Количество лотов при        //|
                                       // Method=0.                   //|
                                                                      //|
extern double  Risk           =0.01;   // Риск. Часть от средств при  //|
                                       // FixedLot=false.             //|
                                                                      //|
extern double  MeansStep      =100.0;  // Шаг средств. Используется   //|
                                       // при Method=1.               //|     
////////////////////////////////////////////////////////////////////////|
//+------------------------------------------------------------------+//|
//|  Определяем "свой" минимальный размер или шаг лота на момент     |//|
//|  начала цикла в зависимости от размера баланса и установленного  |//|
//|  риска.                                                          |//|
//+------------------------------------------------------------------+//|
////////////////////////////////////////////////////////////////////////|
double fGetLotsSimple()                                               //|
   {                                                                  //|
   double LOTSTEP,lot;                                                //|
   double Means;                                                      //|
   switch (Method)                                                    //|
      {                                                               //|
      case 0:                                                         //|
         lot=LOTS;                                                    //|
      break;                                                          //|
      case 1:                                                         //|
         Means=AccountBalance();                                      //|
         if(Means<MeansStep)Means=MeansStep;                          //|
         lot=(MeansStep*MathFloor(Means/MeansStep))/MeansStep*Risk;   //|
      break;                                                          //|
      default:lot=LOTS;                                               //|
   }                                                                  //|
   if(lot<1.0/MathPow(10,LotsDigits))lot=1.0/MathPow(10,LotsDigits);  //|
   LOTSTEP=MarketInfo(Symbol(),MODE_LOTSTEP);                         //|
   lot=MathFloor(lot/LOTSTEP)*LOTSTEP;                                //|
   lot=NormalizeDouble(lot,LotsDigits);                               //|
   if(lot>AccountFreeMargin())lot=-1;                                 //|
   return(lot);                                                       //|
}                                                                     //|
////////////////////////////////////////////////////////////////////////|
)
 

このコードの何が問題なのか、教えてください。トレーリングストップなのですが、テストすると修正時にエラー1が発生します。なぜ注文が変更されないのか?

このエラーを修正しているとき(今のところ失敗しています)、Expert Advisorのメインコードをprint関数にコンパイルすると、反転したカンマが必要だと言ってエラーを返すようになりましたが、そこにあるものはすべて正しく、このエラーを修正するには、反転したカンマを取り除いて新たに入れなければなりません......。

bool trailingstop()
{
if ((注文マジックナンバー()==11111)==true)
{
Print("買いポジションを維持");
while(OrderCloseTime()==0)とする。
{
if ((ビッド-オーダーストップロス())>(ストップレベル*ポイント))
{
if (オーダーモディファイ(オーダーチケット(),オーダーオープン価格(),ND(ビッドストップレベル*ポイント),0,0))
Print(" 注文番号 ",OrderTicket()," とマジックナンバー ",OrderMagicNumber()," の注文のストップロスが",OrderStopLoss()" に正常に変更されました)。
else Print("注文番号 ",OrderTicket()," とマジックナンバー ",OrderMagicNumber()," を持つ注文のストップロス・レベル。Error ",GetLastError());
}
}
if (OrderCloseTime()>0)
{
Print("注文番号 ",OrderTicket()," とマジックナンバー ",OrderMagicNumber()," の注文が価格 ",OrderClosePrice()," で利益/損失 ",OrderProfit()) で決済されました)
return(true)です。
}
}
さもなくば
{
if ((注文マジックナンバー()==22222)==true)
{
Print((売りポジション));
while(OrderCloseTime()==0)とする。
{
if ((OrderStopLoss()-Ask)>(StopLevel*Point))
{
if (オーダーモディファイ(オーダーチケット(),オーダーオープンプライス(),ND(Ask+ストップレベル*ポイント),0,0))
Print("注文番号 ",OrderTicket()," とマジックナンバー ",OrderMagicNumber()," の注文のストップロスが ",OrderStopLoss()" に正常に変更されました)。
else Print("注文番号 ",OrderTicket()," とマジックナンバー ",OrderMagicNumber()," を持つ注文のストップロス・レベル。Error ",GetLastError());
}
}
if (OrderCloseTime()>0)
{
Print("注文番号 ",OrderTicket()," とマジックナンバー ",OrderMagicNumber()," の注文が価格 ",OrderClosePrice()," で利益/損失 ",OrderProfit()) で決済されました)
return(true)です。
}
}
else return(false);
}
}
 
ありがとうございます!!!