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

รบกวนสอบถาม การเปรียบเทียบค่าหน่อยครับ

  • 7 replies
  • 2,167 views
ผมต้องการตัวอย่างโค๊ด ครับ คือ ต้องการลบออร์เดอร์ทั้งหมด แต่ให้เรียงลำดับกำไรมาก มากำไรน้อยครับ
ผมลองหลายอย่างแล้วก็ยังไม่ได้เลยครับ รบกวนผู้รู้ หรือ admin ช่วยชี้แนะด้วยครับ

*

admin

  • 80,287
Re: รบกวนสอบถาม การเปรียบเทียบค่าหน่อยครับ
« ตอบกลับ #1 เมื่อ: 11, เมษายน 2019, 01:53:42 PM »
ลองทำตัวอย่าง code ที่ทำ มาให้ดูหน่อย ครับผม จะได้ช่วยแก้ให้
(TH)**
"เอาชนะใจตัวเองให้ได้ ก่อนที่จะไปเอาชนะตลาด"

Re: รบกวนสอบถาม การเปรียบเทียบค่าหน่อยครับ
« ตอบกลับ #2 เมื่อ: 11, เมษายน 2019, 01:57:25 PM »
if(OpenOrders!=0 && AccountProfit()>=TargetProfit)
  {
   double show[20];
   double Or_Profit=0;
   double Profit=0;
   int ti_me=0;
   int x=0;
   cnt=0;
   while(cnt<OrdersTotal())
     {
         for(cnt=0;cnt<OrdersTotal();cnt++)   
           {
              result = OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
                mode=OrderType();
              if (OrderSymbol()==Symbol() && (OrderMagicNumber()==Magic || OrderMagicNumber()==Magic+1))
              Or_Profit = OrderProfit();
              if(ti_me==cnt){show[cnt]=Or_Profit;ti_me++;}

           }
            if(show[cnt]>show[cnt+1]){Profit=show[cnt];}
            if(Profit==OrderProfit())
                 {
                           if(mode==OP_BUY){ Tic =  OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,clrIndigo);}
                           if(mode==OP_SELL){Tic =  OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,clrCrimson);}
                 }
         if(OrdersTotal()==0){x=1;}
     }
  }


ล่าสุดแก้ไปแก้มา เป็นแบบนี้แล้วครับ

*

iRuler

  • 1,282
Re: รบกวนสอบถาม การเปรียบเทียบค่าหน่อยครับ
« ตอบกลับ #3 เมื่อ: 11, เมษายน 2019, 03:05:45 PM »
ลองแบบนี้นะครับ ยังไม่ได้เทส

โค๊ด [Select]
while(OrdersTotal()>0)
     {
      bool result;
      int ticket=-1;
      double profit=-9999999;

      for(int i=0;i<OrdersTotal();i--)
        {
         if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
           {
            if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
              {
               if(OrderProfit()>profit)
                 {
                  ticket=OrderTicket();
                  profit=OrderProfit();
                 }
              }
           }
        }

      if(ticket>0)
        {
         if(OrderSelect(ticket,SELECT_BY_TICKET))
           {
            RefreshRates();
            if(OrderType()==OP_BUY)
               result=OrderClose(OrderTicket(),OrderLots(),Bid,3,clrNONE);
            if(OrderType()==OP_SELL)
               result=OrderClose(OrderTicket(),OrderLots(),Ask,3,clrNONE);
           }
        }
     }

Re: รบกวนสอบถาม การเปรียบเทียบค่าหน่อยครับ
« ตอบกลับ #4 เมื่อ: 11, เมษายน 2019, 03:18:35 PM »
อ้างจาก: iRuler ที่ 11, เมษายน  2019, 03:05:45 PM
ลองแบบนี้นะครับ ยังไม่ได้เทส

โค๊ด [Select]
while(OrdersTotal()>0)
     {
      bool result;
      int ticket=-1;
      double profit=-9999999;

      for(int i=0;i<OrdersTotal();i--)
        {
         if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
           {
            if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
              {
               if(OrderProfit()>profit)
                 {
                  ticket=OrderTicket();
                  profit=OrderProfit();
                 }
              }
           }
        }

      if(ticket>0)
        {
         if(OrderSelect(ticket,SELECT_BY_TICKET))
           {
            RefreshRates();
            if(OrderType()==OP_BUY)
               result=OrderClose(OrderTicket(),OrderLots(),Bid,3,clrNONE);
            if(OrderType()==OP_SELL)
               result=OrderClose(OrderTicket(),OrderLots(),Ask,3,clrNONE);
           }
        }
     }

ขอบคุณท่านมากมากนะครับ แต่เบ็คเทสแล้วมันค้าง อ่ะ

*

iRuler

  • 1,282
Re: รบกวนสอบถาม การเปรียบเทียบค่าหน่อยครับ
« ตอบกลับ #5 เมื่อ: 11, เมษายน 2019, 08:21:54 PM »
ลองแบบนี้นะครับ

โค๊ด [Select]

bool result;
int ticket=;
double profit;

while(OrdersTotal()>0)
     {
      ticket=-1;
      profit=-9999999;

      for(int i=0;i<OrdersTotal();i--)
        {
         if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
           {
            if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
              {
               if(OrderProfit()>profit)
                 {
                  ticket=OrderTicket();
                  profit=OrderProfit();
                 }
              }
           }
        }

      if(ticket>0)
        {
         if(OrderSelect(ticket,SELECT_BY_TICKET))
           {
            RefreshRates();
            if(OrderType()==OP_BUY)
               result=OrderClose(OrderTicket(),OrderLots(),Bid,3,clrNONE);
            if(OrderType()==OP_SELL)
               result=OrderClose(OrderTicket(),OrderLots(),Ask,3,clrNONE);
           }
        }
     }

Re: รบกวนสอบถาม การเปรียบเทียบค่าหน่อยครับ
« ตอบกลับ #6 เมื่อ: 11, เมษายน 2019, 09:12:05 PM »
ขอบคุณท่านมากมากครับ เดี๋ยวผมไปต่อยอดเองนะครับ ขอสอบถามอีกเรื่องได้ไหมครับ คือว่า

          if (OpenOrders!=0)
          {
               for(cnt=1;cnt<=OpenOrders;cnt++)
               {
                  mylotsi=NormalizeDouble(LastLotsSell*1.44,2);
               }
          }

ผมต้องการให้เปิดล็อตโดยเบิ้ล * 1.44  แต่ว่ามันออก 0.01 ตลอดเลยครับ

*

iRuler

  • 1,282
Re: รบกวนสอบถาม การเปรียบเทียบค่าหน่อยครับ
« ตอบกลับ #7 เมื่อ: 12, เมษายน 2019, 05:49:18 AM »
ดูแค่นี้ไม่รู้ ต้องดูโค้ดทั้งหมดครับ
(TH)**