[討論] 請教 mt4 設定停利的問題

看板Trading作者 (唯心而已)時間10年前 (2013/08/14 00:44), 編輯推噓2(206)
留言8則, 2人參與, 最新討論串1/1
反覆看了好久 還是找不到為什麼沒有停利 請問高手是否有看出甚麼問題 // 下買單 ticket_buy = OrderSend(Symbol(), OP_BUY, lots, Ask, 3, 0, 0, "買進", id, 0, Blue); // 如果有成交設定停損停利 if(ticket_buy > 0) { // check 50% profit double high = High[iHighest(Symbol(), 0, MODE_HIGH, green, 1)]; double low = Low[iLowest(Symbol(), 0, MODE_LOW, green, 2)]; double fifty_precent = (high - low) / 2; set_take_profit(fifty_precent); bars = Bars; } 實作設定停利 void set_take_profit(double take_profit) { double stoploss, takeprofit; for(int z =0;z<OrdersTotal();z++)//透過FOR函式執行訂單挑選次數 { OrderSelect(z,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol() == Symbol() && OrderType() == OP_BUY && OrderMagicNumber() == id)//挑選出符合條件的訂單 { if(sl>0)//如果有設停損 stoploss = OrderOpenPrice()-sl;//停損價為進場價格減去停損點數 else stoploss = OrderStopLoss();//維持原先停損價格 if(take_profit>0)//如果有訂停利 takeprofit = OrderTakeProfit()+take_profit; else takeprofit = OrderTakeProfit();//維持停利價格 OrderModify(OrderTicket(),OrderOpenPrice(),stoploss,takeprofit,0,White); } } } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.51.161.16

08/14 00:59, , 1F
green為integer?
08/14 00:59, 1F

08/14 01:02, , 2F
是的 是找 green 根 k 的高低一半做停利
08/14 01:02, 2F

08/14 01:03, , 3F
extern int green = 180;
08/14 01:03, 3F

08/14 01:05, , 4F
想辦法把變數都print出來 還有order相關指令都輸出error
08/14 01:05, 4F

08/14 01:20, , 5F
我知道為什麼了
08/14 01:20, 5F

08/14 01:20, , 6F
takeprofit = OrderTakeProfit()+take_profit;
08/14 01:20, 6F

08/14 01:21, , 7F
應該是 takeprofit = OrderOpenPrice()+take_profit;
08/14 01:21, 7F

08/14 01:26, , 8F
謝謝 Sunal 大提醒了我 Order 的 error
08/14 01:26, 8F
文章代碼(AID): #1I2c9UMa (Trading)