ขั้นตอนกำไรประจำวัน
หน้า 1 จาก 1002 12 ล่าสุดล่าสุด
Results 1 to 10 of 11

Thread: ขั้นตอนกำไรประจำวัน

  1. #1
    ฉันกำลังมองหาขั้นตอน mql4 ที่จะบอกฉันจริงหรือเท็จเมื่อฉันได้กำไรขีด จำกัด รายวันสำหรับคู่ ฉันได้ลองใช้โค้ด folloowing แล้ว แต่มันกลับเป็นเท็จเสมอ
    ใส่รหัสบูล funcGetTodaysProfit () {int int DailyProfitPips = 100; double dblReturnValue = 0, dblDailyProfitPips = intDailyProfitPips * Point; สำหรับ (int i = 0; ilt; OrdersTotal (); i ) {//1 รอบโดยคำสั่งซื้อค้นหาว่า (OrderSelect (i, SELECT_BY_POS, MODE_HISTORY) == false); if (OrderMagicNumber ()! = intOrderMagicNumber) ดำเนินการต่อ; if (TimeYear (Time # 91; 0 # 93;)! = TimeYear (OrderOpenTime ()) TimeDay (Time # 91; 0 # 93;)! = TimeDay (OrderOpenTime ()) TimeMonth (Time # 91; 0 # 93; ) = TimeMonth (OrderOpenTime ())) ยังคง;/ไม่ใช่กำไรในปัจจุบัน if (OrderType () == OP_BUY) {dblReturnValue = dblReturnValue (OrderClosePrice) (OrderClosePrice) () OrderOpenPrice ());} ถ้า (OrderType () == OP_SELL) {dblReturnValue (OrderClosePrice) (กำไรจนถึงปัจจุบัน:, DoubleToStr (dblReturnValue, Digits), \ n, เป้าหมายกำไร:, DoubleToStr (dblDailyProfitPips, Digits)); if (dblReturnValuegt; dblDailyProfitPips) {return (true);} return (false); }
    หากใครสามารถช่วยฉันก็ขอบคุณ

  2. #2

    Quote Originally Posted by ;
    ฉันกำลังมองหาขั้นตอน mql4 ที่จะบอกฉันจริงหรือเท็จเมื่อฉันได้กำไรขีด จำกัด รายวันสำหรับคู่ ฉันได้ลองใช้โค้ด folloowing แล้ว แต่มันกลับเป็นเท็จเสมอ [code] bool funcGetTodaysProfit () {int int DailyProfitPips = 100; double dblReturnValue = 0, dblDailyProfitPips = intDailyProfitPips * Point; สำหรับ (int i = 0; ilt; OrdersTotal (); i ) {//1 รอบโดยคำสั่งซื้อค้นหาว่า (OrderSelect (i, SELECT_BY_POS, MODE_HISTORY) == false); if (OrderMagicNumber ()! = intOrderMagicNumber) ดำเนินการต่อ; if (TimeYear (Time [0])! = TimeYear (OrderOpenTime ()) ...
    nondisclosure00 - สิ่งแรกที่ฉันสังเกตเห็นคือคุณบอกว่าคุณต้องการได้รับขีด จำกัด กำไรรายวันสำหรับคู่ แต่ไม่มีที่ไหนที่คุณจะเปรียบเทียบสัญลักษณ์เมื่อวนรอบคำสั่งซื้อ ประการที่สองคือคุณมีสิ่งนี้: int int DailyProfitPips = 100; ซึ่งไม่ได้รวบรวมสำหรับการตรวจสอบผลกำไรรายวันฉันแนะนำให้ใช้ iBarShift ()

  3. #3
    ตกลง. ทำการเปลี่ยนแปลงดังนั้นจึงรวบรวมและนำหมายเลขเวทย์มนตร์ที่ฉันใช้เพิ่มเติมในโค้ดของฉันและตอนนี้ใช้สัญลักษณ์ แต่ฉันยังคงได้รับผลลัพธ์เดียวกัน ฉันจะใช้ iBarShift () ในการวนซ้ำผ่านตำแหน่งปิดเพื่อหากำไรสำหรับวันได้อย่างไร ใส่รหัสบูล funcGetTodaysProfit () {int intDailyProfitPips = 100; double dblReturnValue = 0, dblDailyProfitPips = intDailyProfitPips * Point; สำหรับ (int i = 0; ilt; OrdersTotal (); i ) {//1 รอบโดยคำสั่งซื้อค้นหาว่า (OrderSelect (i, SELECT_BY_POS, MODE_HISTORY) == false); if (OrderSymbol ()! = Symbol () ดำเนินการต่อหาก (TimeYear (เวลา # 91; 0 # 93! = TimeYear (OrderOpenTime ()) TimeDay (Time # 91; 0 # 93! = TimeDay (OrderOpenTime () )) TimeMonth (เวลา # 91; 0 # 93! = TimeMonth (OrderOpenTime ())) ดำเนินการต่อ;/ไม่ได้กำไรในปัจจุบันถ้า (OrderType () == OP_BUY) {dblReturnValue = dblReturnValue (OrderClosePrice () ));} if (OrderType () == OP_SELL) {dblReturnValue = dblReturnValue (OrderOpenPrice () - OrderClosePrice () -) OrderClosePrice ())}} ข้อคิดเห็น (กำไรวันนี้: DoubleToStr (dblReturnValue ตัวเลข) DoubleToStr (dblDailyProfitPips, Digits)); ถ้า (dblReturnValuegt; dblDailyProfitPips) {return (true);} return (false);}
    Quote Originally Posted by ;
    - สิ่งแรกที่ฉันสังเกตเห็นคือคุณบอกว่าคุณต้องการได้รับขีด จำกัด กำไรประจำวันสำหรับคู่ แต่ไม่มีคุณเปรียบเทียบสัญลักษณ์เมื่อวนผ่านคำสั่ง ประการที่สองคือคุณมีสิ่งนี้: int int DailyProfitPips = 100; ซึ่งไม่ได้รวบรวมสำหรับการตรวจสอบผลกำไรรายวันฉันแนะนำให้ใช้ iBarShift ()
    Quote Originally Posted by ;
    - สิ่งแรกที่ฉันสังเกตเห็นคือคุณบอกว่าคุณต้องการได้รับขีด จำกัด กำไรประจำวันสำหรับคู่ แต่ไม่มีคุณเปรียบเทียบสัญลักษณ์เมื่อวนผ่านคำสั่ง ประการที่สองคือคุณมีสิ่งนี้: int int DailyProfitPips = 100; ซึ่งไม่ได้รวบรวมสำหรับการตรวจสอบผลกำไรรายวันฉันแนะนำให้ใช้ iBarShift ()

  4. #4

    Quote Originally Posted by ;
    ตกลง. ทำการเปลี่ยนแปลงดังนั้นจึงรวบรวมและนำหมายเลขเวทย์มนตร์ที่ฉันใช้เพิ่มเติมในโค้ดของฉันและตอนนี้ใช้สัญลักษณ์ แต่ฉันยังคงได้รับผลลัพธ์เดียวกัน ฉันจะใช้ iBarShift () ในการวนซ้ำผ่านตำแหน่งปิดเพื่อหากำไรสำหรับวันได้อย่างไร ใส่รหัสบูล funcGetTodaysProfit () {int intDailyProfitPips = 100; double dblReturnValue = 0, dblDailyProfitPips = intDailyProfitPips * Point; สำหรับ (int i = 0; ilt; OrdersTotal (); i ) {//1 รอบโดยคำสั่งซื้อค้นหาว่า (OrderSelect (i, SELECT_BY_POS, MODE_HISTORY) == false); if (OrderSymbol ()! = Symbol () ดำเนินการต่อหาก (TimeYear (เวลา # 91; 0 # 93! = TimeYear (OrderOpenTime ()) TimeDay (Time # 91; 0 # 93! = TimeDay (OrderOpenTime () )) TimeMonth (เวลา # 91; 0 # 93! = TimeMonth (OrderOpenTime ())) ดำเนินการต่อ;/ไม่ได้กำไรในปัจจุบันถ้า (OrderType () == OP_BUY) {dblReturnValue = dblReturnValue (OrderClosePrice () ));} if (OrderType () == OP_SELL) {dblReturnValue = dblReturnValue (OrderOpenPrice () - OrderClosePrice () -) OrderClosePrice ())}} ข้อคิดเห็น (กำไรวันนี้: DoubleToStr (dblReturnValue ตัวเลข) DoubleToStr (dblDailyProfitPips, Digits)); ถ้า (dblReturnValuegt; dblDailyProfitPips) {return (true);} return (false);}
    nondisclosure00- คุณต้องการทั้งคู่ ฉันไม่ได้ตั้งใจให้คุณลบอันที่ถูกแทนที่ด้วยอันอื่น อย่างไรก็ตามนี่คือความคิดของฉันเกี่ยวกับสิ่งที่คุณพยายามจะทำ อาจมีบางสิ่งที่ฉันพลาด แต่ควรให้ความคิดกับคุณ ใส่รหัส/ --------------------------------------------- ------------------------------- /// ------------- -------------------------------------------------- ------------- GetTodaysProfit สองครั้ง () {double TotProf = 0; int ทั้งหมด = HistoryTotal (); สำหรับ (int i = 0; ilt; total; i ) {OrderSelect (i, SELECT_BY_POS, MODE_HISTORY); if (OrderSymbol () == Symbol () OrderMagicNumber () == MagicNumber) {int BarsCnt = iBarShift (NULL, PERIOD_D1, OrderCloseTime ()); if (BarsCntlt; 2) {TotProf = OrderProfit (); }}} return (TotProf); }

  5. #5
    ขอบคุณ แต่จะไม่ทำงานในการทดสอบย้อนหลังในแผนภูมิแท่ง 1 ชั่วโมง มันจะให้อะไรฉันคิดว่า ...
    Quote Originally Posted by ;
    - คุณต้องการทั้งคู่ ฉันไม่ได้ตั้งใจให้คุณลบอันที่ถูกแทนที่ด้วยอันอื่น อย่างไรก็ตามนี่คือความคิดของฉันเกี่ยวกับสิ่งที่คุณพยายามจะทำ อาจมีบางสิ่งที่ฉันพลาด แต่ควรให้ความคิดกับคุณ [code]/ -------------------------------------------- -------------------------------- /// ------------ -------------------------------------------------- -------------- สอง GetTodaysProfit () {double TotProf = 0; int ทั้งหมด = HistoryTotal (); สำหรับ (int i = 0; ilt; total; i ) {OrderSelect (i, SELECT_BY_POS, ...
    Quote Originally Posted by ;
    - คุณต้องการทั้งคู่ ฉันไม่ได้ตั้งใจให้คุณลบอันที่ถูกแทนที่ด้วยอันอื่น อย่างไรก็ตามนี่คือความคิดของฉันเกี่ยวกับสิ่งที่คุณพยายามจะทำ อาจมีบางสิ่งที่ฉันพลาด แต่ควรให้ความคิดกับคุณ [code]/ -------------------------------------------- -------------------------------- /// ------------ -------------------------------------------------- -------------- สอง GetTodaysProfit () {double TotProf = 0; int ทั้งหมด = HistoryTotal (); สำหรับ (int i = 0; ilt; total; i ) {OrderSelect (i, SELECT_BY_POS, ...

  6. #6
    ด้านล่างตัวอย่างโดยใช้ผลรวมวันนี้รวมถึงการซื้อขายที่เปิดอยู่ในปัจจุบัน: รหัสที่ใส่แล้ว double daily_profit () {double prof = 0; การค้าระหว่างประเทศ การซื้อขาย int = OrdersHistoryTotal (); สำหรับ (trade = 0; tradelt; trades; trade ) {OrderSelect (การค้า, SELECT_BY_POS, MODE_HISTORY); if (OrderMagicNumber () == MagicNumber OrderSymbol () == Symbol ()) {if (OrderCloseTime () gt; = iTime (Symbol (), 1440,0)) ศาสตราจารย์ = OrderProfit () OrderSomm () ); }} สำหรับ (trade = 0; tradelt; OrdersTotal (); trade ) {OrderSelect (การค้า SELECT_BY_POS, MODE_TRADES); if (OrderMagicNumber () == MagicNumber OrderSymbol () == Symbol ()) {if (OrderOpenTime () gt; = iTime (Symbol (), 1440,0)) ศาสตราจารย์ = OrderProfit () OrderSomm () ); }} return (prof); }

  7. #7
    ขอบคุณ Ferru เวลานาน! ฉันได้รับกำไรที่คำนวณอย่างถูกต้องในวันเดียวกัน แต่มันยังคงเห็นกำไรของวันสุดท้ายและเพิ่มเข้าไปในกำไรของวันปัจจุบัน เพิ่มไปที่ผลลัพธ์ในการทำงานของฉันเป็นเท็จเสมอ ความคิดใด ๆ
    Quote Originally Posted by ;
    ด้านล่างตัวอย่างโดยใช้ผลรวมวันนี้รวมถึงการซื้อขายที่เปิดอยู่ในปัจจุบัน: [code] double Daily_profit () {double prof = 0; การค้าระหว่างประเทศ การซื้อขาย int = OrdersHistoryTotal (); สำหรับ (trade = 0; tradelt; trades; trade ) {OrderSelect (การค้า, SELECT_BY_POS, MODE_HISTORY); if (OrderMagicNumber () == MagicNumber OrderSymbol () == Symbol ()) {if (OrderCloseTime () gt; = iTime (Symbol (), 1440,0)) ศาสตราจารย์ = OrderProfit () OrderSomm () ); }} สำหรับ (trade = 0; tradelt; OrdersTotal (); trade ) {OrderSelect (การค้า SELECT_BY_POS, MODE_TRADES); ถ้า (OrderMagicNumber () ...
    Quote Originally Posted by ;
    ด้านล่างตัวอย่างโดยใช้ผลรวมวันนี้รวมถึงการซื้อขายที่เปิดอยู่ในปัจจุบัน: [code] double Daily_profit () {double prof = 0; การค้าระหว่างประเทศ การซื้อขาย int = OrdersHistoryTotal (); สำหรับ (trade = 0; tradelt; trades; trade ) {OrderSelect (การค้า, SELECT_BY_POS, MODE_HISTORY); if (OrderMagicNumber () == MagicNumber OrderSymbol () == Symbol ()) {if (OrderCloseTime () gt; = iTime (Symbol (), 1440,0)) ศาสตราจารย์ = OrderProfit () OrderSomm () ); }} สำหรับ (trade = 0; tradelt; OrdersTotal (); trade ) {OrderSelect (การค้า SELECT_BY_POS, MODE_TRADES); ถ้า (OrderMagicNumber () ...

  8. #8

    Quote Originally Posted by ;
    ขอบคุณ Ferru เวลานาน! ฉันได้รับกำไรที่คำนวณอย่างถูกต้องในวันเดียวกัน แต่มันยังคงเห็นกำไรของวันสุดท้ายและเพิ่มเข้าไปในกำไรของวันปัจจุบัน เพิ่มไปที่ผลลัพธ์ในการทำงานของฉันเป็นเท็จเสมอ ความคิดใด ๆ
    ที่จุดเริ่มต้นของฟังก์ชันคุณต้องตั้งค่ากำไรเป็น 0 ดังนั้นการคำนวณจะใช้ได้สำหรับการโทรนี้เท่านั้น สิ่งนี้ก็เป็นสิ่งสำคัญเช่นกันที่ต้องมองหาเฉพาะคำสั่งซื้อที่เปิดปิดหลังจากเริ่มต้นวัน (ตามที่แสดงในตัวอย่างของฉัน)

  9. #9
    อ๋อ การทำเช่นนั้น: double dblReturnValue = 0
    Quote Originally Posted by ;
    ที่จุดเริ่มต้นของฟังก์ชันคุณต้องตั้งค่ากำไรเป็น 0 ดังนั้นการคำนวณจะใช้ได้สำหรับการโทรนี้เท่านั้น สิ่งนี้ก็เป็นสิ่งสำคัญเช่นกันที่ต้องมองหาเฉพาะคำสั่งซื้อที่เปิดปิดหลังจากเริ่มต้นวัน (ตามที่แสดงในตัวอย่างของฉัน)
    Quote Originally Posted by ;
    ที่จุดเริ่มต้นของฟังก์ชันคุณต้องตั้งค่ากำไรเป็น 0 ดังนั้นการคำนวณจะใช้ได้สำหรับการโทรนี้เท่านั้น สิ่งนี้ก็เป็นสิ่งสำคัญเช่นกันที่ต้องมองหาเฉพาะคำสั่งซื้อที่เปิดปิดหลังจากเริ่มต้นวัน (ตามที่แสดงในตัวอย่างของฉัน)

  10. #10
    Ferru ฉันเข้าใจแล้ว ฉันเพิ่มบรรทัดเหล่านี้: สตริงโค้ดที่แทรก strCurrentDate = StringConenate (TimeYear (เวลา # 91; 0 # 93,., TimeMonth (เวลา # 91; 0 # 93,., TimeDay (เวลา # 91; 0 # 93; )); datetime dtCurrentDate = StrToTime (strCurrentDate); แทนที่บรรทัดเหล่านี้: ใส่รหัสถ้า (TimeYear (OrderOpenTime ())! = TimeYear (Time # 91; 0 # 93 TimeDay (OrderOpenTime ())! = TimeDay (Time # 91; 0 # 93 TimeMonth (OrderOpenTime) !)) = TimeMonth (เวลา # 91; 0 # 93) ยังคง;/ไม่ใช่กำไรในปัจจุบัน ด้วยบรรทัดนี้: ใส่รหัสถ้า (OrderOpenTime () lt; dtCurrentDate) ดำเนินการต่อ; ทำงานได้ตามต้องการ! ขอบคุณ!
    Quote Originally Posted by ;
    ที่จุดเริ่มต้นของฟังก์ชันคุณต้องตั้งค่ากำไรเป็น 0 ดังนั้นการคำนวณจะใช้ได้สำหรับการโทรนี้เท่านั้น สิ่งนี้ก็เป็นสิ่งสำคัญเช่นกันที่ต้องมองหาเฉพาะคำสั่งซื้อที่เปิดปิดหลังจากเริ่มต้นวัน (ตามที่แสดงในตัวอย่างของฉัน)
    Quote Originally Posted by ;
    ที่จุดเริ่มต้นของฟังก์ชันคุณต้องตั้งค่ากำไรเป็น 0 ดังนั้นการคำนวณจะใช้ได้สำหรับการโทรนี้เท่านั้น สิ่งนี้ก็เป็นสิ่งสำคัญเช่นกันที่ต้องมองหาเฉพาะคำสั่งซื้อที่เปิดปิดหลังจากเริ่มต้นวัน (ตามที่แสดงในตัวอย่างของฉัน)

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

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