Advertisement
Guest User

bs

a guest
Dec 24th, 2024
43
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.38 KB | None | 0 0
  1. function buySwitch() {
  2. var marketSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Market Direction');
  3. var indexSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('INDEX Composite');
  4.  
  5. // Ανάκτηση όλων των δεδομένων από τις στήλες B έως I σε μία κλήση
  6. var marketData = marketSheet.getRange('B2:I' + marketSheet.getLastRow()).getValues();
  7.  
  8. // Ανάκτηση των δεδομένων από τη στήλη O του INDEX Composite
  9. var distributionDaysCount = indexSheet.getRange('O2:O' + indexSheet.getLastRow()).getValues();
  10.  
  11. var buySwitchValues = []; // Δημιουργία πίνακα για τα αποτελέσματα (Στήλη F)
  12. var buySwitch = "OFF"; // Αρχικοποίηση του Buy Switch
  13.  
  14. // Διατρέχουμε τα δεδομένα
  15. for (var i = 0; i < marketData.length; i++) {
  16. var dataCheck = marketData[i][0]; // Στήλη B
  17. var buySignals = marketData[i][2]; // Στήλη D
  18. var sellSignals = marketData[i][3]; // Στήλη E
  19. var powerTrend = marketData[i][6]; // Στήλη H
  20. var marketCount = marketData[i][7]; // Στήλη I
  21.  
  22. // Ελέγχουμε αν υπάρχουν δεδομένα στη στήλη B. Αν όχι, σταματάμε.
  23. if (!dataCheck) {
  24. break;
  25. }
  26.  
  27. // Ελέγχει αν υπάρχει "Follow-Through Day" (B1 -> Buy Switch ON)
  28. if (buySignals.split(',').map(item => item.trim()).includes('B1')) {
  29. buySwitch = "ON";
  30. }
  31.  
  32. // Ελέγχει αν το Power Trend είναι "ON / F +2"
  33. if (powerTrend === 'ON / F +2') {
  34. buySwitch = "ON";
  35. }
  36.  
  37. // Ελέγχει για συνθήκες που απενεργοποιούν το Buy Switch
  38. if (distributionDaysCount[i] && distributionDaysCount[i][0] >= 6 && marketCount === 0 && powerTrend === 'OFF') {
  39. buySwitch = "OFF";
  40. }
  41.  
  42. if (sellSignals.indexOf('S2-MAJOR') > -1 || sellSignals.indexOf('CB') > -1) {
  43. buySwitch = "OFF";
  44. }
  45.  
  46. // Προσθέτουμε το τρέχον αποτέλεσμα στον πίνακα buySwitchValues
  47. buySwitchValues.push([buySwitch]);
  48. }
  49.  
  50. // Εισαγωγή όλων των αποτελεσμάτων στη στήλη F με μία μόνο κλήση
  51. marketSheet.getRange(2, 6, buySwitchValues.length, 1).setValues(buySwitchValues);
  52. }
  53.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement