จะรับ Net Floating Pip Count จากคำสั่งซื้อที่เปิดอยู่ทั้งหมดได้อย่างไร
Results 1 to 7 of 7

Thread: จะรับ Net Floating Pip Count จากคำสั่งซื้อที่เปิดอยู่ทั้งหมดได้อย่างไร

  1. #1
    สวัสดี คุณจะนับ net pip จากคำสั่งซื้อขายที่เปิดอยู่ในเทอร์มินัลใน mql4 ได้อย่างไร

  2. #2
    Quote Originally Posted by ;
    {quote} OrderSelect เป็นบูล ดังนั้นจึงไม่จำเป็นต้องใช้ “==1” คูณด้วย 0.1 เพื่อแปลงจากจุดเป็น pip และไม่จำเป็นต้องใช้วงเล็บหากมีสิ่งเดียวเท่านั้นที่ตามมา ยังนับคำสั่งของคุณเสมอ แต่ใช่ ฉันพิมพ์ผิด
    ทำบนโทรศัพท์ของฉัน ฉันแก้ไขมันเมื่อกี้
    ตกลงสิ่งนี้ใช้งานไม่ได้จริง ๆ .. มันจะแสดง 35.xx เสมอด้วยเหตุผลบางอย่างแม้ว่าฉันจะรู้ว่านั่นไม่ใช่จำนวน pip ลอยตัวที่ถูกต้อง

  3. #3

  4. #4
    Quote Originally Posted by ;
    {quote} ทำไมคุณคูณผลรวมด้วย 0.1? แล้ววงเล็บของคุณที่ดูเหมือนว่าไม่มี for loop ล่ะ? นี่คือความพยายามของฉัน.... double calcNetPips() { double sum=0; สำหรับ (int i=0; ilt;OrdersTotal; i ) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == 1) { RefreshRates(); if(OrderType==0) sum =Bid-OrderOpenPrice(); อื่น sum =OrderOpenPrice()-Ask; } } ผลตอบแทนรวม*=0.1; }
    OrderSelect เป็นบูล ดังนั้น #8220;==1#8221; ไม่จำเป็น#8217; คูณด้วย 0.1 เพื่อแปลงจากจุดเป็น pip และไม่จำเป็นต้องใช้วงเล็บหากมีสิ่งเดียวเท่านั้นที่ตามมา ยังนับคำสั่งของคุณเสมอ แต่ใช่ ฉันพิมพ์ผิด
    ทำบนโทรศัพท์ของฉัน ฉันแก้ไขมันเมื่อกี้

  5. #5

    Quote Originally Posted by ;
    สวัสดี คุณจะนับ net pip จากคำสั่งซื้อขายที่เปิดอยู่ในเทอร์มินัลใน mql4 ได้อย่างไร
    บางสิ่งเช่นนี้: แทรกโค้ด double sum=0; สำหรับ(int o=OrdersTotal()-1;ogt;=0;o#8212 if(OrderSelect(o,SELECT_BY_POS,MODE_TRADES){ RefreshRates(); if(OrderType()==0)sum =Bid-OrderOpenPrice (); if(OrderType())sum =OrderOpenPrice()-Ask;} sum*=0.1; Print(#8220;Order Pip Sum=#8220; (string)sum);

  6. #6

    Quote Originally Posted by ;
    {quote} บางสิ่งเช่นนี้: double sum=0; สำหรับ(int o=OrdersTotal()-1;ogt;=0;o#8212 if(OrderSelect(o,SELECT_BY_POS,MODE_TRADES){ RefreshRates(); if(OrderType==0)sum =Bid-OrderOpenPrice() ; if(OrderType)sum =OrderOpenPrice()-Ask;} sum*=0.1; Print(#8220;Order Pip Sum=#8220; (string)sum);
    ทำไมคุณคูณผลรวมด้วย 0.1? แล้ววงเล็บของคุณที่ดูเหมือนว่าไม่มี for loop ล่ะ? นี่คือความพยายามของฉัน .... ใส่รหัส double calcNetPips () { ผลรวมสองเท่า = 0; สำหรับ (int i=0; ilt;OrdersTotal; i ) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == 1) { RefreshRates(); if(OrderType==0) sum =Bid-OrderOpenPrice(); อื่น sum =OrderOpenPrice()-Ask; } } ผลตอบแทนรวม*=0.1; }

  7. #7

    Quote Originally Posted by ;
    {quote} ตกลงสิ่งนี้ใช้งานไม่ได้จริง ๆ .. มันจะแสดง 35.xx เสมอด้วยเหตุผลบางอย่างแม้ว่าฉันจะรู้ว่านั่นไม่ใช่จำนวน pip ลอยที่ถูกต้อง
    คุณใช้รหัสของคุณ โดยเฉพาะ #8220;else#8221;? หากคุณใช้ #8220;else#8221; กำลังติดตาม #8220;if(OrderType()==0)#8221; จากนั้นจะรวมคำสั่งซื้อที่รอดำเนินการในผลรวมด้วย ใส่รหัส if(OrderType()==0)//buy market order else {}//คำสั่งซื้ออื่น ๆ ในตลาด รอดำเนินการ I#8217;m ไม่แน่ใจว่าเป็นปัญหาของคุณหรือไม่ แต่ถ้าเป็นเช่นนั้น คุณต้องระบุประเภทคำสั่งให้ชัดเจน เป็นรายบุคคล ใส่รหัส if(OrderType()==0)/buy market order if(OrderType()==1)//sell market order นอกจากนี้ if(OrderType())//sell market order/อาจใช้เงื่อนไข enum :/OP_BUY=0,OP_SELL=1 if(OrderType()==OP_BUY) if(OrderType()==OP_SELL) นอกจากนี้ คุณไม่สามารถส่งคืนงานได้ ดังนั้น: return sum*=0.1; จะไม่ทำงาน; ต้องทำการคูณก่อนแล้วจึงคืนค่า: Inserted Code sum*=0.1; ผลตอบแทนรวม;/หรือส่งคืนผลรวม*0.1;

การขออนุญาตโพส

  • ห้ามโพสข้อความใหม่
  • ห้ามโพสตอบ
  • ห้ามแนบไฟล์
  • ห้ามแก้ไขโพส
  •  
  • รหัส BB เปิด
  • Smilies ปิด
  • รหัส [IMG] เปิด
  • รหัส [VIDEO] เปิด
  • รหัส HTML ปิด
นโยบาย Cookie
นโยบาย Cookie: เว็บไซต์ thaitradeforex มีการใช้ cookies และสำหรับการดำเนินการเยี่ยมชมเว็บไซต์ ท่านได้ยอมรับในสิ่งนี้ สำหรับข้อมูลเพิ่มเติมโปรดอ่าน 'Cookie Disclosure'.