我使用All Data Everywhere將某一變數從Chart1傳至Chart2,程式碼寫好出現error如下: message: Error in study "訊號名稱" Company: "Bamboo" Error location: "ADE" Error category: "ADE Error" Short string: "ADE Error" Source string: "No data available for Class 'Chart1 symbol',Chart2 symbol,1min"
想問一下,使用ADE傳變數前,需要產生一個文字檔,檔名是程式碼所宣告的Class name,存放在C:\ADE\Classes嗎 ? (我的訊號程式碼裡面是分成兩個Chart的買賣訊號,用If 和 getsymbonamel來進行) 程式碼大致如下:
Vars: Class("AAA"),InfoMap(MapSN.New); Vars: aver(0), transportvalue(0); If getsymbolname of data1 = "A" then begin value1 = Close of data1; value2 = Close of data2; If MarketPosition(0) = 0 then begin Sellshort 4 contracts next bar at Market; end; aver = avgentryprice; value3 = currentcontracts*MarketPosition(0); value7 = MapSN.Put(InfoMap, "Fixvalue", aver); value7 = ADE.PutBarInfo(Class, "A", ADE.BarInterval,ADE.BarID, InfoMap); end; If getsymbolname of data1 = "B" then begin value1 = Close of data1; value2 = Close of data2; value7 = ADE.GetBarInfo(Class, "A", 1, ADE.BarID, InfoMap); aver = MapSN.Get(InfoMap, "Fixvalue"); Buy 1 contracts next bar at aver Limit; end;
到底是哪裡出了問題?? 我每次compile之後,就出現警告,Signals就會在symbol "B" 裡消失(變成off),但在重新把Signals開啟(變成on),居然又可以傳值(從print出的數字可以看到),但如果又重新compile,就出現警告,Signals就會消失....>___<
那...所以不能寫在同一支程式裡面囉?? 可能要改成什麼方式進行,才不會有error ?
你把第二個圖使用的程式的"狀態" 重新 on 起來就可以了
它只是不能同時從頭執行,分時重新執行應該是可以的
你先試看看是否這樣就能解決