การเพิ่มคู่มือยืนยันไปยังที่ปรึกษาผู้เชี่ยวชาญ
หน้า 1 จาก 1002 12 ล่าสุดล่าสุด
Results 1 to 10 of 12

Thread: การเพิ่มคู่มือยืนยันไปยังที่ปรึกษาผู้เชี่ยวชาญ

  1. #1
    ฉันได้พยายามเขียนโค้ดระบบของฉัน Freebie Newbie System ลงใน EA แล้วและฉันก็ทำได้ค่อนข้างดี แต่ตอนนี้ ฉันกำลังพยายามเพิ่มบางอย่างเพื่อให้คุณสามารถใช้กับการยืนยันด้วยตนเองได้ ฉันไม่สามารถแจ้งเตือนด้วยกล่องคำสั่งป๊อปอัปเพียงครั้งเดียวต่อคำสั่งซื้อใหม่ ด้วยวิธีนี้ จะสามารถยกเลิกการเลือกได้ และ EA จะเข้ามาโดยไม่ต้องดำเนินการใดๆ หากตรวจสอบแล้ว คุณจะต้องยืนยันคำสั่งซื้อก่อนที่จะทำการสั่งซื้อ

    ฉันไม่ได้แนบ EA ด้วยเหตุผลบางประการ

    1) ยังไม่เสร็จ
    2) ฉันถูกโกหกมาก! โดยคนที่บอกว่าพวกเขาจะช่วยขโมยรหัสเท่านั้นและจะไม่ตอบกลับฉันอีก
    3) คุณไม่จำเป็นต้องมีรหัส EA เพื่อบอกวิธีเพิ่มรหัสสองสามบรรทัดที่จะทำให้มันแจ้งเตือนเพียงครั้งเดียวต่อสัญญาณ


    นี่คือสิ่งที่ฉันมีในรหัสในขณะนี้เนื่องจากใช้งานได้กับ indiors แต่ดูเหมือนจะไม่ทำงานบน EA ความช่วยเหลือใด ๆ จะดีมาก

    ขอบคุณ


    ถ้า(OrdersTotal()lt;MaxOrders)
    {
    ถ้า(สัญญาณซื้อ==จริง)
    {
    ถ้า (การจัดการความเสี่ยง) {
    ล็อต=GetLots(BSL,StopLoss,margin);//การคำนวณความเสี่ยง
    }
    ถ้า (UseRiskRewardTakeProfit) {
    TakeProfit = NormalizeDouble(RiskRewardTakeProfit_Ratio * StopLoss,0);
    }
    ถ้า (margin gt; 75) กลับมา;/ถ้ามาร์จิ้นไม่พอก็ไม่ต้องทำอะไร
    if(HideSL==falseStopLossgt;0){SL=Ask-StopLoss*pointz;/*OPP=Bid-StopLoss*pointz;SLP=Bid;*/}else {SL=0;/*SLP=0;*/}
    if(HideTO==false TakeProfit gt;0){TO=Ask TakeProfit*pointz;/*TPP=Bid-(TakeProfit*2)*pointz;*/}อื่น {TP=0;/*TPP=0;*}
    ถ้า(HideSL==falseHedgeSLgt;0)SLH=Bid HedgeSL*pointz;else SLH=0;
    ถ้า(HideTP==falseHedgeTPgt;0)TPH=Bid-HedgeTP*pointz;else TPH=0;
    ในขณะที่ (Ticketlt;=0 numberlt;tries){
    ถ้า (ECN) {
    if (TimeOpen lt; Time[0])/ฉันสามารถแลกเปลี่ยนแถบนี้
    เวลาเปิด = เวลา[0];
    Ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,0,0,EAName,Magic,0,สีน้ำเงิน);
    if(Ticketgt;0) ecnmodify(OP_BUY, ตั๋ว, การเสนอราคา, SL, TP);
    } อื่น {
    if (TimeOpen lt; Time[0])/ฉันสามารถแลกเปลี่ยนแถบนี้
    เวลาเปิด = เวลา[0];
    Ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,SL,TP,EAName,Magic,0,สีน้ำเงิน);
    //if(Hedge)TicketH=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,SLH,TPH,EAName,Magic,0,สีแดง);
    //if(ReverseAtStopStopLossgt;0)TicketP=OrderSend(Symbol(),OP_SELLSTOP,Lots,OPP,Slippage,SLP,TPP,EAName,Magic,Expire,Red);*/
    }
    ถ้า(Ticketlt;=0) หมายเลข ;
    }
    }
    }

    ถ้า(สัญญาณขาย==จริง)
    {
    ถ้า (การจัดการความเสี่ยง) {
    ล็อต=GetLots(SSL,StopLoss,margin);//การคำนวณความเสี่ยง
    }
    ถ้า (UseRiskRewardTakeProfit) {
    TakeProfit = NormalizeDouble(RiskRewardTakeProfit_Ratio * StopLoss,0);
    }
    ถ้า (margin gt; 75) กลับมา;/ถ้ามาร์จิ้นไม่พอก็ไม่ต้องทำอะไร
    if(HideSL==falseStopLossgt;0){SL=Bid (StopLoss*pointz);/*OPP=Ask StopLoss*pointz;SLP=Ask;*/}else {SL=0;/*SLP=0;*/}
    if(HideTP==falseTakeProfitgt;0){TP=Bid-TakeProfit*pointz;/*TPP=Ask (TakeProfit*2)*pointz;*/}else {TP=0;/*TPP=0;*/}
    if(HideSL==falseHedgeSLgt;0)SLH=ถาม-HedgeSL*pointz;else SLH=0;
    if(HideTP==falseHedgeTPgt;0)TPH=ถาม HedgeTP*pointz;else TPH=0;
    ในขณะที่ (Ticketlt;=0 numberlt;tries){
    ถ้า (ECN) {
    if (TimeOpen lt; Time[0])/ฉันสามารถแลกเปลี่ยนแถบนี้
    เวลาเปิด = เวลา[0];
    Ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,0,0,EAName,Magic,0,สีแดง);
    if(Ticketgt;0) ecnmodify(OP_SELL, ตั๋ว, การเสนอราคา, SL, TP);
    } อื่น {
    if (TimeOpen lt; Time[0])/ฉันสามารถแลกเปลี่ยนแถบนี้
    เวลาเปิด = เวลา[0];
    Ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,SL,TP,EAName,Magic,0,สีแดง);
    //if(ป้องกันความเสี่ยง)TicketH=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,SLH,TPH,EAName,Magic,0,Blue);
    //if(ReverseAtStopStopLossgt;0)TicketP=OrderSend(Symbol(),OP_BUYSTOP,Lots,OPP,Slippage,SLP,TPP,EAName,Magic,หมดอายุ,สีแดง);
    }
    ถ้า(Ticketlt;=0) หมายเลข ;
    }
    }
    if(Ticketlt;0) พิมพ์(เกิดข้อผิดพลาดในการเปิดคำสั่ง! ,errordescription(GetLastError()));
    }
    }
    กลับ(0);

  2. #2
    วันที่และเวลาคงที่ LastBuySignal; if (iBarShift (NULL, 0, LastBuySignal, False) gt; 0) {//ส่งสัญญาณซื้อใหม่ LastBuySignal = TimeCurrent (); }

  3. #3

    Quote Originally Posted by ;
    ไม่ใช่ว่า EA สามารถลองเปิดคำสั่งซื้อกลางบาร์ได้ แต่รหัสที่ฉันให้ไว้จะทำตามที่คุณต้องการ
    EA มองหาเฉพาะคำสั่งซื้อที่ปิดบาร์เท่านั้น ดังนั้นฉันจึงรู้ว่านั่นไม่ใช่ปัญหาเพราะเมื่อฉันเรียกใช้มันจะสั่งซื้อเมื่อสัญญาณเกิดขึ้นและแถบนั้นปิดลงเท่านั้น

  4. #4

    Quote Originally Posted by ;
    จำกัด EA ให้ส่งสัญญาณซื้อ/ขายหนึ่งครั้งต่อแท่ง
    ฉันมีสิ่งนี้ใน EA แต่ดูเหมือนว่าจะไม่ทำงานอย่างถูกต้องทั้ง datetime PreviousBarTime1; datetime PreviousBarTime2;/ทั้งสองอยู่ภายใต้พารามิเตอร์ภายในที่ด้านบนของโค้ด/ ----------------------------------------------------------- ------------------- /| อนุญาตหนึ่งการกระทำต่อบาร์ |/ ----------------------------------------------------------- ------------------- บูล NewBarBuy() { if(PreviousBarTime1lt;Time[0]) { PreviousBarTime1=Time[0]; ผลตอบแทน(จริง); } ผลตอบแทน (เท็จ); } บูล NewBarSell() { if (PreviousBarTime2lt;Time[0]) { PreviousBarTime2=Time[0]; ผลตอบแทน(จริง); } ผลตอบแทน (เท็จ); } และฉันเพิ่ม if(SignalBUY==trueNewBarBuy()) หรือ if(SignalSELL==trueNewBarSell())

  5. #5
    ไม่ใช่ว่า EA สามารถลองเปิดคำสั่งซื้อกลางบาร์ได้ แต่รหัสที่ฉันให้ไว้จะทำตามที่คุณต้องการ
    Quote Originally Posted by ;
    คุณบอกว่าฉันใช้คู่มือนี้ไม่ได้เพื่อยืนยันว่า MT4 มี...ใช่ไหม
    Quote Originally Posted by ;
    คุณบอกว่าฉันใช้คู่มือนี้ไม่ได้เพื่อยืนยันว่า MT4 มี...ใช่ไหม

  6. #6

    Quote Originally Posted by ;
    จำกัด EA ให้ส่งสัญญาณซื้อ/ขายหนึ่งครั้งต่อแท่ง
    นั่นคือสิ่งที่ฉันพยายามจะทำ แต่ฉันไม่มีแบ็คกราวด์การเข้ารหัส lol... ดังนั้นฉันจึงไม่รู้ว่าต้องทำอย่างไร ฉันคิดว่า TimeOpen[0] จะใช้งานได้เพราะฉันใช้สิ่งนี้บน OHLC indior เมื่อฉันเพิ่ม การแจ้งเตือนไปยังมัน indiors ที่ฉันยุ่งด้วยนั้นง่ายต่อการคัดลอกและวางการเข้ารหัส ... ซึ่งใช้ได้ผลดีถ้าฉันพูดอย่างนั้นเอง lol

  7. #7

    Quote Originally Posted by ;
    ตกลง - คิดว่าฉันเข้าใจในกรณีนั้น คุณต้องย้ายการตรวจสอบเวลาของคุณเป็นบางอย่างเช่น if (Signal == SELL) { if (TimeOpen == Time[0]) return;/ลองใช้แถบนี้แล้ว TimeOpen = Time[0]; int li_ans = MessageBox(คุณต้องการเปิดคำสั่งขายนี้ที่ xxx, ยืนยันการขาย, MB_YESNO|ICON_QUESTION); ถ้า (li_ans != 1) กลับมา;/OK/Yes ไม่ได้กด ... ... รหัสที่เหลือ จากนั้นจะพยายามเปิดคำสั่งในครั้งแรกเท่านั้น หากผู้ใช้ไม่กด OK เพื่อเปิดคำสั่ง ติ๊กต่อไปจะไม่อนุญาตให้รูทีน วิ่งเพราะ TimeOpen...
    คุณบอกว่าฉันใช้คู่มือนี้ไม่ได้เพื่อยืนยันว่า MT4 มี...ใช่ไหม

  8. #8
    จำกัด EA ให้ส่งสัญญาณซื้อ/ขายหนึ่งครั้งต่อแท่ง

  9. #9
    ตกลง - คิดว่าฉันเข้าใจในกรณีนั้น คุณต้องย้ายการตรวจสอบเวลาของคุณเป็นบางอย่างเช่น if (Signal == SELL) { if (TimeOpen == Time[0]) return;/ลองใช้แถบนี้แล้ว TimeOpen = Time[0]; int li_ans = MessageBox(คุณต้องการเปิดคำสั่งขายนี้ที่ xxx, ยืนยันการขาย, MB_YESNO|ICON_QUESTION); ถ้า (li_ans != 1) กลับมา;/OK/Yes ไม่ได้กด ... ... รหัสที่เหลือ จากนั้นจะพยายามเปิดคำสั่งในครั้งแรกเท่านั้น หากผู้ใช้ไม่กด OK เพื่อเปิดคำสั่ง ติ๊กต่อไปจะไม่อนุญาตให้รูทีน ทำงานเพราะ TimeOpen จะเท่ากับแถบปัจจุบัน แน่นอนว่าคุณต้องจำไว้ว่า TimeOpen จะต้องถูกกำหนดทั้งแบบทั่วโลกหรือแบบคงที่

  10. #10
    สวัสดี Dredding รู้สึกสับสนเล็กน้อยกับโพสต์ของคุณ แต่ฉันเข้าใจเพราะคุณต้องการมี EA ที่จะเปิดการซื้อขาย อย่างไรก็ตาม คุณต้องการให้ผู้ใช้มีความสามารถในการยืนยันด้วยตนเองว่าควรวางการค้าหากจำเป็น หากถูกต้องก็ไม่จำเป็นต้องเข้ารหัส MT4 สามารถจัดการได้โดยอัตโนมัติ เมื่อคุณโหลด EA บนแผนภูมิ (หรือกด F7 ด้วย EA บนแผนภูมิ) ให้เลือกแท็บ ทั่วไป และทำเครื่องหมายที่ช่องยืนยันด้วยตนเอง จากนั้น EA จะขอให้คุณยืนยันสำหรับการซื้อขายใหม่แต่ละครั้ง

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

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