ผมลองเขียนอีเอเทรดใน 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 กลับมาได้อย่างไรบ้างครับ แนะนำหน่อยครับ