traderider forex ไทย

รบกวนนิดนึงครับ....ช่วยหน่อยครับ

  • 3 replies
  • 713 views

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

*

ออฟไลน์ lightnow

  • *
  • 25
  • 3

รบกวนนิดนึงครับ....ช่วยหน่อยครับ

« เมื่อ: 30, มกราคม 2019, 01:00:04 PM »
ขอคำแนะนำหน่อยครับ พอดีทำ PipStep ที่ 500 แล้ว order จะเปิด
- อยากได้ เมื่อเปิดครั้งต่อไปให้ Multi_PipStep *1.5เท่า ไปเรื่อยๆ ต้องเขียนยังไงหรอครับ...งมอยู่นานแล้วครับ ผมลองเอาโค๊ดมาแก้เองครับ

void OnTick()
  {
  ob();
//------------------
  if(AllProfit_Buy()+AllProfit_Sell() >= closeallprofit_port)
{
double all_p = AllProfit_Buy()+AllProfit_Sell();
Print("Close All Profit (all orders) : "+DoubleToStr(all_p,2));
Close_Buy();
Close_Sell();
}
//----
 
//---
   if(Count_Trade_by_side(OP_BUY)+Count_Trade_by_side(OP_SELL)<1)
   {
   if(Trade_direction == OP_BUY){OpenBuy(Lot);}
   if(Trade_direction == OP_SELL){OpenSell(Lot);}
   }
//--------------------
double spread_ = MarketInfo(NULL,MODE_SPREAD);
   if(Count_Trade_by_side(OP_SELL)<1 && check_pipBuy()-spread_>=0 && Count_Trade_by_side(OP_BUY) >0)
   {
   if(Count_Trade_by_side(OP_SELL) < maxorder){OpenSell(Lot);}
   }
   if(Count_Trade_by_side(OP_BUY)<1 && check_pipSell()-spread_ >=0 && Count_Trade_by_side(OP_SELL) >0)
   {
   if(Count_Trade_by_side(OP_BUY) < maxorder){OpenBuy(Lot);}
   }   
//--------------------
double spread = MarketInfo(NULL,MODE_SPREAD)*digit;
for(int i=OrdersTotal();i>=0;i--)
  {
      bool chk  = OrderSelect(i, SELECT_BY_POS,MODE_TRADES);
       if(OrderMagicNumber() == MagicNumber)
       if(OrderSymbol()==Symbol())
      {
      double opprice = OrderOpenPrice();
      int tick = OrderTicket();
      double _lot = OrderLots();
      int kkt = StrToInteger(OrderComment());
     
        if(OrderType()==OP_BUY )
        {
         if((Bid - (opprice-spread)) <= (-pipstep*digit))
         if(chk_ticket(tick) && Count_Trade_by_side(OP_BUY) < maxorder )
         
     
         {
         double lot_buy = NormalizeDouble(_lot+Lot_multiply,2);
         if(lot_buy > MaxLot){lot_buy = NormalizeDouble(_lot+Multi_Maxlot,2);}
            ticket = OrderSend(Symbol(),OP_BUY,lot_buy,Ask,3,0,0,IntegerToString(tick),MagicNumber,0,clrGreen);

         }
        }
        //----
        if(OrderType()==OP_SELL && Count_Trade_by_side(OP_SELL) < maxorder )
        {
        if((opprice-spread) - Ask <=  (-pipstep*digit))
        if(chk_ticket(tick))
       
         {
         double lot_sell = NormalizeDouble(_lot+Lot_multiply,2);
         if(lot_sell > MaxLot){lot_sell = NormalizeDouble(_lot+Multi_Maxlot,2);}
          ticket = OrderSend(Symbol(),OP_SELL,lot_sell,Bid,3,0,0,IntegerToString(tick),MagicNumber,0,clrRed);
         }
        }
      }
  }

Share Topic.

Follow Me.


traderider forex ไทย
traderider forex ไทย
traderider forex ไทย
*

ออฟไลน์ iRuler

  • *
  • 1,229
  • 39

Re: รบกวนนิดนึงครับ....ช่วยหน่อยครับ

« ตอบกลับ #1 เมื่อ: 30, มกราคม 2019, 02:14:25 PM »
code compile ไม่ผ่านครับ และไม่เข้าใจคำถามนะครับ (TH)**

*

ออฟไลน์ lightnow

  • *
  • 25
  • 3

Re: รบกวนนิดนึงครับ....ช่วยหน่อยครับ

« ตอบกลับ #2 เมื่อ: 30, มกราคม 2019, 03:27:18 PM »
code compile ไม่ผ่านครับ และไม่เข้าใจคำถามนะครับ (TH)**
เมื่อเปิด Buy 0.01 จากราคาเปิด แล้วราคาลงมาที่ 500 pip จะทำการเปิด Buy 0.01 และถ้าลงมาอีก 500 pip ให้ *1.5 เข้าไป ถึงจะเปิด Buy 0.01 อีกทีนะครับ
input int pipstep = 500
input double Multi_pipstep = 1.5

*** มันต้องเพิ่มโค็ดอะไรเข้าไปหรอครับ *****

-- ผมไม่ได้ส่งให้ทั้งหมดครับแต่คิดว่า น่าจะแก้ประมาณแถวๆนี้ครับ
« แก้ไขครั้งสุดท้าย: 30, มกราคม 2019, 03:29:44 PM โดย lightnow »

*

ออฟไลน์ isuccess

  • *
  • 26
  • 2

Re: รบกวนนิดนึงครับ....ช่วยหน่อยครับ

« ตอบกลับ #3 เมื่อ: 07, กุมภาพันธ์ 2019, 03:31:05 PM »
void getMoreOrder() {
   if (chkTotalSymbol(OP_BUY) > 0 && PointStep > 0 && chkTotalSymbol(OP_BUYSTOP)==0 && chkTotalSymbol(OP_BUY) < MaxOrder) {if (Ask < getLastPrice(OP_BUY)-Point*PointStep) {OrderBuyStop();}}
   if (chkTotalSymbol(OP_SELL) > 0 && PointStep > 0 && chkTotalSymbol(OP_SELLSTOP)==0 && chkTotalSymbol(OP_SELL) < MaxOrder) {if (Bid > getLastPrice(OP_SELL)+Point*PointStep) {OrderSellStop();}}}

เพิ่มตัวเช็ค ราคาล่าสุดที่ออกไม้ไป

double getLastPrice(int t) {
   double countChk=0;
   int chkFirst = 0;
   for(int x=OrdersTotal()-1;x>=0;x--){
      if(OrderSelect(x,SELECT_BY_POS)==true) {if(OrderSymbol()==Symbol()) { if (OrderType() == t) {if (chkFirst == 0) {countChk = OrderOpenPrice(); chkFirst++;}}}}
   }return(countChk);}

Tags:
 

เครื่องมือเทรด Forex

ข่าว Forex กราฟ Forex EURUSD GBPUSD GBPJPY ตารางข่าว Forex

เครื่องมือเทรดทองคำ

ราคาทอง วันนี้ ราคาทอง ย้อนหลัง SPDR ล่าสุด กราฟราคาทองคำ วิเคราะห์ ราคาทอง ข่าว ราคาทองคำ ข่าว ราคาน้ำมัน

โบรคเกอร์ Forex

XM Exness FBS Nordfx Land-FX Admiral Markets

Tickmill