定量的取引のMQL4-最後に変更されたEA外部パラメーターを自動的に保存します(ファイルの実現)


externダブルオーダーボリューム= 0.1;     externintストッププロ
フィットポイント= 200;
externintストップロスポイント= 200;

int OnInit(){
    
    //現在のEA
文字列の名前でcsvファイル名を取得 fileName = WindowExpertName()+ "。 csv ";
    
    
    //対応するファイルが見つかりません
    でしたif(FileIsExist(fileName)== false){
    
      int h = FileOpen(fileName、FILE_WRITE | FILE_READ | FILE_SHARE_READ | FILE_CSV、 '、'、CP_ACP);
      if(h!= INVALID_HANDLE){
         FileWrite(h、注文量、利益ポイントの取得、損失ポイントの停止);
         FileClose(h);
         Alert( "koko");
      }
      
    } else {//対応するファイルを見つける
      
      if(注文量== 0.1 &&利益ポイントの停止== 200 &&ストップロスポイント== 200){//プログラム外の変更されていないパラメータの状態
         
         int h = FileOpen(fileName、FILE_WRITE | FILE_READ | FILE_SHARE_READ | FILE_CSV、 '、'、CP_ACP);
         if(h!= INVALID_HANDLE){
            int i = 0;
            while(FileIsEnding(h)== false){
               string readValue = FileReadString(h);
               if(i == 0)下単量= StringToDouble(readValue);
               if(i == 1)止盈点数= StringToInteger(readValue);
               if(i == 2)止损点数= StringToInteger(readValue);
               i ++;
            }
         }
         
      } else {//程序図修改了参数情况inth
         
         = FileOpen(fileName、FILE_WRITE | FILE_READ | FILE_SHARE_READ | FILE_CSV、 '、'、CP_ACP);
         if(h!= INVALID_HANDLE){
            FileWrite(h、注文量、利益ポイントの取得、損失ポイントの停止);
            FileClose(h);
         }
         
      }
      
    }
    
    return(INIT_SUCCEEDED);
}


void OnTick(){
    
    if(OrdersTotal()!= 0)return;
    
    int orderTicket = OrderSend(Symbol()、OP_SELL、注文量、入札、0、入札+ストップロスポイント*ポイント、ビッドストップ利益ポイント*ポイント、 ""、0、0、clrNONE);
    
}

おすすめ

転載: blog.csdn.net/Michael_234198652/article/details/80395820