กองทุน SPDR GOLD SHARES
ถือทองก่อนหน้า
ถือทองล่าสุด
0.00
*หน่วยตัน / ราคาอ้างอิงล่าสุดจากสมาคมค้าทองคำ
สถิติกองทุน SPDR
ราคาทองคำแท่ง 96.5%
ราคาอ้างอิงล่าสุดจากสมาคมค้าทองคำ
ครั้งที่
ราคาก่อนหน้า
ราคาล่าสุด
0
(หน่วย บาท*) / อัปเดตล่าสุดเมื่อวันที่ 13 ก.ค. 2566 เวลา 13:04 น.
สถิติราคาทองคำ ไทย

การบันทึกไฟล์ เขียนไฟล์

  • 5 replies
  • 2,153 views
การบันทึกไฟล์ เขียนไฟล์
« เมื่อ: 12, กันยายน 2020, 06:20:09 PM »
หากต้องการบันทึกจำนวนออร์เดอร์ที่เปิดว่าเปิดไปทั้งหมดกี่ออร์เดอร์แล้ว ไปยังไฟล์ excel หรืออะไรก็ได้ที่ mydocument  ต้องระบุ url ยังงัยครับ ตอนนี้ผมเขียนได้ประมาณนี้ครับแต่มันไม่ได้บันทึกไปยัง mydocument นะครับ


int         file_handle;
string      InpFileName="RecOrders.csv";       // File name
string      InpDirectoryName="Data";            // Folder name
int         OrderTotal;
         file_handle = FileOpen(InpDirectoryName+"//"+InpFileName,FILE_READ|FILE_WRITE|FILE_CSV);
         Print(" file_handle : ",file_handle," INVALID_HANDLE : ",INVALID_HANDLE);
         if(file_handle!=INVALID_HANDLE)
           {
            if(OrdersTotal()!=0)
            {
               FileWrite(file_handle,OrdersTotal());
            }
               FileClose(file_handle);
               Print("FileOpen OK");
           }
         else { PrintFormat("Failed to open %s file, Error code = %d",InpFileName,GetLastError()); }
         file_handle=FileOpen(InpDirectoryName+"//"+InpFileName,FILE_READ|FILE_WRITE|FILE_CSV);
         if(file_handle!=INVALID_HANDLE)
            {
                  OrderTotal = StrToDouble(FileReadString(file_handle));
                  FileClose(file_handle);
            }
        }

Re: การบันทึกไฟล์ เขียนไฟล์
« ตอบกลับ #1 เมื่อ: 13, กันยายน 2020, 05:39:35 AM »

เท่าที่ทราบนะครับ

ปกติแล้ว MQL4 จะให้เขียนไฟล์ลงในโฟลเดอร์ Files
ถ้าใช้ MQL4 ล้วนๆ จะไม่สามารถเขียนไฟล์นอกโฟลเดอร์  Files ของ MT4


ถ้าต้องการเขียนไฟล์นอกโฟลเดอร์ files
ต้องใช้ DLL ของ windows ทำการสร้างไฟล์แทนครับ

หรือสร้าง DLL เอาไว้เขียนเองแทนครับ
https://www.mql5.com/en/articles/1540

*

iRuler

  • 1,282
Re: การบันทึกไฟล์ เขียนไฟล์
« ตอบกลับ #2 เมื่อ: 13, กันยายน 2020, 07:53:02 AM »
อ้างจาก: forcebewithyou ที่ 13, กันยายน  2020, 05:39:35 AM

เท่าที่ทราบนะครับ

ปกติแล้ว MQL4 จะให้เขียนไฟล์ลงในโฟลเดอร์ Files
ถ้าใช้ MQL4 ล้วนๆ จะไม่สามารถเขียนไฟล์นอกโฟลเดอร์  Files ของ MT4


ถ้าต้องการเขียนไฟล์นอกโฟลเดอร์ files
ต้องใช้ DLL ของ windows ทำการสร้างไฟล์แทนครับ

หรือสร้าง DLL เอาไว้เขียนเองแทนครับ
https://www.mql5.com/en/articles/1540

ตามนี้ครับ

โค๊ด [Select]
int         file_handle;
   string      InpFileName="RecOrders.csv";       // File name
   string      InpDirectoryName="Data";            // Folder name
   int         OrderTotal;

/*WRITE*/
   file_handle = FileOpen(InpDirectoryName+"//"+InpFileName,FILE_WRITE|FILE_CSV);
   if(file_handle!=INVALID_HANDLE)
     {
      if(OrdersTotal()!=0)
        {
         FileWrite(file_handle,OrdersTotal());
        }
      FileClose(file_handle);
      Print("FileOpen OK");
     }
   else
     {
      Print(" file_handle : ",file_handle," INVALID_HANDLE : ",INVALID_HANDLE);
      PrintFormat("Failed to open %s file, Error code = %d",InpFileName,GetLastError());
     }

/*READ*/

   file_handle=FileOpen(InpDirectoryName+"//"+InpFileName,FILE_READ|FILE_WRITE|FILE_CSV);
   if(file_handle!=INVALID_HANDLE)
     {
      OrderTotal = StrToInteger(FileReadString(file_handle));
      Print(OrderTotal);
      FileClose(file_handle);
     }
   else
     {
      Print(" file_handle : ",file_handle," INVALID_HANDLE : ",INVALID_HANDLE);
      PrintFormat("Failed to open %s file, Error code = %d",InpFileName,GetLastError());
     }


(TH)**

Re: การบันทึกไฟล์ เขียนไฟล์
« ตอบกลับ #3 เมื่อ: 13, กันยายน 2020, 09:13:32 AM »
ช่วยดูให้ผมหน่อยได้ไหมครับ มันไปต่อไม่ถูกครับ
หลักการก็คือ ผมเปิดมา 2 บัญชี  หากบัญชีใดบัญชีหนึ่ง ไม่มีออร์เดอร์ อีกบัญชีก็ให้ลบออร์เดอร์ทั้งหมดทิ้งไปด้วยครับ
ปัญหาก็คือ อีเอแต่ละตัวที่เขียนไฟล์บันทึกไว้ บันทึกไว้จริงแต่คนละโฟลเดอร์เลยครับ และมันก็ไม่สามารถดึงค่าของอีกบัญชีหนึ่งได้ครับ

Re: การบันทึกไฟล์ เขียนไฟล์
« ตอบกลับ #4 เมื่อ: 13, กันยายน 2020, 02:01:00 PM »

ไม่แน่ใจว่าจะทำโปรแกรม copy trade หรือเปล่าครับ   


ลองศึกษาจาก code โปรแกรม copy trade ดูครับ

https://github.com/jiowcl/MQL-CopyTrade/tree/master/Src/MQL4/Scripts

https://github.com/vobornik/mt4-trade-copy

https://github.com/kr0st/trade_replicator

https://github.com/jiowcl/MQL-CopyTrade



ถ้าทำ copy trade จริงๆ ใช้โปรแกรม copy trade ที่มีแจกฟรีก็ได้นะครับ

Re: การบันทึกไฟล์ เขียนไฟล์
« ตอบกลับ #5 เมื่อ: 13, กันยายน 2020, 02:02:19 PM »

ผมไม่แน่ใจนะครับ ว่าจะ work หรือเปล่า

ลองใช้    FILE_COMMON

https://docs.mql4.com/files/fileopen

มันจะเขียนไฟล์ไปที่   \Terminal\Common\Files

FILE_COMMON location of the file in a shared folder for all client terminals \Terminal\Common\Files

https://docs.mql4.com/files/fileopen