顯示廣告
隱藏 ✕
看板 Programming
作者 Redjack (傑克)
標題 [求助] c++問題
時間 2015-06-24 Wed. 09:09:06


Open[0]-Close[0]==10*Point
↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
請問這一句的意思 為什麼程式不會有動作?

Open[0]-Close[0]<10*Point
↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
修改成大於或小於就會正常動作

但是我只要他達到我想要的位子上時動作 其它位子都不要
我該如果命令他?

--

啥?什麼?!


--
※ 作者: Redjack 時間: 2015-06-24 09:09:06
※ 看板: Programming 文章推薦值: 1 目前人氣: 0 累積人氣: 1195 
( ̄︶ ̄)b piece601 說讚!
1樓 時間: 2015-06-24 16:15:34 (台灣)
  06-24 16:15 TW
你應該說一下裡面是存甚麼,預期結果是甚麼,跑出來的結果是甚麼...
2樓 時間: 2015-06-24 19:48:37 (台灣)
  06-24 19:48 TW
我裡面的內容大約是:
開始執行 帳戶內訂單不等於3 開市價-閉市價=10點(Open[0]-Close[0]==10*Point) 則下訂單買 結束
3樓 時間: 2015-06-24 19:50:41 (台灣)
  06-24 19:50 TW
然後我預期結果是:希望他開市價-閉市價=10點 下單 其它位子不下單
然後跑出來的結果是:沒有任何動作,但把"等於"修改成"大於or小於"則會下單,連大於等於or小於等於都不會下單 只要有等於他就不下單了
4樓 時間: 2015-06-25 03:44:34 (台灣)
  06-25 03:44 TW
你可以把程式碼 稍微寫一下嗎 ....
5樓 時間: 2015-06-26 11:59:56 (台灣)
+1 06-26 11:59 TW
extern double lot=0.1;  //自定义
extern double sl=200;  //自定义
extern double tp=200;  //自定义
extern double sp=30;  //自定义
int start() { if( OrdersTotal()!=3 && Open[0]-Close[0]==10*Point && Open[0]-Close[0]==10*Point
){ OrderSend(Symbol(),OP_SELL,lot,Bid,sp,Bid+sl*Point,Bid-tp*Point,"macd sample",16384,0,Red); }
if( OrdersTotal()!=3 && Close[0]-Open[0]==10*Point && Close[0]-Open[0]==10*Point
){ OrderSend(Symbol(),OP_BUY,lot,Ask,sp,Ask-sl*Point,Ask+tp*Point,"macd sample",16384,0,Green); }
return(0); }
6樓 時間: 2015-06-26 14:53:21 (台灣)
  06-26 14:53 TW
你if判斷式裡面為什麼要連續判斷兩次Open[0]-Close[0]==10*Point? 
如果我沒會錯意的話 你if裡面 要同時符合 
OrdersTotal()!=3
 Open[0]-Close[0]==10*Point
 Open[0]-Close[0]==10*Point
才會做裡面的東西
7樓 時間: 2015-06-28 11:02:59 (台灣)
  06-28 11:02 TW
打錯 之前是打"<="&">=",只要有等於的出現就不會有動作
8樓 時間: 2015-07-11 13:49:56 (台灣)
  07-11 13:49 TW
你用PRINTF把10*point和open[0]-Close[0]的值都印出來看,就知道條件到底有沒有成立了
9樓 時間: 2015-07-22 00:13:18 (台灣)
  07-22 00:13 TW
我認為是浮點數問題 兩邊都取整數 應該就可以得知了
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇