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

พอตลาดปิด มันเปลี่ยน tp = 0, sl =0

  • 2 replies
  • 1,934 views
พอตลาดปิด มันเปลี่ยน tp = 0, sl =0
« เมื่อ: 27, มีนาคม 2020, 08:05:08 AM »
ผมลองเขียนอีเอเทรดใน tfex พอตลาดปิดมันดันเปลี่ยน tp = 0 และ sl =0 พอตลาดเปิดมันไม่เปลี่ยนกลับครับ
ผมไม่รู้จะแก้ยังงัยก็เลยลองให้บันทึกค่าต่าง ๆ ในไฟล์นามสกุล csv (เลียนแบบมาจากตัว copytrade)
แต่ปัญหาคือ เมื่อมันบันทึกแล้ว ไม่รู้อ่านค่าออกมายังงัยให้ตรง เพื่อที่จะตั้ง tp / sl กลับมาเหมือนก่อนตลาดปิดครับ


void write()
{
         filehandle=FileOpen("Write.csv",FILE_CSV|FILE_WRITE,",");

         if(filehandle!=INVALID_HANDLE)
           {
            FileWrite(filehandle,"");
            for(int i=0; i<OrdersTotal(); i++)
              {
               result = OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
                 { 
                     symbol=OrderSymbol();
                   FileWrite(filehandle,OrderTicket(),OrderSymbol(),OrderType(),OrderOpenPrice(),OrderLots(),OrderStopLoss(),OrderTakeProfit());
                     FileFlush(filehandle);                   
                 }
              }
            FileClose(filehandle);
           } 
}
void Read()
{
         filehandle=FileOpen("Write.csv",FILE_READ|FILE_CSV|FILE_COMMON);
   
         if(filehandle!=INVALID_HANDLE)
           { 
            while(!FileIsEnding(filehandle))
              {
                  for(int i=0; i<OrdersTotal(); i++)
                    {
                     result = OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
                       { 
                           wticket=StrToInteger(FileReadString(filehandle));
                           symbol=StrToInteger(FileReadString(filehandle));
                           type=StrToInteger(FileReadString(filehandle));
                           price=StrToDouble(FileReadString(filehandle));
                           lot=StrToDouble(FileReadString(filehandle));
                           wsl=StrToDouble(FileReadString(filehandle));
                           wtp=StrToDouble(FileReadString(filehandle));
                       }
                    }
              FileClose(filehandle);
              }
            }
            Print(" ticket : ",wticket," symbol : ",symbol," type : ",type," price : ",price," lot : ",lot," sl ",wsl," tp : ",wtp);
}

ค่าที่ผม print ออกมาไม่ตรงกันเลยสลับกันมั่วหมด ผมไม่รู้จะทำยังงัยครับ หรือมีไอเดียอื่นที่จะแก้ tp / sl กลับมาได้อย่างไรบ้างครับ แนะนำหน่อยครับ

Re: พอตลาดปิด มันเปลี่ยน tp = 0, sl =0
« ตอบกลับ #1 เมื่อ: 27, มีนาคม 2020, 09:21:51 AM »

ทดสอบ ลองแยก ไฟล์เขียน และอ่านดูหน่อยครับว่ายังอ่านผิดใหม


ลองแกะวิธีอ่านและเขียนจากโปรแกรม copy trade อีกทีครับ

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

https://www.mql5.com/en/code/14085

เดี่ยวนี้มี code หลายตัวให้ศึกษาครับ

Re: พอตลาดปิด มันเปลี่ยน tp = 0, sl =0
« ตอบกลับ #2 เมื่อ: 27, มีนาคม 2020, 09:39:15 AM »

รอท่าน irule มาช่วยตอบนะครับ เรื่อง array นี่ผมไม่ถนัดเลย ดูเหมือน csv มันอ่านค่าแล้วเอามาใส่เป็น array นะ