請問下方寫法,為什麼程式跑不進Chart B,線圖也已經出現放空4口,所以currentcontracts*MarketPosition(0)應該等於-4,這樣就應該會進入 If getsymbolname of data1 = "B" ,不是嗎? If getsymbolname of data1 = "A" then begin value1 = Close of data1; value2 = Close of data2; If value1 - value2 > 1 and MarketPosition(0) < 12 then begin Sellshort 4 contracts next bar at Market; end; If currentcontracts*MarketPosition(0) = -4 then begin If getsymbolname of data1 = "B" then begin value1 = Close of data1; value2 = Close of data2; Buy 1 contracts next bar at Market {aver Limit}; end; end; end;
你指的是 A圖有 -4口 還是B圖有-4口?
以程式看來 B圖上不會有-4口
而B圖看不到A圖的資訊,所以B圖不會進到BUY的程式區
If getsymbolname of data1 = "A" then begin value1 = Close of data1; value2 = Close of data2; If value1 - value2 > 1 and MarketPosition(0) < 12 then begin Sellshort 4 contracts next bar at Market; end; If currentcontracts*MarketPosition(0) = -4 then begin (A圖有了4口之後,這段應該會成立阿,難道說currentcontracts*MarketPosition(0)是指B的口數) If getsymbolname of data1 = "B" then begin (但程式卻不會進到下面這裡來) value1 = Close of data1; value2 = Close of data2; Buy 1 contracts next bar at Market {aver Limit}; end; end; end; 難道說,進到不同的Chart裡面,程式會去判斷各自Chart的保留字所儲存的數字(currentcontracts...之類),而不是從程式的順序上去判斷保留字所儲存的數字?
如果你是两张图套用仓位的话就要GV全局变量
難道說,進到不同的Chart裡面,程式會去判斷各自Chart的保留字所儲存的數字(currentcontracts...之類),而不是從程式的順序上去判斷保留字所儲存的數字?
是的,各程式自已的變數及部位資料都是專有的,別的程式看不到,也取不要
要用GV或ADE等外掛功能,才能達成跨程式互傳資料的功能
我如果沒有記錯的話MarketPosition = 0 是空手,MarketPosition =1 是多單,MarketPosition = -1 是空單,只是用來判斷目前是空單還是多單
而currentcontracts是口數 所以 兩者相乘 會得到 空單有幾張(負數) 或是 多單有幾張(正數)
是的,但這指的是程式所在圖表上的部位,而不是帳戶中的總部位
各圖表有自已的部位記錄
謝謝討論區的各位,
瞭解囉!!
你可以應用 Data1、Data2 的觀念來處理就OK了!